Ajuster votre Random Forest pour la détection de fraude
Dans cet exercice, vous allez explorer les options du classificateur random forest : nous allons attribuer des poids et ajuster la structure des arbres de décision de la forêt. Vous allez définir les poids manuellement afin d'atténuer un peu le déséquilibre. Dans notre cas, on compte 300 fraudes pour 7 000 non-fraudes; en fixant le ratio des poids à 1:12, on obtient un ratio d'environ 1/3 de fraudes pour 2/3 de non-fraudes, ce qui est suffisant pour entraîner le modèle.
Les données ont déjà été séparées en ensembles d'entraînement et de test; vous pouvez donc vous concentrer sur la définition de votre modèle. Vous pouvez ensuite utiliser la fonction get_model_results() comme raccourci. Cette fonction entraîne le modèle sur vos données d'entraînement, produit des prédictions et calcule des mesures de performance similaires aux étapes réalisées dans les exercices précédents.
Cette activité fait partie du cours
Détection de fraude en Python
Instructions de l’exercice
- Modifiez l'option
weightpour fixer le ratio à 1 pour 12 entre les cas non frauduleux et frauduleux, et définissez le critère de partition à « entropy ». - Réglez la profondeur maximale à 10.
- Réglez le nombre minimal d'exemples dans les feuilles à 10.
- Réglez le nombre d'arbres à utiliser dans le modèle à 20.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)