不平衡資料處理

2021-09-29 14:19:26 字數 1497 閱讀 8834

在做實驗中遇到了非平衡資料集,導致實驗結果很憂傷,資料類別不均對模型訓練有挺大影響,尤其是在類別極度不均的時候。目前還沒有很好的解決方法,還處於查詢資料,比著葫蘆找葫蘆的過程中,記錄一下,或許能有所啟發。

對於不平衡資料,其實類別精度(precise)和召回率(recall),或者是準確率(accuracy)這些指標並不能很好的反映出來效果如何。比如97個正樣本,3個負樣本,在識別的時候,全部識別為正樣本,則準確率就會達到97%,但是乙個負樣本都木有檢測出來,如果用作異常檢測,這也是毫無作用的。

從知乎專欄找了有關評價標準的一些表述,感覺很通俗易懂,借鑑一下,若侵犯版權,請告知,刪掉。

混淆矩陣、精度、召回率和 f1

在處理分類問題時,乙個很好且很簡單的指標是混淆矩陣(confusion matrix)。該指標可以很好地概述模型的運**況。因此,它是任何分類模型評估的乙個很好的起點。上圖總結了從混淆矩陣中可以匯出的大部分指標:

準確率(accuracy)就是正確**的數量除以**總數;

類別精度(precision)表示當模型判斷乙個點屬於該類的情況下,判斷結果的可信程度。

類別召回率(recall)表示模型能夠檢測到該類的比率。

類別的 f1 分數是精度和召回率的調和平均值(f1 = 2×precision×recall / (precision + recall)),f1 能夠將乙個類的精度和召回率結合在同乙個指標當中。

個人對類別精度或者精準度的理解:精準度,在於乙個「準」字,主要是看你挑的準不准,以西瓜書上的例子來說,從一堆西瓜裡面挑出來了10個好瓜,精準度就是來說明你挑的準不准,10個好瓜裡面到底真的有幾個是好的,如果有7個是好的,那麼精準度就是70%。

個人對召回率的理解:召回率,在於乙個「回」字,主要是看你挑的全不全,能不能把好西瓜給找全,還是以西瓜書上的例子來說,一堆西瓜裡面有多少好瓜被你跳出來了,比如一共15個好瓜,你挑出來的10個「好瓜」裡面有7個是真正好的,那麼召回率就是7/15

對於不平衡資料,輸出多數類會帶來更高的分類準確率,但在我們所關注的少數類中表現不佳。

auc(areaunderroc):是乙個模型評價指標,只能用於二分類模型的評價。auc即roc曲線下的面積,而roc曲線的橫軸是fprate,縱軸是tprate。

auc只能用來評價二分類

auc非常適合評價樣本不平衡中的分類器效能

auc會比較**出來的概率,而不僅僅是標籤類別

類別不平衡資料處理

1 不平衡資料處理教程 1 2 3 4 2 不平衡資料分類演算法 1 over sampling 隨機過取樣 smote adasyn 臨界smote演算法 svm smote等。2 under sampling 隨機欠取樣 enn renn allknn等。3 combination smotet...

資料處理之資料不平衡問題

資料不平衡,又稱樣本比例失衡。對於二分類問題,在正常情況下,正負樣本的比例應該是較為接近的,很多現有的分類模型也正是基於這一假設。但是在某些特定的場景下,正負樣本的比例卻可能相差懸殊,如社交網路中的大v判斷 電商領域的惡意差評檢測 金融領域的欺詐使用者判斷 風控領域的異常行為檢測 醫療領域的腫瘤診斷...

如何處理不平衡資料

過取樣 過擬合 學習到小類別樣本中的雜訊 欠取樣 欠擬合 丟失大類別樣本中的重要資料 找到小類別樣本中的k個近鄰,然後在他們之間的連線上取點,作為新的樣本。缺點 容易過擬合 其與smote的不同是 smote是對每乙個minority樣本產生綜合新樣本,而borderline smote僅對靠近邊界...