ComenzarEmpieza gratis

Selección de modelos

La regularización y la validación cruzada son herramientas muy potentes para la selección de modelos. La regularización ayuda a evitar el sobreajuste y la validación cruzada garantiza que tus modelos se evalúen correctamente. En este ejercicio, usarás regularización y validación cruzada conjuntamente y verás si los modelos difieren de forma significativa o no. Calcularás solo la precisión, aunque el mismo ejercicio puede hacerse fácilmente para el recall y otras métricas de evaluació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. Tanto precision_score() como recall_score() de sklearn.metrics están disponibles, así como KFold() y cross_val_score() de sklearn.model_selection.

Este ejercicio forma parte del curso

Predicción del CTR con Machine Learning en Python

Ver curso

Instrucciones del ejercicio

  • Configura una validación cruzada K-Fold con cuatro particiones usando n_splits y asígnala a k-fold.
  • Crea un clasificador de árbol de decisión.
  • Usa k_fold para ejecutar la validación cruzada y evalúa la precisión y el recall de tu modelo de árbol de decisión para el valor de max_depth dado.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
  k_fold = ____(____ = 4, random_state = 0, shuffle = True)
  clf = ____(____ = max_depth_val)
  print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
  y_pred = clf.fit(____, ____).predict(____) 
  
  # Calculate precision for cross validation and test
  cv_precision = ____(
    ____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
  precision = ____(y_test, y_pred, average = 'weighted')
  print("Cross validation Precision: %s" %(cv_precision))
  print("Test Precision: %s" %(precision))
Editar y ejecutar código