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

الملاءمة والتنبؤ

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

يعمل كل نموذج من scikit-learn باستدعاءين. يدرس fit صفوف التدريب مع تسمياتها؛ أما predict فيُسند تسميات إلى صفوف لم يسبق للنموذج رؤيتها:

مخطط: ستة حيوانات أليفة، وX_train مع الوزن وطول الأذن بجانب y_train، ثلاثة قطط وثلاثة كلاب، تمر عبر fit إلى نموذج. حيوانان أليفان جديدان، X_new، يمران عبر 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']. تُضاف الصفوف الجديدة في صورة جدول، صف واحد لكل حيوان أليف.

أنشئ، درّب، توقّع: يتبع كل نموذج في هذا القسم هذه الخطوات الثلاث.

challenge icon

التحدي

سهل

يُطلق تطبيق نادٍ لمراقبة الطيور أسماءً على الطيور استنادًا إلى باع جناحيها ووزنها. يقسم البرنامج الأولي ملف birds.csv الخاص بالنادي، ويقرأ طيور الليلة في الجدول spotted.

  1. أنشئ نموذج أقرب الجيران k ودرّبه على طيور التدريب.
  2. تنبأ بفئة كل الطيور المرصودة في استدعاء واحد.
  3. اطبع سطرًا واحدًا لكل طائر، كما هو موضح أدناه.

لثلاثة طيور في جولة أخرى:

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})

# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

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

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

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