SMOTE를 사용하여 멀티 클래스 분류 문제의 불균형을 수정하려고합니다. SMOTE 도움말 문서에 따라 SMOTE가 홍채 데이터 세트에서 완벽하게 작동하지만 유사한 데이터 세트에서는 작동하지 않습니다. 내 데이터 모양은 다음과 같습니다. 값이 1, 2, 3 인 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
홍채와 같은 데이터 프레임의 형태입니다.
> 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의 게시물을 답으로 표시해보십시오.
—
Greenish