我正在尝试使用SMOTE纠正我的多类分类问题中的不平衡。尽管根据SMOTE帮助文档,SMOTE在虹膜数据集上可以很好地工作,但是在类似的数据集上却不能工作。这是我的数据的样子。请注意,它具有三个类别,值分别为1、2、3。
> data
looking risk every status
1 0 1 0 1
2 0 0 0 1
3 0 0 0 2
4 0 0 0 1
5 0 0 0 1
6 3 0 0 1
7 0 0 0 1
8 0 0 0 1
9 0 1 0 1
10 0 0 0 1
11 0 0 0 3
12 0 0 0 1
13 0 0 0 1
14 0 0 0 1
15 0 0 0 2
它采用数据帧的形式,与iris相同:
> class(data)
[1] "data.frame"
这是我使用SMOTE的代码及其引发的错误:
> newData <- SMOTE(status ~ ., data, perc.over = 600,perc.under=100)
Error in scale.default(T, T[i, ], ranges) : subscript out of bounds
In addition: Warning messages:
1: In FUN(newX[, i], ...) :
no non-missing arguments to max; returning -Inf
2: In FUN(newX[, i], ...) :
no non-missing arguments to max; returning -Inf
3: In FUN(newX[, i], ...) :
no non-missing arguments to max; returning -Inf
4: In FUN(newX[, i], ...) : no non-missing arguments to min; returning Inf
5: In FUN(newX[, i], ...) : no non-missing arguments to min; returning Inf
6: In FUN(newX[, i], ...) : no non-missing arguments to min; returning Inf
请尝试将目标列(即“状态”)转换为因数,并考虑将下面@xing的帖子标记为答案。
—
2015年