SMOTE
توضح هذه المقالة كيفية استخدام مكون SMOTE في مصمم Azure التعلم الآلي لزيادة عدد الحالات الممثلة تمثيلا ناقصا في مجموعة بيانات تستخدم للتعلم الآلي. SMOTE هي طريقة أفضل لزيادة عدد الحالات النادرة من مجرد تكرار الحالات الحالية.
توصيل مكون SMOTE بمجموعة بيانات غير متوازنة. هناك العديد من الأسباب التي تجعل مجموعة البيانات غير متوازنة. على سبيل المثال، قد تكون الفئة التي تستهدفها نادرة بين السكان، أو قد يكون من الصعب جمع البيانات. عادة، يمكنك استخدام SMOTE عندما تكون الفئة التي تريد تحليلها ممثلة تمثيلا ناقصا.
يقوم المكون بإرجاع مجموعة بيانات تحتوي على العينات الأصلية. كما أنه يرجع عددا من عينات الأقليات الاصطناعية، اعتمادا على النسبة المئوية التي تحددها.
المزيد حول سموت
تقنية أخذ العينات الزائدة للأقليات الاصطناعية (SMOTE) هي تقنية إحصائية لزيادة عدد الحالات في مجموعة البيانات الخاصة بك بطريقة متوازنة. يعمل المكون عن طريق إنشاء مثيلات جديدة من حالات الأقليات الموجودة التي تقوم بتوفيرها كمدخلات. هذا التنفيذ ل SMOTE لا يغير عدد حالات الأغلبية.
والحالات الجديدة ليست مجرد نسخ من قضايا الأقليات القائمة. بدلا من ذلك ، تأخذ الخوارزمية عينات من مساحة الميزة لكل فئة مستهدفة وأقرب جيرانها. ثم تقوم الخوارزمية بإنشاء أمثلة جديدة تجمع بين ميزات الحالة المستهدفة وميزات جيرانها. يزيد هذا النهج من الميزات المتاحة لكل فئة ويجعل العينات أكثر عمومية.
يأخذ SMOTE مجموعة البيانات بأكملها كمدخلات ، لكنه يزيد من النسبة المئوية لحالات الأقليات فقط. على سبيل المثال، لنفترض أن لديك مجموعة بيانات غير متوازنة حيث 1 في المائة فقط من الحالات لها القيمة المستهدفة A (فئة الأقلية)، و99 في المائة من الحالات لها القيمة B. لزيادة النسبة المئوية لحالات الأقليات إلى ضعف النسبة المئوية السابقة، يمكنك إدخال 200لنسبة SMOTE المئوية في خصائص المكون.
أمثلة
نوصي بمحاولة استخدام SMOTE مع مجموعة بيانات صغيرة لمعرفة كيفية عملها. يستخدم المثال التالي مجموعة بيانات التبرع بالدم المتوفرة في Azure التعلم الآلي مصمم.
إذا أضفت مجموعة البيانات إلى خط أنابيب وحددت تصور على مخرجات مجموعة البيانات، يمكنك أن ترى أنه من بين 748 صفا أو حالة في مجموعة البيانات، هناك 570 حالة (76 بالمائة) من الفئة 0، و178 حالة (24 بالمائة) من الفئة 1. على الرغم من أن هذه النتيجة ليست غير متوازنة بشكل رهيب ، إلا أن الفئة 1 تمثل الأشخاص الذين تبرعوا بالدم ، لذلك تحتوي هذه الصفوف على مساحة الميزة التي تريد نمذجتها.
لزيادة عدد الحالات، يمكنك تعيين قيمة النسبة المئوية SMOTE، باستخدام مضاعفات 100، كما يلي:
| الفئة 0 | الفئة 1 | الإجمالي | |
|---|---|---|---|
| مجموعة البيانات الأصلية (أي ما يعادل نسبة = SMOTE0) |
570 76% |
178 24% |
748 |
| نسبة = SMOTE 100 | 570 62% |
356 38% |
926 |
| نسبة = SMOTE 200 | 570 52% |
534 48% |
1,104 |
| نسبة = SMOTE 300 | 570 44% |
712 56% |
1,282 |
تحذير
زيادة عدد الحالات باستخدام SMOTE غير مضمون لإنتاج نماذج أكثر دقة. جرب تبطين الأنابيب بنسب مئوية مختلفة ومجموعات ميزات مختلفة وأعداد مختلفة من أقرب الجيران لمعرفة كيف تؤثر إضافة الحالات على نموذجك.
كيفية تكوين SMOTE
أضف مكون SMOTE إلى خط الأنابيب الخاص بك. يمكنك العثور على المكون ضمن مكونات تحويل البيانات، في فئة المعالجة .
الاتصال مجموعة البيانات التي تريد تعزيزها. إذا كنت تريد تحديد مساحة المعالم لإنشاء الحالات الجديدة، إما باستخدام أعمدة محددة فقط أو عن طريق استبعاد بعضها، فاستخدم مكون تحديد أعمدة في مجموعة البيانات . يمكنك بعد ذلك عزل الأعمدة التي تريد استخدامها قبل استخدام SMOTE.
وإلا، فإن إنشاء حالات جديدة من خلال SMOTE يستند إلى كافة الأعمدة التي تقدمها كمدخلات. عمود واحد على الأقل من أعمدة المعالم رقمي.
تأكد من تحديد العمود الذي يحتوي على التسمية أو الفئة المستهدفة. يقبل SMOTE التسميات الثنائية فقط.
يحدد مكون SMOTE تلقائيا فئة الأقلية في عمود التسمية، ثم يحصل على كافة الأمثلة لفئة الأقلية. لا يمكن أن تحتوي جميع الأعمدة على قيم NaN.
في خيار النسبة المئوية SMOTE، أدخل رقما صحيحا يشير إلى النسبة المئوية المستهدفة لحالات الأقليات في مجموعة بيانات المخرجات. على سبيل المثال:
يمكنك إدخال 0. يقوم مكون SMOTE بإرجاع نفس مجموعة البيانات التي قمت بتوفيرها كإدخال بالضبط. ولا يضيف أي حالات جديدة للأقليات. في مجموعة البيانات هذه، لم تتغير نسبة الفئة.
يمكنك إدخال 100. ويولد عنصر SMOTE حالات جديدة للأقليات. ويضيف نفس العدد من حالات الأقليات التي كانت في مجموعة البيانات الأصلية. نظرا لأن SMOTE لا يزيد من عدد حالات الأغلبية ، فقد تغيرت نسبة الحالات لكل فئة.
يمكنك إدخال 200. ويضاعف هذا المكون النسبة المئوية لحالات الأقليات مقارنة بمجموعة البيانات الأصلية. وهذا لا يؤدي إلى وجود ضعف عدد قضايا الأقليات كما كان من قبل. بدلا من ذلك ، يتم زيادة حجم مجموعة البيانات بطريقة تجعل عدد حالات الأغلبية كما هو. ويزداد عدد قضايا الأقليات إلى أن يطابق قيمة النسبة المئوية المطلوبة.
ملاحظة
استخدم مضاعفات 100 فقط لنسبة SMOTE المئوية.
استخدم الخيار عدد الجيران الأقرب لتحديد حجم مساحة المعالم التي تستخدمها خوارزمية SMOTE في إنشاء حالات جديدة. أقرب جار هو صف من البيانات (حالة) يشبه الحالة المستهدفة. يتم قياس المسافة بين أي حالتين من خلال الجمع بين المتجهات المرجحة لجميع الميزات.
- من خلال زيادة عدد أقرب الجيران ، يمكنك الحصول على ميزات من المزيد من الحالات.
- من خلال الحفاظ على انخفاض عدد الجيران الأقرب ، يمكنك استخدام ميزات تشبه إلى حد كبير تلك الموجودة في العينة الأصلية.
أدخل قيمة في مربع البذور العشوائية إذا كنت تريد ضمان نفس النتائج على مدار نفس خط الأنابيب، بنفس البيانات. وإلا، يقوم المكون بإنشاء بذرة عشوائية استنادا إلى قيم ساعة المعالج عند نشر خط الأنابيب. يمكن أن يؤدي توليد بذرة عشوائية إلى نتائج مختلفة قليلا على مدار الركض.
إرسال المسار.
ناتج المكون عبارة عن مجموعة بيانات تحتوي على الصفوف الأصلية بالإضافة إلى عدد من الصفوف المضافة مع حالات الأقليات.
ملاحظات فنية
عند نشر نموذج يستخدم مكون SMOTE، قم بإزالة SMOTE من خط الأنابيب التنبؤي قبل نشره كخدمة ويب. والسبب هو أن SMOTE يهدف إلى تحسين نموذج أثناء التدريب ، وليس للتسجيل. قد تحصل على خطأ إذا كان خط أنابيب تنبؤي منشور يحتوي على مكون SMOTE.
يمكنك غالبا الحصول على نتائج أفضل إذا قمت بتنظيف القيم المفقودة أو تطبيق تحويلات أخرى لإصلاح البيانات قبل تطبيق SMOTE.
حقق بعض الباحثين فيما إذا كان SMOTE فعالا على البيانات عالية الأبعاد أو المتناثرة ، مثل البيانات المستخدمة في تصنيف النصوص أو مجموعات بيانات الجينوم. تحتوي هذه الورقة على ملخص جيد للتأثيرات والصلاحية النظرية لتطبيق SMOTE في مثل هذه الحالات: Blagus و Lusa: SMOTE للبيانات الطبقية عالية الأبعاد غير المتوازنة.
إذا لم يكن SMOTE فعالا في مجموعة البيانات الخاصة بك، فإن الأساليب الأخرى التي قد تفكر فيها تشمل:
- طرق الإفراط في أخذ عينات من قضايا الأقليات أو أخذ عينات أقل من حالات الأغلبية.
- تقنيات المجموعة التي تساعد المتعلم مباشرة باستخدام التجميع أو التعبئة أو التعزيز التكيفي.
الخطوات التالية
راجع مجموعة المكونات المتوفرة ل Azure التعلم الآلي.