كيف تؤدي الانحدار اللوجستي في بايثون؟

الانحدار اللوجستي في بايثون باستخدام sklearn للتنبؤ بالنتيجة من خلال تحديد العلاقة بين التابع ومتغير واحد أو أكثر من المتغيرات المستقلة.

الانحدار اللوجستي في بايثون هو أسلوب تحليل تنبؤي. كما أنها تستخدم في التعلم الآلي لمشاكل التصنيف الثنائي. في هذه المدونة ، سنتناول الموضوعات التالية لفهم الانحدار اللوجستي في بايثون:

  1. ما هو الانحدار؟
  2. الانحدار اللوجستي في بايثون
  3. الانحدار اللوجستي مقابل الانحدار الخطي
  4. استخدم حالات
  5. برهنة

يمكنك أيضًا الرجوع إلى هذا البرنامج التعليمي المفصل حول الانحدار اللوجستي في Python مع عرض توضيحي لفهم أفضل أو الانتقال إلى لإتقان الانحدار اللوجستي.





ما هو الانحدار؟

التحليل هو أسلوب تحليل إحصائي قوي. أ يعتمد متغير من مصلحتنا يستخدم للتنبؤ بقيم الآخر المتغيرات المستقلة في مجموعة البيانات.

نواجه الانحدار بطريقة بديهية طوال الوقت. مثل التنبؤ بالطقس باستخدام مجموعة بيانات أحوال الطقس في الماضي.



يستخدم العديد من التقنيات لتحليل النتائج والتنبؤ بها ، ولكن التركيز بشكل أساسي على العلاقة بين المتغير التابع ومتغير مستقل واحد أو أكثر.

يتنبأ التحليل بالنتيجة في متغير ثنائي له نتيجتان محتملتان فقط.



الانحدار اللوجستي في بايثون

إنها تقنية لتحليل مجموعة البيانات التي تحتوي على متغير تابع وواحد أو أكثر من المتغيرات المستقلة للتنبؤ بالنتيجة في متغير ثنائي ، مما يعني أنه سيكون لها نتيجتان فقط.

المتغير التابع هو قاطع في الطبيعة. المتغير التابع يشار إليه أيضًا باسم متغير الهدف والمتغيرات المستقلة تسمى تنبئ .

الانحدار اللوجستي هو حالة خاصة من الانحدار الخطي حيث نتنبأ فقط بالنتيجة في متغير فئوي. يتنبأ باحتمالية الحدث باستخدام وظيفة السجل.

نحن نستخدم ال دالة / منحنى السيني للتنبؤ بالقيمة الفئوية. تحدد قيمة العتبة النتيجة (فوز / خسارة).

معادلة الانحدار الخطي: ص = β0 + 1X1 + 2X2…. + βnXn

  • Y تعني المتغير التابع الذي يجب توقعه.
  • β0 هو تقاطع Y ، وهو في الأساس النقطة على الخط الذي يلمس المحور y.
  • 1 هو ميل الخط (يمكن أن يكون الميل سالبًا أو موجبًا حسب العلاقة بين المتغير التابع والمتغير المستقل.)
  • يمثل X هنا المتغير المستقل المستخدم للتنبؤ بالقيمة التابعة الناتجة.

وظيفة السيني: ع = 1/1 + هص

تطبيق دالة السيني على معادلة الانحدار الخطي.

الانحدار اللوجستي في Python-edureka

معادلة الانحدار اللوجستي: ع = 1/1 + ه- (β0 + β1X1 + β2X2…. + nXn)

دعنا نلقي نظرة على أنواع مختلفة من الانحدار اللوجستي.

أنواع الانحدار اللوجستي

كيفية عرض مجموعة في php
    • الانحدار اللوجستي الثنائي - له نتيجتان محتملتان فقط. مثال- نعم أم لا
    • الانحدار اللوجستي متعدد الحدود - يحتوي على ثلاث فئات اسمية أو أكثر ، مثال: قط ، كلب ، فيل.
    • الانحدار اللوجستي الترتيبي - يحتوي على ثلاث فئات ترتيبية أو أكثر ، بمعنى ترتيبي أن الفئات ستكون في ترتيب. مثال- تقييمات المستخدم (1-5).

الانحدار الخطي مقابل الانحدار اللوجستي

بينما يمكن أن يكون للانحدار الخطي القيم الممكنة اللانهائية ، الانحدار اللوجستي نتائج محددة .

يتم استخدام الانحدار الخطي عندما يكون متغير الاستجابة مستمرًا بطبيعته ، ولكن يتم استخدام الانحدار اللوجستي عندما يكون متغير الاستجابة فئويًا بطبيعته.

يُعد التنبؤ بالتخلف في الدفع في أحد البنوك باستخدام تفاصيل المعاملة في الماضي مثالاً على الانحدار اللوجستي ، بينما يعد الإنتاج المستمر مثل درجة سوق الأوراق المالية مثالاً على الانحدار الخطي.

استخدم حالات

فيما يلي حالات الاستخدام حيث يمكننا استخدام الانحدار اللوجستي.

التنبؤ بالطقس

تنبؤات الطقس هي نتيجة الانحدار المنطقي. هنا نقوم بتحليل بيانات تقارير الطقس السابقة ونتوقع النتيجة المحتملة ليوم معين. لكن الانحدار المنطقي لن يتنبأ إلا ببيانات فئوية ، مثل ما إذا كانت ستمطر أم لا.

تحديد المرض

نستطيعاستعمالالانحدار المنطقي بمساعدة التاريخ الطبي للمريض للتنبؤ بما إذا كان المرض إيجابيًا أم سلبيًا على أي حال.

