خوارزمية غابة العزلة للكشف الخارجي في بايثون

خوارزمية غابة العزلة للكشف الخارجي في بايثون

يعد الكشف عن العوامل الخارجية مهمة مهمة في مجال التعلم الآلي. يتم استخدامه لتحديد الملاحظات غير العادية أو نقاط البيانات التي تنحرف عن الاتجاه العام لمجموعة البيانات. إحدى الخوارزميات الفعالة للكشف عن الحالات الشاذة هي خوارزمية مجموعة العزل

في مدونة اليوم ، سنغطي أساسيات خوارزمية Isolation Forest ونوضح كيفية استخدامها لاكتشاف القيم المتطرفة في مجموعة بيانات باستخدام Python . يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي أسفل هذه المدونة .

جدول المحتويات

خوارزمية غابة العزلة مقابل طريقة قطعة الأرض 

الموضح أدناه نوعان من العناصر المرئية للكشف عن الحالات الخارجية. لاحظ الاختلافات المهمة في التمثيل المرئي عند استخدام مقارنةً بوقت استخدام نموذج ML Forest المعزول للكشف عن الخارج. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

في نموذج ML Forest المعزول ، تبلغ النسبة المئوية للقيم المتطرفة التي تم اكتشافها بواسطة خوارزمية اكتشاف الشذوذ في IS 32.56٪. باستخدام نفس الخوارزمية ، تقع نسبة 67.44٪ المتبقية من البيانات في النطاق الطبيعي ، وهو أمر حساس للغاية. هدفنا هو ضبط هذه الحساسية باستخدام بايثون

خوارزمية غابة العزلة للكشف الخارجي في بايثون

طريقة الكشف التقليدية

الطريقة التقليدية للعثور على الخارج هي باستخدام طريقة الرسم الصندوقي . في هذه الطريقة ، نستخدم معدل الذكاء للعثور على ما يقع خارج النطاق المتوقع للبيانات. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

في هذا المثال ، هذه النقطة المنفردة فوق الطولي هي الخارجة لدينا.

خوارزمية غابة العزلة للكشف الخارجي في بايثون

إذا قمنا بترجمة هذا الرسم البياني المرئي إلى مخطط دائري ، فسنحصل على هذا الشكل الخارجي المعين والذي يعادل 2.33٪ من إجمالي البيانات. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

في هذه المدونة ، سنتعلم كيفية استخدام طريقة Isolation Forest ML ، وضبطها لتتوافق مع الطريقة التقليدية ، وزيادة أو تقليل حساسيتها.

مجموعة البيانات لخوارزمية مجموعة العزلة

افتح مجموعة البيانات الخاصة بنا في LuckyTemplates. ثم انقر فوق تحويل البيانات. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

ستظهر مجموعة البيانات الخاصة بنا لهذا البرنامج التعليمي. يحتوي على التاريخ ، وعدد المستخدمين ، والفهرس ، وعزل الغابة النائية مع الناتج 1 للنطاق الطبيعي و -1 للقيم المتطرفة. 

لدينا أيضًا عمود لـ " Outlier تقليدي " ، وعمود شرطي بعنوان IS Anomaly Detection يعكس غابة العزل النائية. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

يُظهر الاستعلام الثاني إطار البيانات الخاص بنا والذي سنتعلم كيفية تجميع كل شيء معًا. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

أكواد بايثون

في جزء الخصائص ، يمكننا رؤية نصي بايثون قيد التشغيل . نقوم بإنشاء مخرجات Isolation Forest بأحد نصوص Python هذه ونقوم بإنشاء الخارج التقليدي مع الآخر. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

عزل خوارزمية الغابة كود بايثون

انقر فوق تشغيل برنامج Python النصي لعرض التعليمات البرمجية. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

في كود Python هذا ، نستورد الباندا كـ pd ونستخدم شيئًا يسمى Isolation Forest. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

غابة العزلة هي نموذج قائم على الشجرة يتخذ القرارات بناءً على هيكل الشجرة ثم يقرر ما إذا كان خارجًا أم لا. نسمي ذلك نموذج المجموعة لأنه يستخدم طريقتين مختلفتين لإيجاد استثناء معين. 

نستبدل أيضًا متغير مجموعة البيانات ، الذي يحتفظ بمجموعة البيانات بشكل افتراضي ، مثل df

خوارزمية غابة العزلة للكشف الخارجي في بايثون

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

خوارزمية غابة العزلة للكشف الخارجي في بايثون

ما نقوم به هو إنشاء مثيل للنموذج.

احفظ النموذج IsolationForest ودع النموذج يتعلم البيانات مع المستخدمين. بعد ذلك ، قم بإنشاء عمود جديد يسمى Anomaly Detection والذي سيعيد جميع البيانات التي يتعلمها ويتنبأ بأي منها يجب أن يكون غريبًا أم لا. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

بالنسبة لهذه الوظيفة ، تم تعيين الإعداد الافتراضي للتلوث عند 0.5 . وبالتالي ، فهي حساسة للغاية في الوقت الحالي وستبحث عن الكثير من القيم المتطرفة. هذا هو السبب في أن لدينا في الرسم البياني الدائري سابقًا مجموعة عالية جدًا من القيم المتطرفة عند 32.56٪. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

