Selecionando o melhor modelo em precisão
Seu chefe se ofereceu para pagar para você assistir a três jogos esportivos neste ano. Dos 41 jogos em casa que o seu time favorito disputa, você quer garantir que irá a três jogos em casa que ele vai ganhar com certeza. Você constrói um modelo para decidir quais jogos o seu time vai vencer.
Para isso, você vai criar um algoritmo de busca aleatória e focar na precisão do modelo (para garantir as vitórias do seu time). Você também quer registrar seu melhor modelo e os melhores hiperparâmetros, para poder usá-los novamente no ano que vem (se o modelo se sair bem, claro). Você já decidiu usar o modelo de classificação de random forest rfc e gerou uma distribuição de parâmetros param_dist.
Este exercício faz parte do curso
Validação de Modelos em Python
Instruções do exercício
- Crie um avaliador de precisão,
precision, usandomake_scorer(<scoring_function>). - Complete o método de busca aleatória usando
rfceparam_dist. - Use
rs.cv_results_para imprimir as médias dos escores de teste. - Imprima o melhor escore geral.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
from sklearn.metrics import precision_score, make_scorer
# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
estimator=____, param_distributions=____,
scoring = precision,
cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)
# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))