Random forests
Los Random Forests son un método de conjunto clásico y potente que utiliza árboles de decisión individuales mediante agregación bootstrap (o bagging). Dos hiperparámetros principales en este tipo de modelo son el número de árboles y la profundidad máxima de cada árbol. En este ejercicio, implementarás y evaluarás un clasificador de random forest sencillo con algunos valores de hiperparámetros fijos.
X_train, y_train, X_test, y_test están disponibles en tu espacio de trabajo. pandas como pd, numpy como np y sklearn también están disponibles. RandomForestClassifier() de sklearn.ensemble está disponible, junto con roc_curve() y auc() de sklearn.metrics.
Este ejercicio forma parte del curso
Predicción del CTR con Machine Learning en Python
Instrucciones del ejercicio
- Crea un clasificador de random forest con 50 árboles y una profundidad máxima de 5.
- Entrena el clasificador y obtén las puntuaciones de probabilidad con
.predict_proba()y las predicciones con.predict()para los datos de prueba. - Evalúa el AUC de la curva ROC del clasificador usando primero
roc_curve()para calcularfprytpr, y luegoauc()sobre el resultado. - Evalúa la precisión y el recall del clasificador.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Create random forest classifier with specified params
clf = ____(____ = 50, ____ = 5)
# Train classifier - predict probability score and label
y_score = clf.____(X_train, y_train).____(X_test)
y_pred = clf.____(X_train, y_train).____(X_test)
# Get ROC curve metrics
fpr, tpr, thresholds = ____(y_test, y_score[:, 1])
print("ROC of AUC: %s"%(____(fpr, tpr)))
# Get precision and recall
precision = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
print("Precision: %s, Recall: %s" %(precision, recall))