Ajustes del modelo
Una forma sencilla de ajustar el modelo de random forest para tratar con datos de fraude muy desbalanceados es usar la opción class_weights al definir tu modelo de sklearn. Sin embargo, como verás, es un mecanismo un poco tosco y puede que no funcione para tu caso concreto.
En este ejercicio explorarás el modo weight = "balanced_subsample" del modelo Random Forest del ejercicio anterior. Ya has dividido tus datos en conjuntos de entrenamiento y prueba, es decir, X_train, X_test, y_train, y_test están disponibles. Las funciones de métricas ya se han importado.
Este ejercicio forma parte del curso
Fraud Detection in Python
Instrucciones del ejercicio
- Establece el argumento
class_weightde tu clasificador enbalanced_subsample. - Ajusta tu modelo con el conjunto de entrenamiento.
- Obtén predicciones y probabilidades a partir de
X_test. - Obtén el
roc_auc_score, el classification report y la confusion matrix.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))