لجعلها أقل حساسية ، يمكننا إضافة التلوث = 0.1 في وظيفة IsolationForest .

خوارزمية غابة العزلة للكشف الخارجي في بايثون

أخيرًا ، أعد تعيين الفهرس وانقر فوق موافق.

ستظهر النتيجة جدول ملخص. توجه إلى جزء الخطوات التطبيقية وانقر فوق df.

خوارزمية غابة العزلة للكشف الخارجي في بايثون

في الإخراج ، يمكننا العثور على القيم المتطرفة ضمن عمود الكشف عن الانحرافات

خوارزمية غابة العزلة للكشف الخارجي في بايثون

نريد أيضًا أن نرى كيف يعمل بجانب الخارج التقليدي. 

كود بايثون النائي التقليدي

سنقوم بتشغيل برنامج نصي آخر من Python والذي في هذا المثال هو Run Python script1.

خوارزمية غابة العزلة للكشف الخارجي في بايثون

يضيف هذا الرمز دالة خارجية باستخدام الربعين الأول والثالث. عندما نطرح q1 من q3 ، نحصل على المدى الربيعي (IQR)

خوارزمية غابة العزلة للكشف الخارجي في بايثون

يحدد السطران التاليان شروط القيم المتطرفة. يقول السطر الأول أن أي شيء أقل من 1.5 * iqr يعتبر سالبًا أو أقل من القيم المتطرفة. هذه أيضًا هي الطريقة التي نجد بها القيم المتطرفة بالطريقة التقليدية.

نعلم أيضًا أن لدينا نقطة خارجية واحدة باعتبارها أعلى نقطة في بياناتنا. لحساب ذلك ، ينص السطر الثاني على أن نقاط البيانات الأعلى من q3 + 1.5 * iqr تعتبر أيضًا قيمًا متطرفة. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

أعد مجموعة البيانات هذه واستخدم القيم المتطرفة للدالة (df ، "المستخدمون") . ثم انقر فوق "موافق".

خوارزمية غابة العزلة للكشف الخارجي في بايثون

سيظهر جدول ملخص مشابه لما لدينا سابقًا. 

إذا انتقلنا إلى جزء "الخطوات التطبيقية " وانقر فوق " تغيير النوع 1" ، فسنحصل على أعمدة " الكشف عن الانحراف والشذوذ التقليدي " جنبًا إلى جنب ، مع استخدام الأخير 1 و -1 للإشارة إلى القيم المتطرفة وليس.

خوارزمية غابة العزلة للكشف الخارجي في بايثون

ومع ذلك ، عندما نستخدم التواريخ مع Python ، فقد يبدو أنها فاسدة. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

ما يمكننا القيام به هو إنشاء عمود إضافي باستخدام الفهرس من إضافة عمود .

خوارزمية غابة العزلة للكشف الخارجي في بايثون

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

خوارزمية غابة العزلة للكشف الخارجي في بايثون

بمجرد أن يكون لدينا كل شيء معًا ، يمكننا تشغيل الكود الخاص بنا وتحديث المرئيات الخاصة بنا. تذكر أننا غيرنا تلوث القيم المتطرفة من 0.5 إلى 0.1 ، لذلك يجب أن نرى هذا الجزء من الرسم البياني يتقلص قليلاً. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

ارجع إلى العناصر المرئية وانقر فوق تطبيق التغييرات. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

لاحظ كيف انتقل اكتشاف الشذوذ من 32.56٪ إلى 11.63٪ من بياناتنا. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

كما نرى في نتائجنا ، فهذه طريقة جيدة لتحسين اكتشافنا الخارجى. 

تذكر أيضًا أنه عندما يستخدم الأشخاص الطريقة التقليدية ، فقد يستخدمون قيمًا أقل من 1.5 ، ولكن 1.5 × معدل الذكاء هو الطريقة التقليدية ، مع ذلك. 

خوارزمية غابة العزلة للكشف الخارجي في بايثون

خوارزمية غابة العزلة للكشف الخارجي في بايثون


الكشف عن النتائج الخارجية وعرضها في LuckyTemplates
إنشاء نقاط تشغيل ديناميكية خارجية في
ميزة الكشف عن الانحراف في LuckyTemplates LuckyTemplates: كيف يعمل

خاتمة

باستخدام خوارزمية Isolation Forest ، يمكننا بسهولة تحديد واستبعاد أي ملاحظات غير عادية من مجموعة البيانات الخاصة بنا ، وبالتالي تحسين دقة تحليلنا. قدم هذا البرنامج التعليمي دليلاً خطوة بخطوة حول كيفية استخدام خوارزمية Isolation Forest للكشف عن المناطق الخارجية باستخدام Python ، والتي من المفترض أن تساعدك على البدء في تنفيذها في مشاريعك الخاصة.

ما فعلناه كان طريقة سهلة للغاية لاستخدام كود Python الخاص بنا للعثور على الحالات الشاذة. يمكنك أيضًا تحسين هذه الخوارزمية عن طريق تعديل التلوث ومجموعة من المتغيرات الأخرى التي يمكنك تعلمها من خلال صفحة تعليمات Python

أتمنى لك كل خير،


ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته