Menyeimbangkan kelas
Hal ini dapat sangat memengaruhi hasil prediksi, sebagaimana terlihat dari perbedaan antara skor recall dan accuracy. Untuk mengatasi ketidakseimbangan, bobot yang sama biasanya diberikan pada setiap kelas. Dengan argumen class_weight di DecisionTreeClassifier milik sklearn, Anda dapat membuat kelas menjadi "balanced".
Mari kita koreksi model dengan mengatasi masalah ketidakseimbangannya:
- pertama, Anda akan menyiapkan model dengan kelas yang seimbang
- kemudian, Anda akan melatihnya pada data latih
- terakhir, Anda akan memeriksa akurasinya pada himpunan data uji
Variabel features_train, target_train, features_test, dan target_test sudah tersedia di ruang kerja Anda.
Latihan ini adalah bagian dari kursus
Analitik SDM: Memprediksi Perputaran Karyawan dengan Python
Petunjuk latihan
- Inisialisasi Decision Tree Classifier, pangkas pohon Anda dengan membatasi kedalaman maksimum hingga 5, dan seimbangkan bobot kelas.
- Latih model baru tersebut.
- Cetak
scoreakurasi prediksi (dalam persentase) untuk himpunan data uji.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)