R語言抽樣的問題


基本抽樣函數sample

sample(x,size,replace=F/T)

x是數據集,

size規定了從對象中抽出多少個數

replace 為F時候,表示每次​抽取后的數就不能在下一次被抽取;T表示抽取過的數可以繼續拿來被抽取。

 

不平衡數據的問題

 以某兩類數據為目標做抽樣,其中一類樣本數量特別小,一類樣本數特別大,這就是不平衡的情況。對應處理方式是做欠抽樣處理,按照樣本量小的類的數量,從大類中抽取樣本。

以kaggle的信用卡欺詐案例為例,該項目欺詐的樣本為492個,非欺詐樣本284807個,對應處理方式為:

# 設定分層抽樣
set.seed(1234)
index<-sample(x=1:nrow(card_data2),size = nrow(card_data1),replace = T)
# 非欺詐類對應的平衡后數據集為
card_data3<-card_data2[index,]
# head(card_data3)
# 合並欺詐樣本和非欺詐樣本,得到新數據集
new_card<-rbind(card_data1,card_data3)

# 其中card_data2為非欺詐樣本集,card_data1為欺詐樣本集

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM