使用 DMwR 库中的 SMOTE 包。加载数据框后,我尝试按如下方式执行采样:
crime_bal$target <- as.factor(crime_bal$target)
crime_bal <- SMOTE(target ~ .,crime_bal,perc.under = 200, perc.over = 100)
但是总是会出现这个错误:
Error in factor(newCases[, a], levels = 1:nlevels(data[, a]), labels = levels(data[, :
invalid 'labels'; length 0 should be 1 or 2
In addition: Warning messages:
1: NAs introduced by coercion
2: NAs introduced by coercion
我的数据集的详细信息:
> summary(crime_bal)
text url target
Length:6326 Length:6326 0:5994
Class :character Class :character 1: 332
Mode :character Mode :character
为什么我总是会遇到错误?
最佳答案
我也遇到过类似的问题,我通过将字符串特征转为整数类型来解决。我猜它只适用于数字/因子类型的数据。即我用 1,2 替换 class_1,class_2。
关于R:使用 SMOTE 包 "invalid ' 标签时出现问题'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33693164/