Pontuação total
Lembre-se de que precisão e revocação podem ter pesos diferentes e, por isso, a pontuação F-beta é uma métrica de avaliação importante. Além disso, a AUC da curva ROC é uma métrica complementar importante à precisão e à revocação, já que você viu antes que pode acontecer de um modelo ter AUC alta, mas baixa precisão. Neste exercício, você vai calcular o conjunto completo de métricas de avaliação para cada classificador.
Uma função print_estimator_name() é fornecida para exibir o nome de cada classificador. X_train, y_train, X_test, y_test estão disponíveis no seu workspace, e os recursos já foram padronizados. pandas como pd e sklearn também estão disponíveis no seu workspace.
Este exercício faz parte do curso
Prevendo CTR com Machine Learning em Python
Instruções do exercício
- Defina um classificador MLP com uma camada oculta de 10 unidades ocultas e 50 iterações máximas.
- Treine e faça previsões para cada classificador.
- Use as implementações do
sklearnpara obter precisão, revocação, pontuação F-beta e a AUC da pontuação ROC.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Create classifiers
clfs = [LogisticRegression(), DecisionTreeClassifier(), RandomForestClassifier(),
____(____ = (10, ), ____ = 50)]
# Produce all evaluation metrics for each classifier
for clf in clfs:
print("Evaluating classifier: %s" %(print_estimator_name(clf)))
y_score = clf.fit(X_train, y_train).____(X_test)
y_pred = clf.fit(X_train, y_train).____(X_test)
prec = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
fbeta = ____(y_test, y_pred, beta = 0.5, average = 'weighted')
roc_auc = ____(y_test, y_score[:, 1])
print("Precision: %s: Recall: %s, F-beta score: %s, AUC of ROC curve: %s"
%(prec, recall, fbeta, roc_auc))