5

smote-algorithm をデータ セットに適用する必要がありますが、機能させることができません。

例:

x <- c(12,13,14,16,20,25,30,50,75,71)
y <- c(0,0,1,1,1,1,1,1,1,1)

frame <- data.frame(x,y)

library(DMwR)

smotedobs <- SMOTE(y~ ., frame, perc.over=300)

これにより、次のエラーが発生します。

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 min; returning Inf

あらゆる種類のヘルプやヒントに感謝します。

4

3 に答える 3

5

私は完全な答えを持っていません。ただし、別の手がかりを提供できます。

「y」を係数に変換すると、SMOTE はエラーなしで戻りますが、合成された観測値は x に対して NA 値を持ちます。

于 2013-04-08T11:08:25.483 に答える
3

SMOTE コードにバグがあります。供給されている y 関数がすでに因子変数であると想定していますが、現在、非因子のエッジケースを処理していません。メソッドを呼び出す前に、必ず要素にキャストしてください。

于 2013-05-09T20:44:01.263 に答える