ComenzarEmpieza gratis

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

Ver curso

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 calcular fpr y tpr, y luego auc() 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))
Editar y ejecutar código