تنبؤات بنعم أو لا
جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 16 من 58.
يجيب هذا الفصل عن أسئلة بنعم أو لا باستخدام الاحتمالات. وينتهي بمرشح للرسائل المزعجة تنشئه، ويصنّف رسائل البريد الإلكتروني كما يلي:
هل سيُلغى حجز المطعم؟ يتعلّم LogisticRegression ذلك من 60 حجزًا سابقًا: عدد الأيام التي تم فيها الحجز مسبقًا، وما إذا كان الحجز قد أُلغي (1) أو تم الاحتفاظ به (0):
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(max_iter=1000) # خطوات كافية لإكمال التعلّم
model.fit(X, cancelled) # X: عدد الأيام المتبقية، عمود واحد
print(np.round(model.predict_proba([[3], [40]]), 2))يطبع هذا:
[[0.91 0.09]
[0.28 0.72]]يحتوي صف كل حجز على احتمال الفئة 0، ثم احتمال الفئة 1. تحتفظ [:, 1] باحتمالات الفئة 1، أي الإلغاء.
تتخذ شكل S: لا تقل أبدًا عن 0 ولا تزيد على 1، كما ينبغي للاحتمالات.
التحدي
متوسطيحجز نادٍ للطائرات الورقية ثلاث فترات للإطلاق غدًا. يحتوي kites.csv على بيانات 90 عملية إطلاق سابقة: wind_kmh، وflew، وتكون قيمته 1 إذا ارتفعت الطائرة الورقية في الهواء. يقرأ البرنامج سرعة الرياح المتوقعة لكل فترة في slots.
- درّب
LogisticRegression(max_iter=1000) على سرعات الرياح. - اطبع احتمال تحليق الطائرة الورقية في كل فترة، كنسبة مئوية لعدد صحيح.
- اطبع عدد الرحلات المتوقع: مجموع الاحتمالات (بمنزلة عشرية واحدة).
لنادٍ آخر:
6 km/h: 9% chance the kite flies
18 km/h: 64% chance the kite flies
30 km/h: 97% chance the kite flies
Expected flights: 1.7 of 3جرّب بنفسك
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
# 90 محاولة إطلاق سابقة: سرعة الرياح بوحدة km/h، وflew (1 إذا حلّقت الطائرة الورقية)
kites = pd.read_csv("kites.csv")
# فترات الإطلاق الثلاث غدًا، بحسب سرعة الرياح المتوقعة
winds = []
for i in range(3):
winds.append(int(input()))
slots = pd.DataFrame({"wind_kmh": winds})
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم الخاضع للإشراف
تدرّب بنفسك: مترجم Python عبر الإنترنت