BaşlayınÜcretsiz başlayın

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, kursun bir parçasıdır

Python ile Pazarlama için Machine Learning

Kursa Göz Atın

Egzersiz talimatları

  • depth_list listesinin uzunluğuna göre 0'dan başlayarak bir for dö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 bunu depth_tunning dizisinin ikinci sütununa kaydet.
  • Uygun sütun adlarıyla depth_tuning dizisinden bir pandas DataFrame oluştur.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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=___))
Kodu Düzenle ve Çalıştır