Sınıfları dengeleme
recall ve accuracy skorları arasındaki farkın da gösterdiği gibi, bu durum tahmin sonuçlarını ciddi şekilde etkileyebilir. Dengesizliği çözmek için genelde her sınıfa eşit ağırlık verilir. sklearn'ün DecisionTreeClassifier içinde class_weight argümanını kullanarak sınıfları "balanced" yapabilirsin.
Hadi, modelimizi dengesizlik sorununu çözerek düzeltelim:
- önce, dengelenmiş sınıflara sahip bir model kuracaksın
- sonra, bunu eğitim verisine fit edeceksin
- son olarak, test setindeki doğruluğunu kontrol edeceksin
features_train, target_train, features_test ve target_test değişkenleri çalışma alanında hazır.
Bu egzersiz
İK Analitiği: Python ile Çalışan Terkini (Churn) Tahmin Etme
kursunun bir parçasıdırEgzersiz talimatları
- Decision Tree Classifier'ı başlat, maksimum derinliğini 5 ile sınırlandırarak ağacını buda ve sınıf ağırlıklarını dengeli olacak şekilde ayarla.
- Yeni modeli fit et.
- Test seti için tahminin doğruluk
scoredeğerini (yüzde olarak) yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Initialize the DecisionTreeClassifier
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)
# Fit the model
model_depth_5_b.____(features_train,target_train)
# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)