Regularización
La regularización consiste en añadir información a un modelo para evitar el sobreajuste. Esto es importante para mejorar las métricas de evaluación que viste antes en el capítulo. En este ejercicio, vas a variar el parámetro de profundidad máxima de un árbol de decisión para ver cómo se afectan los resultados de clasificación.
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. Además, tienes confusion_matrix(), precision_score() y recall_score() de sklearn.metrics.
Este ejercicio forma parte del curso
Predicción del CTR con Machine Learning en Python
Instrucciones del ejercicio
- Crea distintos árboles de decisión variando la profundidad máxima de cada árbol.
- Para cada árbol, ajusta el modelo y genera predicciones sobre los datos de prueba.
- Evalúa la matriz de confusión, la precisión y el recall para cada árbol.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))