鉴于我有类不平衡问题,我正在应用SMOTE(DMwR包).但是,我有三个课程结果,而不是两个.
该函数正确地对少数类进行过采样,但我没有遵循多数/中产阶级的行为(即,所有类别都包含不同的样本大小).
让我们说:
library(DMwR)
set.seed(1234)
train = data.frame(group=as.factor(rep(c(1,2,3),c(35,110,220))),
score=rnorm(365,100))
train_resample <- SMOTE(group ~ ., train, perc.over = 400, perc.under=200)
table(train_resample$group)
# 1 2 3
# 175 104 176
Run Code Online (Sandbox Code Playgroud)
少数类是有道理的,35 +(35*4)= 175.此外,剩下的样本是清楚的,140*200/100 = 280.但是,我不确定这个样本如何分布在剩余的类上.它保留样本大小顺序,但可能是随机的.
有任何想法吗?
r ×1