मैं अपनी बहु-वर्ग वर्गीकरण समस्या में असंतुलन को सही करने के लिए 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
यह डेटाफ्रेम के रूप में है, आइरिस के समान है:
> 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 की पोस्ट को चिह्नित करने पर विचार करें।
—
हरीश