Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Ändra alternativet weight så 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)
Redigera och kör kod