Ajusta tu Random Forest para la detección de fraude
En este ejercicio vamos a profundizar en las opciones del clasificador de random forest: asignaremos pesos y ajustaremos la estructura de los árboles de decisión del bosque. Vas a definir los pesos manualmente para compensar un poco el desequilibrio. En nuestro caso hay 300 casos de fraude frente a 7000 de no fraude; si fijamos la proporción de pesos en 1:12, obtenemos una proporción efectiva de 1/3 fraude y 2/3 no fraude, suficiente para entrenar el modelo.
Los datos de este ejercicio ya están divididos en conjuntos de entrenamiento y de prueba, así que solo necesitas centrarte en definir tu modelo. Luego puedes usar la función get_model_results() como atajo. Esta función ajusta el modelo con los datos de entrenamiento, predice y obtiene métricas de rendimiento similares a los pasos que hiciste en los ejercicios anteriores.
Este ejercicio forma parte del curso
Fraud Detection in Python
Instrucciones del ejercicio
- Cambia la opción
weightpara fijar la proporción en 1 a 12 para los casos de no fraude y fraude, y establece el criterio de partición en 'entropy'. - Define la profundidad máxima en 10.
- Define el mínimo de muestras en hojas (
leaf nodes) en 10. - Define el número de árboles del modelo en 20.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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)