我有一個包含20個類的數據集,它具有非常不均勻的分佈。 R中是否有任何功能允許我們平衡數據集(也許加權)?如何在R中的數據集中過採樣實例
我想與Weka一起使用平衡數據進行分類。由於我的課程分佈有偏差,如果沒有單獨的大多數課程,我希望能夠取得更好的成績。
我試圖使用SMOTE過濾器和Resample過濾器,但他們不完全做我想要的。 我不希望任何實例被刪除,重複是好的。
我有一個包含20個類的數據集,它具有非常不均勻的分佈。 R中是否有任何功能允許我們平衡數據集(也許加權)?如何在R中的數據集中過採樣實例
我想與Weka一起使用平衡數據進行分類。由於我的課程分佈有偏差,如果沒有單獨的大多數課程,我希望能夠取得更好的成績。
我試圖使用SMOTE過濾器和Resample過濾器,但他們不完全做我想要的。 我不希望任何實例被刪除,重複是好的。
我認爲您的術語存在誤解。你的問題標題是指抽樣,但問題文本涉及加權。
澄清:
取樣,你要麼擁有比原來設定較少,相同或更多的實例;樣本的唯一成員資格可以是原始集合的嚴格子集,也可以與原始集合相同(帶有替換 - 即重複)。
通過加權,您可以簡單地調整可用於某種進一步目的(例如採樣,機器學習)的權重,以解決或施加相對於統一加權的某種(即時)平衡。
我相信你指的是加權,但同樣的答案應該適用於這兩種情況。如果觀察的總#是N
和每個類的頻率是20長矢量freq
(例如,在1類項的個數是freq[1]*N
)的一個元素,則簡單地使用的1/freq
權重向量來歸一化權重。您可以通過一些常數來縮放它,例如N
,雖然沒關係。如果任何頻率爲0或與其非常接近,則可以使用平滑計數向量(例如Good-Turing平滑)來解決此問題。
因此,每組將具有相同比例的總重量。
不知道誰投下來,但我認爲這是因爲需要更多的信息來回答你的問題。嘗試str()或dput()以獲取數據,以便讓人們瞭解您需要處理的是什麼。 – nzcoops
此外,您的問題可能更適合http://stats.stackexchange.com –