Anpassa din Random Forest för bedrägeridetektering
I den här övningen utforskar du alternativen för random forest-klassificeraren. Du kommer att tilldela vikter och justera formen på beslutsträden i skogen. Du definierar vikterna manuellt för att delvis kompensera för den ojämna fördelningen. I vårt fall har vi 300 bedrägerier mot 7 000 icke-bedrägerier, så genom att sätta viktförhållandet till 1:12 når vi ett förhållande på 1/3 bedrägerier mot 2/3 icke-bedrägerier – vilket är tillräckligt bra för att träna modellen på.
Data i den här övningen har redan delats upp i tränings- och testmängd, så du behöver bara fokusera på att definiera din modell. Du kan sedan använda funktionen get_model_results() som en genväg. Den här funktionen anpassar modellen till dina träningsdata, gör prediktioner och beräknar prestandamått på samma sätt som i de tidigare övningarna.
Den här övningen är en del av kursen
Bedrägeridetektering i Python
Övningsinstruktioner
- Ändra alternativet
weightså att förhållandet sätts till 1 till 12 för icke-bedrägerier respektive bedrägerier, och ange uppdelningskriteriet till 'entropy'. - Sätt det maximala djupet till 10.
- Sätt det minsta antalet sampel i lövnoderna till 10.
- Sätt antalet träd i modellen till 20.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)