SMOTE বহু শ্রেণীর ভারসাম্যহীন সমস্যার জন্য ত্রুটি ছুড়ে ফেলে


10

আমি আমার বহু-শ্রেণীর শ্রেণিবিন্যাস সমস্যার ভারসাম্যহীনতা সংশোধন করতে 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

দয়া করে আপনার টার্গেট কলামটি (অর্থাত "স্ট্যাটাস") কে ফ্যাক্টারে রূপান্তর করার চেষ্টা করুন এবং উত্তর হিসাবে জিংয়ের পোস্টকে নীচে চিহ্নিত করার বিষয়টি বিবেচনা করুন।
গ্রীনিশ

উত্তর:


13

আমি একই ধরণের সমস্যার মুখোমুখি হয়েছি এবং আমি শ্রেণীর মানগুলি (আপনার ক্ষেত্রে "স্থিতি") ফ্যাক্টর টাইপের মধ্যে স্থানান্তর করে সমাধান করেছি। ব্যবহারের পরে data$status=factor(data$status), নীচে newDataপ্রিন্ট করুন:

     looking risk every status
7          0    0     0      1
2          0    0     0      1
7.1        0    0     0      1
12         0    0     0      1
4          0    0     0      1
12.1       0    0     0      1
11         0    0     0      3
8         NA   NA    NA      3
9         NA   NA    NA      3
10        NA   NA    NA      3
111       NA   NA    NA      3
121       NA   NA    NA      3
13        NA   NA    NA      3

কোনও ত্রুটি নেই!


এটি অত্যন্ত দুঃখের বিষয় যে SMOTEডকুমেন্টেশনে এটি উল্লেখ করা হয়নি যে কেবলমাত্র লেবেলগুলি ফ্যাক্টর হলে এটি কাজ করে!
পপ করুন

এটা আমার জন্য ছিল। ফ্যাক্টর রূপান্তর এটি স্থির।
গ্রিনিশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.