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为欺诈样本集
原文地址:https://www.cnblogs.com/Grayling/p/11192576.html