機器學習:處理不平衡資料的5個重要技術
資料分佈不平衡是機器學習工作流中的一個重要問題。所謂不平衡的資料集,意思就是兩個類中一個類的例項比另一個要高,換句話說,在一個分類資料集之中,所有類的觀察值的數量是不一樣的。這個問題不僅存在於二進位制類資料中,也存在於多類資料中。
本文中將列出一些重要的技術,幫助您處理不平衡的資料。
1、過取樣(Oversampling)
此技術用於修改不相等的資料類以建立平衡的資料集。當資料量不足時,過取樣法透過增大稀有樣本的大小來達到平衡。
過取樣的一種主要技術是SMOTE(合成少數過取樣技術,Synthetic Minority Over-sampling TEchnique)。在這種技術中,少數類是透過生成合成算例而不是透過替換來進行過取樣的,而且對於每一個少數類的觀察值,它都計算出k最近鄰(k-NN)。但這種方法僅限於假設任意兩個正例項之間的區域性空間屬於少數類、訓練資料不是線性可分的情況下,這種假設可能並不總是正確的。根據所需的過取樣量,隨機選擇k-NN的鄰域。
優勢
·無資訊損失
·減少過度取樣引起的過擬合。
深入研究SMOTE技術,請點選 。
2、欠取樣(Undersampling)
與過取樣不同,這種技術透過減少類的數量來處理一個不平衡的資料集。分類問題有多種方法,如聚類中心和Tomek links。聚類中心方法用K-means演算法的聚類中心代替樣本的聚類;Tomek link方法去除類之間不需要的重疊,直到所有最小距離的最近鄰都屬於同一個類。
優勢
·可以透過減少訓練資料集的數量來改進執行時。
·有助於解決記憶問題
有關欠取樣的更多資訊,請單擊 。
3、成本敏感學習技術(Cost-Sensitive Learning)
成本敏感學習(CSL)透過最小化總成本來將誤分類成本加入考慮因素中,這種技術的目標主要是追求將例項分類為一組已知類時的高精度,它在機器學習演算法中發揮著重要的作用,包括現實資料探勘類應用。
該方法將FP(False Positive)、FN (False Negative)、TP (True Positive)、TN (True Negative)的成本表示為成本矩陣,如下圖所示,其中C(i,j)表示對例項進行分類的誤分類成本,“i”為預測類,“j”為實際類。這是一個二元分類的成本矩陣的例子。
優勢
·該方法避免了引數的預先選擇和決策超平面的自動調整。
深入瞭解CSL技術,請單擊 。
4、整合學習技術(Ensemble Learning)
這個基於整合的方法是處理不平衡資料集的另一種技術,整合技術是將多個分類器的結果或效能結合起來,以提高單個分類器的效能。該方法透過裝配不同的分類器來修改單個分類器的歸納能力。它主要結合了多個基礎學習器的輸出。整合學習有多種方法,如Bagging、Boosting等。
Bagging(Bootstrap Aggregating),試圖在較小的資料集上實現相似的學習器,然後取所有預測的平均值。Boosting (Adaboost)是一種迭代技術,它根據最後的分類調整觀察值的權重。該方法減少了偏置誤差,建立了較強的預測模型。
優勢
·這是一個更穩定的模型
·預測結果更好
瞭解有關此技術的更多資訊,請單擊 。
5、組合類方法(Combined Class Methods)
該方法將各種方法組合在一起,能夠更好地處理不平衡資料。例如,SMOTE可以與其他方法進行組合,如MSMOTE (Modified SMOTE)、SMOTEENN (SMOTE with edit Nearest neighbor)、SMOTE- tl、SMOTE- el等,來消除不平衡資料集中的噪聲。MSMOTE是SMOTE的改進版本,它將少數類的樣本分為三類,如安全樣本、潛伏噪聲樣本和邊界樣本。
優勢
·不丟失有用資訊
·很好的歸納
原文作者:AMBIKA CHOUDHURY 來源:Analytics India Magazine
來自 “ Analytics India Magazine ”,原文連結:http://blog.itpub.net/31545805/viewspace-2636135/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 機器學習中如何處理不平衡資料(imbalanced data)?機器學習
- 6種方式處理機器學習中不平衡的資料集 - svpino機器學習
- 機器學習一:資料預處理機器學習
- 用R處理不平衡的資料
- 機器學習:探索資料和資料預處理機器學習
- 機器學習筆記---資料預處理機器學習筆記
- 機器學習導圖系列(1):資料處理機器學習
- 機器學習中資料缺失的處理及建模方法機器學習
- 深度學習煉丹-不平衡樣本的處理深度學習
- 機器學習 第2篇:資料預處理(缺失值)機器學習
- 成功使用機器學習技術的3個技巧機器學習
- 小資料在機器學習中的重要性機器學習
- Python機器學習 5個資料科學家案例解析Python機器學習資料科學
- 機器學習 第3篇:資料預處理(使用插補法處理缺失值)機器學習
- 100天搞定機器學習|Day1資料預處理機器學習
- 機器學習中比較重要的幾個概念機器學習
- 訓練機器學習的資料集大小很重要 - svpino機器學習
- 機器學習中資料清洗的藝術機器學習
- 技術部落格丨我用深度學習做個視覺AI微型處理器!深度學習視覺AI
- 不平衡樣本的處理
- (轉)機器學習:偏差處理(2)機器學習
- 機器學習演算法筆記之6:資料預處理機器學習演算法筆記
- [原始碼解析] 機器學習引數伺服器Paracel (3)------資料處理原始碼機器學習伺服器
- MT2502處理器,MT2502晶片技術資料晶片
- MTK6737處理器,MT6737晶片技術資料晶片
- java大資料處理:如何使用Java技術實現高效的大資料處理Java大資料
- 八個機器學習資料清洗機器學習
- 隨機化處理技術隨機
- AI和機器學習、5G和物聯網將成為2021年重要的技術AI機器學習
- 5G、物聯網、人工智慧和機器學習將成為2021年最重要的技術人工智慧機器學習
- 深度學習--資料預處理深度學習
- SpringMVC入門學習---資料的處理SpringMVC
- 機器學習 第4篇:資料預處理(sklearn 插補缺失值)機器學習
- 33個機器學習常用資料集機器學習
- 深度學習——資料預處理篇深度學習
- 機器學習學習中,數學最重要!機器學習
- 大資料處理的關鍵技術及應用大資料
- 《Python機器學習手冊:從資料預處理到深度學習》Python機器學習深度學習