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