لنأخذ عينة مجموعة بيانات لبناء نموذج تنبؤ باستخدام الانحدار اللوجستي.

تجريبي

سنقوم ببناء نموذج تنبؤباستخدامالانحدار المنطقي في بايثون بمساعدةمنمجموعة بياناتفي هذاسنقوم بتغطية الخطوات التالية لتحقيق الانحدار المنطقي.

جمع البيانات

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

استيراد الباندا مثل pd import numpy مثل np import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

ستحصل على جميع البيانات في تنسيق قابل للقراءة لتحليل أسهل. وبعد ذلك يمكنك تحديد المتغيرات التابعة والمستقلة لنموذجك.

تحليل البيانات

يتم تحليل مجموعة البيانات لتحديد العلاقة بين المتغيرات. من خلال إنشاء مخططات مختلفة للتحقق من العلاقة بين المتغيرات.

sns.countplot ('الصفحة الرئيسية' ، تدرج اللون = 'WINorLOSS' ، البيانات = df) plt.show ()

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

معالجة البيانات

يتم تعديل مجموعة البيانات وفقًا للمتغير المستهدف. سنقوم بإزالة جميع القيم الخالية وقيم السلسلة أيضًا من DataFrame.

طباعة (df.isnull (). sum ())

سوف نتحقق من جميع البيانات غير ذات الصلة مثل القيم الخالية والقيم التي لن تكون مطلوبة أثناء بناء نموذج التنبؤ. إذا لم تكن هناك قيم فارغة في مجموعة بيانات NBA التي نستخدمها ، فسنواصل تقسيم البيانات.

ما هي الوظائف في SQL

اختبار وتدريب البيانات

بالنسبة لأداء النموذج ، يتم تقسيم البيانات إلى بيانات الاختبار وبيانات التدريب. يتم تقسيم البيانات باستخدام ملف train_test_split . البيانات هنا مقسمة بنسبة 70:30.

الآن ، من أجل نموذج التنبؤ يتم تنفيذ وظيفة الانحدار اللوجستي عن طريق استيراد نموذج الانحدار اللوجستي في الوحدة النمطية sklearn.

ثم يتم وضع النموذج في مجموعة القطار باستخدام وظيفة الملاءمة. بعد ذلك يتم إجراء التنبؤ باستخدام وظيفة التنبؤ.

من sklearn.model_selection ، قم باستيراد train_test_split من sklearn.linear_model استيراد LogisticRegression من sklearn.metrics استيراد تصنيف_تقرير من sklearn.metrics import confusion_matrix، resolution_score x = df.drop ('Home'، axis = 1) y = df ['Home'] x_train، x_test، y_train، y_test = train_test_split (x، y، test_size = 0.33، random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train، y_train) التنبؤات = logmodel.predict (x_test) print (rating_report (y_test، Forecastions) طباعة (confusion_matrix (y_test ، تنبؤات)) طباعة (دقة_درجة (y_test ، تنبؤات))

تقرير التصنيف:

يعرض تقرير التصنيف ملف الاحكام ، أذكر ، F1 والدعم عشرات للنموذج.

الاحكام الدرجة تعني المستوى الأعلى الذي يكون التنبؤ الذي قدمه النموذج دقيقًا. الدقة في مباراة المنزل هي 0.62 ولعبة الذهاب 0.58 .

اعد الاتصال هو المقدار الذي يمكن للنموذج أن يتنبأ به بالنتيجة. أذكر لعبة المنزل هو 0.57 ولعبة خارج أرضه 0.64 . درجات F1 والدعم هي مقدار البيانات التي تم اختبارها للتنبؤات. في مجموعة بيانات NBA ، تكون البيانات المختبرة للعبة الرئيسية هي 1662 ولعبة الذهاب 1586 .

الارتباك مصفوفة:

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

خريطة حرارة مصفوفة الارتباك:

دعنا نرسم خريطة حرارية لمصفوفة الارتباك باستخدام seaborn و لتصور نموذج التنبؤ الذي أنشأناه. لرسم خريطة حرارية ، فإن الصيغة التالية ضرورية.

sns.heatmap (pd.DataFrame (confusion_matrix (y_test، Forecastions))) plt.show ()

بالنظر إلى الخريطة الحرارية ، يمكننا استنتاج ما يلي:

  • من بين جميع التوقعات ، توقع المصنف نعم لإجمالي 1730 مرة ، منها 1012 كانت فعلية نعم.
  • من بين جميع التوقعات ، توقع المصنف لا لإجمالي 1518 مرة ، منها 944 عددًا فعليًا.

من خلال هذا التحليل لمصفوفة الارتباك ، يمكننا استنتاج درجة الدقة لنموذج التنبؤ الخاص بنا.

درجة الدقة:

درجة الدقة هي النسبة المئوية لدقة التنبؤات التي قدمها النموذج. بالنسبة إلى نموذجنا ، كانت درجة الدقة 0.60 ، وهي دقيقة للغاية. ولكن كلما زادت درجة الدقة ، كان نموذج التنبؤ الخاص بك فعالاً. يجب أن تهدف دائمًا إلى الحصول على درجة دقة أعلى للحصول على نموذج تنبؤ أفضل.

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

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

أيضًا ، تحقق من مدونات Data-Science المختلفة على منصة edureka لإتقان عالم البيانات فيك.

إذا كنت ترغب في تعلم لغة Python وبناء مستقبل وظيفي في علم البيانات ، فقم بإلقاء نظرة على موقعنا التفاعلي المباشر عبر الإنترنت هنا ، يأتي ذلك مع دعم 24 * 7 لإرشادك طوال فترة التعلم.
حصلت على السؤال؟ يرجى ذكرها في التعليقات وسنعاود الاتصال بك.