سؤال

أنا أستخدم ميزة المستكشف في Weka للتصنيف.

إذن لدي ملف .arff الخاص بي، والذي يحتوي على ميزتين بقيمة NUMERIC، وفئتي عبارة عن ثنائي 0 أو 1 (على سبيل المثال {0,1}).

عينة:

@RELATION summary
@ATTRIBUTE feature1 NUMERIC
@ATTRIBUTE feature2 NUMERIC
@ATTRIBUTE class {1,0}

@DATA
23,11,0
20,100,1
2,36,0
98,8,1
.....

أقوم بتحميل ملف .arff هذا، واستخدم التحقق المتقاطع 10 أضعاف (لا يوجد ملف اختبار)، واختر NaiveBayes، ثم أقوم بتصنيف البيانات، ويعطيني:5 تم تصنيفها بشكل غير صحيح، و100 تم تصنيفها بشكل صحيح.حتى الان جيدة جدا.

الآن، قمت بتغيير ملف .arff الخاص بي بشكل ملحوظ (أعطي قيمًا عشوائية تمامًا لسمات الميزة الخاصة بي).وكرر ما سبق، وأحصل على نفس الإحصائيات بالضبط عند التصنيف.

لقد جربت ذلك مع المزيد من التغييرات على ملف .arff الخاص بي، وخوارزميات تصنيف مختلفة.ومع ذلك، نفس الإحصائية بالضبط (ضمن نفس الخوارزمية) بغض النظر عن القيم التي أعطيها لملف .arff الخاص بي.

أفعل شيئا خطأ هنا؟

هل كانت مفيدة؟

المحلول

من الصعب معرفة ذلك دون مزيد من المعلومات، لكن لدي اقتراحان:

  1. ما هي النسب النسبية بين الفئتين؟هل هي من 5 إلى 100؟لا تعمل الكثير من الخوارزميات بشكل جيد مع توزيعات تصنيفات الفئات شديدة الانحراف.

  2. مجرد حدس، ولكن حاول تغيير تسميات صفك من أرقام إلى سلاسل (على سبيل المثال:"الفئة 1" و"الفئة 2").يطلق Weka على هذه السمات "الاسمية" لذا ربما لا يُسمح باستخدام الأرقام.

نصائح أخرى

وأيضا: نضع في اعتبارنا أن عبر التحقق من صحة فظيعة جدا في واجهة المستخدم لأنها تظهر فقط لك شجرة الأصلية، على أية حال (قبل أن أضعاف في بيانات أخرى). إذا كنت تريد الأشجار النهائية ولدت، كنت في حاجة إلى API البرمجي. أقترح استخدام / اختبار مجموعة بيانات التدريب الانقسام.

هل حاولت تغيير

@ATTRIBUTE class {1,0} 

مع

@ATTRIBUTE class {yes,no} 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top