Model seçimi
Düzenlileştirme ve çapraz doğrulama, model seçiminde güçlü araçlardır. Düzenlileştirme aşırı öğrenmeyi önlemeye yardımcı olur, çapraz doğrulama ise modellerinin doğru şekilde değerlendirildiğinden emin olmanı sağlar. Bu egzersizde, düzenlileştirme ve çapraz doğrulamayı birlikte kullanacak ve modellerin anlamlı ölçüde farklı olup olmadığını göreceksin. Yalnızca precision (kesinlik) hesaplayacaksın, ancak aynı egzersiz kolayca recall (duyarlılık) ve diğer değerlendirme metrikleri için de yapılabilir.
X_train, y_train, X_test, y_test çalışma alanında mevcut. pandas pd olarak, numpy np olarak ve sklearn de çalışma alanında mevcut. sklearn.metrics içinden precision_score() ve recall_score() ile sklearn.model_selection içinden KFold() ve cross_val_score() de kullanılabilir.
Bu egzersiz, kursun bir parçasıdır
Python ile Machine Learning kullanarak TOB tahmini
Egzersiz talimatları
n_splitskullanarak dört parçalı bir K-Katlı çapraz doğrulama kur vek-folddeğişkenine ata.- Bir karar ağacı sınıflandırıcısı oluştur.
- Verilen
max_depthdeğeri için karar ağacı modelinin precision ve recall değerlerini değerlendirmek üzere çapraz doğrulamayık_foldile çalıştır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
k_fold = ____(____ = 4, random_state = 0, shuffle = True)
clf = ____(____ = max_depth_val)
print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Calculate precision for cross validation and test
cv_precision = ____(
____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
precision = ____(y_test, y_pred, average = 'weighted')
print("Cross validation Precision: %s" %(cv_precision))
print("Test Precision: %s" %(precision))