Menyesuaikan Random Forest Anda untuk deteksi kecurangan
Dalam latihan ini Anda akan menelusuri opsi-opsi untuk classifier random forest, karena kita akan memberikan bobot dan menyesuaikan bentuk pohon keputusan di dalam forest. Anda akan menentukan bobot secara manual untuk sedikit mengimbangi ketidakseimbangan data. Dalam kasus kita ada 300 kasus kecurangan dan 7000 kasus bukan kecurangan, jadi dengan menetapkan rasio bobot 1:12, kita memperoleh rasio 1/3 kecurangan dan 2/3 bukan kecurangan, yang sudah memadai untuk melatih model.
Data pada latihan ini sudah dibagi menjadi himpunan latih dan uji, jadi Anda hanya perlu fokus pada pendefinisian model. Anda kemudian dapat menggunakan fungsi get_model_results() sebagai jalan pintas. Fungsi ini melatih model pada data latih Anda, melakukan prediksi, dan mendapatkan metrik kinerja serupa dengan langkah-langkah yang Anda lakukan pada latihan sebelumnya.
Latihan ini adalah bagian dari kursus
Deteksi Kecurangan di Python
Petunjuk latihan
- Ubah opsi
weightuntuk menetapkan rasio 1 banding 12 untuk kasus bukan kecurangan dan kecurangan, serta atur kriteria pemisahan menjadi 'entropy'. - Atur kedalaman maksimum menjadi 10.
- Atur jumlah minimal sampel pada node daun menjadi 10.
- Atur jumlah pohon yang digunakan dalam model menjadi 20.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)