En iyi ağaç derinliğini belirle
Şimdi karar ağacının max_depth parametresini ayarlayarak, aşırı öğrenmeyi azaltırken model performans metriklerini iyi seviyede tutan değeri bulacaksın. Birden fazla max_depth parametre değeri üzerinden bir for döngüsü çalıştıracak, her biri için bir karar ağacı kuracak ve ardından performans metriklerini hesaplayacaksın.
Aday parametreleri içeren depth_list listesi senin için yüklendi. depth_tuning dizisi 2 sütunla senin için hazırlandı; ilk sütun derinlik adaylarıyla dolduruldu, ikinci sütun ise recall skoru için yer tutucu. Ayrıca özellik ve hedef değişkenleri eğitim verisi için train_X, train_Y ve test verisi için test_X, test_Y olarak yüklendi. Hem numpy hem de pandas kütüphaneleri sırasıyla np ve pd olarak yüklendi.
Bu egzersiz
Python ile Pazarlama için Machine Learning
kursunun bir parçasıdırEgzersiz talimatları
depth_listlistesinin uzunluğuna göre 0'dan başlayarak birfordöngüsü çalıştır.- Her derinlik adayı için bir karar ağacı sınıflandırıcısı başlat, eğit ve test verisi üzerinde churn tahmini yap.
- Her derinlik adayı için
recall_score()fonksiyonunu kullanarak recall skorunu hesapla ve bunudepth_tunningdizisinin ikinci sütununa kaydet. - Uygun sütun adlarıyla
depth_tuningdizisinden birpandasDataFrame oluştur.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Run a for loop over the range of depth list length
for index in ___(0, len(depth_list)):
# Initialize and fit decision tree with the `max_depth` candidate
mytree = DecisionTreeClassifier(___=depth_list[index])
mytree.fit(___, train_Y)
# Predict churn on the testing data
pred_test_Y = mytree.predict(___)
# Calculate the recall score
depth_tuning[index,1] = ___(test_Y, ___)
# Name the columns and print the array as pandas DataFrame
col_names = ['Max_Depth','Recall']
print(pd.DataFrame(depth_tuning, columns=___))