الملاءمة والتنبؤ
جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 3 من 58.
يعمل كل نموذج من scikit-learn باستدعاءين. يدرس fit صفوف التدريب مع تسمياتها؛ أما predict فيُسند تسميات إلى صفوف لم يسبق للنموذج رؤيتها:
النموذج من الدرس الأول في هذه الرحلة هو أقرب الجيران k: يصنّف صفًا مثل صفوف التدريب الأقرب إليه. الحيوانات الأليفة بحسب الوزن (kg) وطول الأذن (cm):
from sklearn.neighbors import KNeighborsClassifier
X_train = np.array([[4, 6], [5, 7], [3, 5], [30, 10], [25, 12], [35, 11]])
y_train = np.array(["cat", "cat", "cat", "dog", "dog", "dog"])
model = KNeighborsClassifier()
model.fit(X_train, y_train)
print(model.predict([[6, 6], [28, 11]]))يطبع هذا ['cat' 'dog']. تُضاف الصفوف الجديدة في صورة جدول، صف واحد لكل حيوان أليف.
أنشئ، درّب، توقّع: يتبع كل نموذج في هذا القسم هذه الخطوات الثلاث.
التحدي
سهليُطلق تطبيق نادٍ لمراقبة الطيور أسماءً على الطيور استنادًا إلى باع جناحيها ووزنها. يقسم البرنامج الأولي ملف birds.csv الخاص بالنادي، ويقرأ طيور الليلة في الجدول spotted.
- أنشئ نموذج أقرب الجيران k ودرّبه على طيور التدريب.
- تنبأ بفئة كل الطيور المرصودة في استدعاء واحد.
- اطبع سطرًا واحدًا لكل طائر، كما هو موضح أدناه.
لثلاثة طيور في جولة أخرى:
Bird 1: sparrow
Bird 2: blackbird
Bird 3: robinجرّب بنفسك
import pandas as pd
from sklearn.model_selection import train_test_split
# صف واحد لكل طائر سمّاه النادي: باع الجناحين بوحدة cm، والوزن بالغرامات
birds = pd.read_csv("birds.csv")
X = birds[["wingspan_cm", "weight_g"]]
y = birds["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# جولة الليلة: عدد الطيور، ثم باع جناحي كل طائر ووزنه
count = int(input())
spans = []
weights = []
for i in range(count):
spans.append(float(input()))
weights.append(float(input()))
spotted = pd.DataFrame({"wingspan_cm": spans, "weight_g": weights})
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم الخاضع للإشراف
1نموذجك الأول
التعلّم من الأمثلةمجموعتا التدريب والاختبارالملاءمة والتنبؤتقييم النموذجمراجعة: فارز البذورتدرّب بنفسك: مترجم Python عبر الإنترنت