ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
يعد الكشف عن العوامل الخارجية مهمة مهمة في مجال التعلم الآلي. يتم استخدامه لتحديد الملاحظات غير العادية أو نقاط البيانات التي تنحرف عن الاتجاه العام لمجموعة البيانات. إحدى الخوارزميات الفعالة للكشف عن الحالات الشاذة هي خوارزمية مجموعة العزل .
في مدونة اليوم ، سنغطي أساسيات خوارزمية 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. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته