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

ضبط مسار المعالجة

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

يمكن ضبط خط الأنابيب مثل أي نموذج، بما في ذلك خطوات التنظيف. يُسمّى كل إعداد باسم الخطوة، ثم شرطتين سفليتين، ثم المعلمة:

pipe = make_pipeline(SimpleImputer(), DecisionTreeClassifier(random_state=0))
grid = {"simpleimputer__strategy": ["mean", "median", "most_frequent"],
        "decisiontreeclassifier__max_depth": [2, 4, 6, 8]}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)

تُسمّي make_pipeline كل خطوة باسم فئتها، بأحرف صغيرة. بالنسبة إلى 200 عملية إطلاق لصواريخ نموذجية، سواء بلغت 300 m أم لا، كانت نتائج الإعدادات الـ12 كما يلي:

شبكة لمتوسط دقة التحقق المتقاطع: صفوف للتعبئة بالمتوسط والوسيط والقيمة الأكثر تكرارًا، وأعمدة لأعماق الشجرة 2 و4 و6 و8. تتراوح النتائج بين 0.733 و0.820، وتم تحديد خلية التعبئة بالوسيط عند العمق 6 على أنها الأفضل بنتيجة 0.820

تعيد كل طية ملاءمة خط الأنابيب بالكامل، بما في ذلك أداة التعويض، لذا لا تطّلع أي طية على الصفوف التي تختبرها.

challenge icon

التحدي

متوسط

تريد مدرسة موسيقى معرفة أيّ من طلاب الكمان سينجحون في امتحان المستوى. يقرأ الكود الابتدائي ثلاث قيم لـ k، ويتوقف البحث الشبكي عبر خط الأنابيب بسبب خطأ.

  1. أصلح مفتاحَي الشبكة لكي يضبط البحث استراتيجية المُعوِّض وعدد الجيران في k-NN.
  2. اطبع أفضل الإعدادات، ودقتها المتحقَّق منها بالتقاطع، ودقة الاختبار، كما هو موضح أدناه.

مدرسة أخرى، مع 2، 4، 6:

Best: mean fills, 6 neighbors
Cross-validated accuracy: 0.720
Test accuracy: 0.820

جرّب بنفسك

import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline

# طلاب الكمان: اجتازوا امتحان المستوى (1) أم لم يجتازوه (0)؛ بعض سجلات التمرين
# ودرجات القراءة الموسيقية من النظرة الأولى مفقودة
students = pd.read_csv("violins.csv")
X = students.drop(columns="passed")
y = students["passed"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = [int(input()), int(input()), int(input())]

# يتوقف هذا البحث بسبب خطأ: أصلح شبكة المعلمات
pipe = make_pipeline(SimpleImputer(), StandardScaler(), KNeighborsClassifier())
grid = {
    "strategy": ["mean", "median"],
    "n_neighbors": ks,
}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)

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

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

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

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