方法1:想辦法獲取更多的數據
首先我們要想一想我們是否可以獲取更多的數據,有的時候我們在獲取數據的前期,通常數據會呈現一個變化的趨勢,這時候表現爲某一種數據量偏多,等到數據的後半段的時期,數據的變化的趨勢可能就會不一樣了。
如果沒有獲取後半期的數據,從整體來看,預測就可能不會那麼的精準.所以想辦法獲得更多的數據有可能會改善這個情況~
方法2:換一種評判方式
通常情況下,我們會使用準確率(Accuracy)和誤差(Cost)兩種方式來判斷機器學習的成果.但是在不均衡的數據面前,高的準確率和低的誤差就顯得沒有那麼有用和重要了.
所以我們就可以換個方式去計算,很多時候我們會使用Confusion Matrix去計算Precision&Recall,然後在透過Precision&Recall去計算F1 Score(or F-score).透過這樣的數據,我們可以很大程度上去區分不均衡數據,並且可以給出更好的分數.因爲我水平的問題,具體的計算推理過程等我日後會進行推導!(立flag)
方法3:重組數據
第三種方法相對來說最爲簡單粗暴,對不均衡的數據進行重新組合,使之均衡。
第一種方式是複製少數數據裏的樣本,使其可以達到和多數數據樣本差不多的數量。
第二種方式就是對多數樣本的數據進行開刀,砍掉一些多數樣本的數據,還是使兩者的數量差不多
方法4:使用其他的機器學習方法
在使用一些機器學習的方法中,比如神經網絡,在面對不均衡數據的時候都是束手無策的,但是像決策樹這樣的方法就不會受到不均衡數據的影響
方法5:修改算法
在所有方法中,最具有創造力的方法莫過於這個修改算法了,如果你使用的是Sigmoid函數,他會有一個預測的門檻,如果低於門檻,預測的結果爲梨,如果超過了門檻,預測的結果爲蘋果。
不過因爲現在梨的數量過多,這個時候我們就需要調解下門檻的位置,使得門檻更加的偏向於蘋果這一邊,只有數據非常準確的情況下,模型纔會預測爲蘋果,從而使機器學習學習到更好的效果.