IniziaInizia gratis

Ottimizzare la tua Random Forest per la rilevazione di frodi

In questo esercizio esplorerai le opzioni del classificatore random forest: assegnerai dei pesi e modificherai la struttura degli alberi decisionali nella foresta. Definirai manualmente i pesi per compensare parzialmente lo sbilanciamento. Nel nostro caso abbiamo 300 casi di frode e 7000 di non-frode, quindi impostando il rapporto dei pesi a 1:12 otteniamo un rapporto di 1/3 frode e 2/3 non-frode, che è sufficientemente buono per addestrare il modello.

I dati in questo esercizio sono già stati divisi in training set e test set, quindi concentrati solo sulla definizione del modello. Puoi poi usare la funzione get_model_results() come scorciatoia. Questa funzione adatta il modello ai dati di training, effettua le predizioni e calcola metriche di performance simili ai passaggi che hai svolto negli esercizi precedenti.

Questo esercizio fa parte del corso

Rilevamento delle frodi in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Modifica l'opzione weight per impostare il rapporto a 1 a 12 tra casi di non-frode e di frode, e imposta il criterio di split su 'entropy'.
  • Imposta la profondità massima a 10.
  • Imposta il numero minimo di campioni nelle foglie a 10.
  • Imposta il numero di alberi da usare nel modello a 20.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice