GridSearchCV para encontrar los parámetros óptimos
En este ejercicio vas a ajustar nuestro modelo de una forma menos "aleatoria" usando GridSearchCV para que haga el trabajo por ti.
Con GridSearchCV puedes definir qué métrica de rendimiento quieres usar para puntuar las opciones. Dado que en la detección de fraude nos interesa sobre todo captar el mayor número posible de casos de fraude, puedes optimizar la configuración del modelo para obtener el mejor Recall posible. Si también te preocupara reducir el número de falsos positivos, podrías optimizar con F1-score, que te da ese equilibrio entre Precision y Recall.
GridSearchCV ya se ha importado desde sklearn.model_selection, ¡vamos a probarlo!
Este ejercicio forma parte del curso
Fraud Detection in Python
Instrucciones del ejercicio
- Define en la rejilla de parámetros que quieres probar 1 y 30 árboles, y que quieres probar los criterios de división
giniyentropy. - Define el modelo como un RandomForestClassifier sencillo; mantén
random_stateen 5 para poder comparar modelos. - Establece la opción
scoringpara que optimice el recall. - Ajusta el modelo con los datos de entrenamiento
X_trainyy_trainy obtén los mejores parámetros para el modelo.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Define the parameter sets to test
param_grid = {'n_estimators': [____, ____], 'max_features': ['auto', 'log2'], 'max_depth': [4, 8], 'criterion': ['____', '____']
}
# Define the model to use
model = ____(random_state=5)
# Combine the parameter sets with the defined model
CV_model = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='____', n_jobs=-1)
# Fit the model to our training data and obtain best parameters
CV_model.fit(____, ____)
CV_model.____