處理資料極度不均衡的資料集2
阿新 • • 發佈:2019-01-27
實現過程個人覺得很坎坷。
下午找到了sklearn庫中有個 imblearn包,可以無腦運算,基於完成任務考慮,看了之後確實有很多收貨。
更加熟悉了模型的原理,資料處理的過程和結果優化的一些理論。
排除樸素隨機抽樣之外的其他方法,在增加小樣本和刪除大樣本的時候,時間消耗過於巨大,對於講求效率的我而言,理論的優越並不能是我信服imblearn的優越性。
在面對幾十萬條資料的時候,確實感到了個人計算機的無力。
既然是大資料,還是要想大資料框架來靠攏的。
接下來說具體思路:
參考著巨人的理論,是否可以通過人為製造隨機資料和隨機取樣來進行演算法的優化。
基本的正樣本個數為:706610,負樣本個數為:3293
看到這麼感人的比例,我還能多說什麼呢,還是自己操作吧。
首先隨機抽取訓練集(axis=0)按行來抽取。並將正負樣本集分開。
然後隨機選擇正樣本的數量,並將負樣本連結到對應的正樣本之後
然後進行訓練和除錯,終於擺脫了召回率和F2值為0的尷尬情況。
然後按照基本的邏輯斯諦迴歸,嶺迴歸,lgm模型進行了測試。
結果依次是:邏輯斯的迴歸F2值在0.50-0.65之間;
嶺迴歸在0.55-0.72之間,但是資料波動範圍比邏輯斯的迴歸大一些;
接下來就是我信賴的lgm模型了,不出我所料範圍在0.75-0.85之間,但是在樣本3W,迴圈迭代次數多的情況下穩定在0.79這個範圍。
最後,就是漫長的等待生成結果了,17W的測試資料還是挺噁心的,現在等了40分鐘了還沒結束,繼續等吧。
最後推薦兩篇部落格:
https://blog.csdn.net/u011094454/article/details/77618604