Puntuación total
Recuerda que la precisión y el recall pueden ponderarse de forma distinta y, por tanto, la puntuación F-beta es una métrica de evaluación importante. Además, el AUC de la curva ROC es una métrica complementaria clave a la precisión y el recall, ya que viste antes que un modelo puede tener un AUC alto pero una precisión baja. En este ejercicio, calcularás el conjunto completo de métricas de evaluación para cada clasificador.
Se proporciona una función print_estimator_name() que devuelve el nombre de cada clasificador. X_train, y_train, X_test, y_test están disponibles en tu espacio de trabajo, y las variables ya han sido estandarizadas. pandas como pd y sklearn también están disponibles en tu espacio de trabajo.
Este ejercicio forma parte del curso
Predicción del CTR con Machine Learning en Python
Instrucciones del ejercicio
- Define un clasificador MLP con una capa oculta de 10 unidades y 50 iteraciones máximas.
- Entrena y predice con cada clasificador.
- Usa implementaciones de
sklearnpara obtener la precisión, el recall, la puntuación F-beta y el AUC del ROC.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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))