Menu
CoddyTech
flag Ar iconالعربيةdown icon

عدة فئات

جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 19 من 58.

على اليسار: 45 ثمرة بحسب القطر والوزن؛ الليمون الأخضر صغير، والليمون في الوسط، والبرتقال كبير، ونجمة سوداء تشير إلى ثمرة جديدة بين الليمون والبرتقال. على اليمين: احتمالاتها على شكل أشرطة؛ ليمون 0.61، ليمون أخضر 0.00، برتقال 0.39

model = LogisticRegression(max_iter=1000)
model.fit(X, kind)  # X: القطر، الوزن؛ kind: ليمون أو ليمون أخضر أو برتقال
print(model.classes_)
print(np.round(model.predict_proba([[6.7, 144]]), 2))
print(model.predict([[6.7, 144]]))

يطبع هذا:

['lemon' 'lime' 'orange']
[[0.61 0.   0.39]]
['lemon']

يحتوي كل صف على احتمال لكل فئة، وفق ترتيب classes_، ويكون مجموعها 1. تختار predict القيمة الأكبر.

إذن، يوضّح النموذج مدى ثقته: 61% لليمون، وهذا قرار غير محسوم ويستحق إعادة النظر.

challenge icon

التحدي

متوسط

يصنّف تطبيق بودكاست الحلقات الجديدة ضمن الكوميديا أو الأخبار أو الجرائم الحقيقية. يدرّب الكود الابتدائي نموذج LogisticRegression على بيانات episodes.csv (المدة، والمتحدثون، وعدد مرات الضحك في الدقيقة)، ويقرأ حلقة جديدة في episode، وهو جدول من صف واحد.

أكمل describe(episode):

  1. اطبع احتمال كل نوع من البرامج، بترتيب model.classes_، كنسبة مئوية مقربة إلى عدد صحيح.
  2. أعِد النوع الأكثر احتمالًا.

لحلقة من تطبيق آخر:

comedy: 12%
news: 70%
true crime: 18%
Best guess: news

جرّب بنفسك

import pandas as pd
from sklearn.linear_model import LogisticRegression

episodes = pd.read_csv("episodes.csv")
features = ["length_min", "speakers", "laughs_per_min"]
model = LogisticRegression(max_iter=1000)
model.fit(episodes[features], episodes["show_type"])


# يطبع احتمال كل نوع من العروض لحلقة واحدة (جدول من صف واحد)، ثم يعيد النوع الأكثر احتمالًا
def describe(episode):
    # اكتب الكود الخاص بك هنا
    return "unknown"


# لا تغيّر الأسطر أدناه: حلقة جديدة من المدخلات
length = float(input())
speakers = int(input())
laughs = float(input())
episode = pd.DataFrame({"length_min": [length], "speakers": [speakers], "laughs_per_min": [laughs]})
best = describe(episode)
print(f"Best guess: {best}")
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التعلّم الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت