البحث الشبكي
جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 39 من 58.
يعني الضبط اليدوي وجود حلقات متداخلة. تقوم GridSearchCV بالتحقق المتقاطع من كل تركيبة من الإعدادات وتحتفظ بالأفضل. بالنسبة إلى 300 رحلة بالترام، سواء كانت متأخرة أو في الموعد المحدد:
يربط القاموس كل إعداد بالقيم التي ينبغي تجربتها. تمثّل min_samples_leaf أقل عدد من الصفوف التي يمكن أن تحتوي عليها الورقة:
from sklearn.model_selection import GridSearchCV
grid = {"max_depth": [2, 4, 6], "min_samples_leaf": [1, 5, 20]}
search = GridSearchCV(DecisionTreeClassifier(random_state=0), grid, cv=5)
search.fit(X_train, y_train)
print(search.best_params_)
print(f"{search.best_score_:.3f}")
print(f"{search.score(X_test, y_test):.3f}")يطبع هذا:
{'max_depth': 4, 'min_samples_leaf': 5}
0.876
0.813تعيد عملية البحث ملاءمة الخيار الفائز على جميع صفوف التدريب، لذا تختبره search.score مرة واحدة. اجعل الشبكات صغيرة: تكلّف كل خلية 5 عمليات ملاءمة.
التحدي
متوسطيصنّف فريق الأقمار الصناعية البكسلات على أنها سحب أو سماء صافية باستخدام k-NN. يقرأ البرنامج أكبر قيمة لـ k لتجربتها؛ ويقسّم البرنامج التمهيدي البيانات.
- ابحث شبكيًا عن كل قيمة فردية لـ k من 1 إلى ذلك العدد، باستخدام
weights"uniform"أو"distance"(تُحسب الجيران الأقرب بأوزان أكبر)، وcv=5. - اطبع أفضل الإعدادات، ودقتها المتحقَّق منها تقاطعيًا، ودقة الاختبار، مع 3 منازل عشرية.
لبكسلات أخرى ومع 7:
Best k: 7, weights: distance
Cross-validated accuracy: 0.885
Test accuracy: 0.800جرّب بنفسك
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.neighbors import KNeighborsClassifier
max_k = int(input())
# لا تغيّر الأسطر أدناه: 360 بكسلًا من صور الأقمار الصناعية، لكل منها 4 قراءات ضوئية؛ التصنيف 1 يعني وجود سحابة
X, y = make_classification(n_samples=360, n_features=4, n_informative=3, n_redundant=0,
flip_y=0.08, class_sep=0.7, random_state=1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# اكتب شيفرتك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم الخاضع للإشراف
تدرّب بنفسك: مترجم Python عبر الإنترنت