Düzenlileştirme
Düzenlileştirme, aşırı uyumu (overfitting) önlemek için bir modele ek bilgi ekleme sürecidir. Bu, bölümün önceki kısımlarında gördüğün değerlendirme metriklerini iyileştirmek için önemlidir. Bu egzersizde, bir decision tree'nin maksimum derinlik (max depth) parametresini değiştirerek sınıflandırma sonuçlarının nasıl etkilendiğini göreceksin.
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. Ayrıca, sklearn.metrics içinden confusion_matrix(), precision_score() ve recall_score() fonksiyonları da hazır.
Bu egzersiz, kursun bir parçasıdır
Python ile Machine Learning kullanarak TOB tahmini
Egzersiz talimatları
- Her ağacın maksimum derinliğini değiştirerek farklı decision tree'ler oluştur.
- Her ağaç için modeli eğit ve test verisi üzerinde tahminler üret.
- Her ağaç için confusion matrix, precision ve recall metriklerini değerlendir.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))