# 分類平衡

在二進位分類問題中，可能為兩個分類之一收集了更多資料。這種分類之間的不平衡會導致模型對於主要分類的學習內容多於次要分類。您可以使用分類平衡來改善模型。

## 什麼是分類平衡

在二進位分類的資料集中，有兩個分類。分類平衡是這些分類的相對頻率。

若您拋擲完全隨機的硬幣夠多次，就會取得完美平衡的兩組分類 (正面和反面) 。在完美平衡的情況下，平均分類值為 0.5 (其中一個分類是 1，而另一個分類是 0)。

兩個完美平衡的分類

兩個完美平衡的分類

兩個完美平衡的分類 ![具有兩個平衡分類的長條圖。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/class-balancing-1.png)

在許多情況下，分類平衡不會相等。這可能會導致模型對於主要分類的學習內容多於次要分類。

不相等平衡的分類範例

不相等平衡的分類範例

不相等平衡的分類範例 ![分類平衡不相等的長條圖。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/class-balancing-2.png)

## 比例偏差

模型可以猜測不平衡資料中的主要分類而變得非常準確。例如，若 95% 的網站訪客沒有進行購買，則模型可以表示沒有人會購買，如此便有 95% 的準確度。雖然模型會學習主要分類，但通常更重要的是學習次要分類。例如，為什麼其他 5% 的網站訪客會進行購買？

## 分類平衡的影響

若對資料執行分類平衡，您可能會取得更聚焦於特徵且進一步學習次要分類的模型。對模型的可能影響包括：

* F1 分數較高，因為次要分類的權重增加。

* 整體準確度分數略低，因為這沒有那麼依賴於比例偏差。

* 模型的資訊更多，因為這依賴於特徵以及如何辨識各個獨立的分類。SHAP 值在分類平衡模型中可能會提供更多資訊。

請注意，在小型資料集，分類平衡可能會導致損失特徵資料。此外，變更資料集中的比例後，有些資訊可能會遺失，讓模型預測產生偏差。

## 如何進行分類平衡

若要對資料進行分類平衡，首先需要找出什麼樣的理想平衡適合您的特定商務情況。可能需要從 80/20 到 50/50 之間的任何方式。平衡僅足以取得您需要的內容，因為過度調整分類平衡會導致過適模型。然後以手動鑑效組測試模型。

### 過度取樣

若次要分類沒有足夠的資料，通常需要進行過度取樣。

透過過度取樣，會新增資料記錄，以代表次要分類。具體而言，這涉及從次要分類中抽取多個樣本並將其新增至原始資料集。

結果是資料集中的主要和次要分類會較為均衡。

對次要分類 (藍色) 進行過度取樣，以取得與主要分類 (綠色) 相等的平衡

對次要分類 (藍色) 進行過度取樣，以取得與主要分類 (綠色) 相等的平衡

對次要分類 (藍色) 進行過度取樣，以取得與主要分類 (綠色) 相等的平衡 ![過度取樣說明。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/machine-learning_oversampling.png)

### 欠取樣

當資料過多時，請使用欠取樣，特別是對於主要分類。

透過欠取樣，會隨機取樣主要分類，如此一來，與次要分類就會有更好的平衡。數字說明如何在原始資料集從主要分類中取樣，以取得具有平衡分類的資料集。

對主要分類 (藍色) 進行欠取樣，以取得與次要分類 (綠色) 相等的平衡

對主要分類 (藍色) 進行欠取樣，以取得與次要分類 (綠色) 相等的平衡

對主要分類 (藍色) 進行欠取樣，以取得與次要分類 (綠色) 相等的平衡 ![欠取樣說明。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/machine-learning_undersampling.png)

## Qlik Predict 中的自動分類別平衡

本說明主題主要概述如何在需要時手動執行分類平衡。如果您使用智慧模型最佳化 (在新的 ML 實驗中預設為啟動) 訓練模型，Qlik Predict 會在訓練過程中自動執行分類平衡。

如需更多關於不平衡偵測以及所使用之具體處理情況的資訊，請參閱 [類別平衡](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/intelligent-model-optimization.htm#ClassBal)。