تقييم النموذج
جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 4 من 58.
هل النموذج جيد؟ تجيب دقته، أي نسبة صفوف الاختبار التي يصيبها، عن ذلك. قارنها بتخمين كسول:
عاد 78% من القروض التجريبية لهذه المكتبة في موعدها، لذا فإن الإجابة في الموعد في كل مرة تحقّق درجة 0.78. وهذا هو خط الأساس.
from sklearn.metrics import accuracy_score
pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())يطبع هذا 0.88، 0.88، 0.78. تتنبأ score وتحسب في استدعاء واحد؛ ويجيب خط الأساس دائمًا بالتصنيف الأكثر شيوعًا في بيانات التدريب.
لا يستحق النموذج مكانه إلا إذا تفوّق على خط الأساس.
التحدي
سهلتراقب مستشعرات نحّال 160 خلية نحل في hives.csv؛ وتُبيّن swarm ما إذا كانت كل خلية قد تطلّعت. هل يمكن لمستشعر واحد أن يحذّرها؟ يقرأ البرنامج المُعطى اسم مستشعر ويدرّب نموذجًا باستخدام ذلك المستشعر وحده.
- اطبع دقة النموذج على بيانات الاختبار، مقربةً إلى 3 منازل عشرية.
- اطبع خط الأساس، مع تسمية الفئة التي يجيب بها دائمًا.
- اطبع ما إذا كان النموذج يتفوق عليه.
في منحل آخر وباستخدام weight_change_kg:
Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yesجرّب بنفسك
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# صف واحد لكل خلية نحل: قراءات مستشعراتها، وما إذا كان النحل قد تطاير منها في سرب
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم الخاضع للإشراف
1نموذجك الأول
التعلّم من الأمثلةمجموعتا التدريب والاختبارالملاءمة والتنبؤتقييم النموذجمراجعة: فارز البذورتدرّب بنفسك: مترجم Python عبر الإنترنت