資料傾斜處理方法
對於不平衡資料的分類,為了解決上述準確率失真的問題,我們要換用 f
值取代準確率作為評價指標。用不平衡資料訓練,召回率很低導致 f 值也很低。這時候有兩種不同的方法。第一種方法是修改訓練演算法,使之能夠適應不平衡資料。著名的代價敏感學習就是這種方法。另一種方法是運算元據,人為改變正負樣本的比率。本文主要介紹資料操作方法。
1. 欠抽樣方法
欠抽樣方法是針對多數的負樣本,減少負樣本的數量,反而提高整體 f 值。最簡單的欠抽樣方法是隨機地刪掉一些負樣本。
欠抽樣的缺點很明顯,就是會丟失負樣本的一些重要資訊,不能夠充分利用已有的資訊。
2. 過抽樣方法
最簡單的過抽樣方法是簡單地複製一些正樣本。過抽樣的缺點是沒有給正樣本增加任何新的資訊。過抽樣方法對 svm 演算法是無效的。
因為svm
演算法是找支援向量,複製正樣本並不能改變資料的支援向量。
改進的過抽樣方法則採用加入隨機高斯雜訊或產生新的合成樣本等方法。
3. smote
synthetic minorityover-sampling technique (smote) 演算法是乙個最有名的過抽樣的改進。
smote
是為了解決針對原始過抽樣方法不能給正樣本增加新資訊的問題。演算法的思想是合成新的少數類樣本,合成的策略是對每個少數類樣本
a,從它的最近鄰中隨機選乙個樣本
b,然後在a、
b之間的連線上隨機選一點作為新合成的少數類樣本。
從理論上來說,
smote
方法要優於過抽樣方法,過抽樣方法要優於欠抽樣方法。
但是很多任務業界場景,我們反而採用欠抽樣方法。工業界資料量大,即使正樣本佔比小,資料量也足夠訓練出乙個模型。這時候我們採用欠抽樣方法的主要目的是提高模型訓練效率。總之一句話就是,有資料任性。。 4.
不同類別分錯的代價不同。
Hadoop資料傾斜處理
何為資料傾斜?在弄清什麼是資料傾斜之前,我想讓大家看看資料分布的概念 正常的資料分布理論上都是傾斜的,就是我們所說的20 80原理 80 的財富集中在20 的人手中,80 的使用者只使用20 的功能 20 的使用者貢獻了80 的訪問量 不同的資料字段可能的資料傾斜一般有兩種情況 一種是唯一值非常少,...
Hadoop處理資料傾斜
南國在最開始學習hadoop的時候,一直其他人說的資料傾斜及資料傾斜的解決辦法沒有完全弄明白。通過這段時間的學習,看了許多資料,這裡參考網上資料 以及自己的理解。這篇部落格 寫乙個有關於資料傾斜的歸納總結。話不多說,乾貨馬上送到。在弄清什麼是資料傾斜之前,我想讓大家看看資料分布的概念 正常的資料分布...
Hive解決資料傾斜方法
注 group by 優於distinct group 情形 group by 維度過小,某值的數量過多 後果 處理某值的reduce非常耗時 解決方式 採用sum group by的方式來替換count distinct 完成計算。2 count distinct count distinct x...