GridSearchCV para encontrar os melhores parâmetros
Neste exercício, você vai ajustar nosso modelo de uma forma menos "aleatória", usando o GridSearchCV para fazer o trabalho por você.
Com o GridSearchCV, você pode definir qual métrica de desempenho usar na avaliação das opções. Como em detecção de fraude estamos principalmente interessados em capturar o máximo possível de casos de fraude, você pode otimizar as configurações do modelo para obter a melhor pontuação de Recall. Se também se preocupasse em reduzir o número de falsos positivos, poderia otimizar pelo F1-score, que oferece um bom equilíbrio entre Precisão e Recall.
GridSearchCV já foi importado de sklearn.model_selection, então vamos colocar em prática!
Este exercício faz parte do curso
Detecção de Fraudes em Python
Instruções do exercício
- Defina no grid de parâmetros que você quer testar 1 e 30 árvores e que deseja testar os critérios de divisão
ginieentropy. - Defina o modelo como um RandomForestClassifier simples; mantenha
random_stateem 5 para poder comparar os modelos. - Configure a opção
scoringpara otimizar por recall. - Ajuste o modelo aos dados de treino
X_trainey_traine obtenha os melhores parâmetros do modelo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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.____