非平衡数据集的机器学习常用处理方法
定義:不平衡數(shù)據(jù)集:在分類等問題中,正負樣本,或者各個類別的樣本數(shù)目不一致。
例子:在人臉檢測中,比如訓練庫有10萬張人臉圖像,其中9萬沒有包含人臉,1萬包含人臉,這個數(shù)據(jù)集就是典型的不平衡數(shù)據(jù)集。?
直觀的影響就是,用這些不平衡的數(shù)據(jù)訓練出來的模型,其預測結(jié)果偏向于訓練數(shù)據(jù)中數(shù)據(jù)比較多的那一類,在人臉檢測的例子中,就是檢測器的檢測結(jié)果大部分都偏向于沒有檢測到人臉圖像。?
另外一個不平衡數(shù)據(jù)集,就是信用卡欺詐交易,如果平均的抽取數(shù)據(jù),則大部分的數(shù)據(jù)都是非欺詐交易,只有非常少的部分數(shù)據(jù)是欺詐交易
影響:不平衡的數(shù)據(jù)集上做訓練和測試,其得到的準確率是虛高的,比如在不平衡數(shù)據(jù)中,正負樣本的比例為9:1時,當它的精度為90%時,我們很有理由懷疑它將所有的類別都判斷為數(shù)據(jù)多的那一類。
解決方法:8種
1.收集更多的數(shù)據(jù):好處:更夠揭露數(shù)據(jù)類別的本質(zhì)差別,增加樣本少的數(shù)目以便后面的數(shù)據(jù)重采樣。
2.嘗試改變性能評價標準:?
當數(shù)據(jù)不平衡時,準確度已經(jīng)失去了它原有的意義,?
可以參考的度量標準有:1> 混淆矩陣CM 2>精度 3>召回率 4>F1 分數(shù)(權(quán)衡精度和召回率);5.Kappa 6,ROC曲線
3.重采樣數(shù)據(jù):?
1,拷貝一部分樣本偏少的數(shù)據(jù)多分,已達到平衡(過采樣);?
2,刪除一部分樣本偏多的數(shù)據(jù),以使得達到平衡(欠采樣);?
在實際中,過采樣和欠采樣都會使用的。?
在測試中,如果樣本總數(shù)比較多,可以用欠采樣的數(shù)據(jù)進行測試,如果樣本總數(shù)比較少,可以用過采樣的數(shù)據(jù)進行測試;另外應該測試隨機采樣的數(shù)據(jù)和非隨機采樣的數(shù)據(jù),同時,測試不同比例正負樣本的數(shù)據(jù)。
4.生成合成數(shù)據(jù):?
最簡單的是,隨機采樣樣本數(shù)目比較少的屬性,?
另外一個比較出名的方法為:SMOTE:它是一種過采樣的方法,它從樣本比較少的類別中創(chuàng)建新的樣本實例,一般,它從相近的幾個樣本中,隨機的擾動一個特征,
5.使用不同的算法:?
不要試圖用一個方法解所有的問題,嘗試一些其他不同的方法,比如決策樹一般在不平衡數(shù)據(jù)集上表現(xiàn)的比較的好。
6.嘗試懲罰模型:?
意思就是添加新的懲罰項到cost函數(shù)中,以使得小樣本的類別被判斷錯誤的cost更大,迫使模型重視小樣本的數(shù)據(jù)。?
比如:帶懲罰項的SVM
7.使用不同的視角:?
不平衡的數(shù)據(jù)集,有專門的鄰域和算法做這個,可以參考他們的做法和術語。?
比如:異常檢測。
8.嘗試新的改進:?
比如:1.把樣本比較多的類別,分解為一些更多的小類別,比如:原始我們想?yún)^(qū)分數(shù)字0和其它數(shù)字這二分類問題,我們可以把其它數(shù)字在分為9類,變成0–9的分類問題;
原文:http://blog.csdn.net/chenriwei2/article/details/49227205
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的非平衡数据集的机器学习常用处理方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何通俗地理解 Gradle?
- 下一篇: 机器学习之正则化图文讲解