ComeçarComece de graça

Seleção de modelo

Tanto a regularização quanto a validação cruzada são ferramentas poderosas na seleção de modelos. A regularização ajuda a evitar overfitting, e a validação cruzada garante que seus modelos sejam avaliados corretamente. Neste exercício, você vai usar regularização e validação cruzada juntas e verificar se os modelos diferem significativamente ou não. Você vai calcular apenas a precisão (precision), embora o mesmo exercício possa ser feito facilmente para recall e outras métricas de avaliação.

X_train, y_train, X_test, y_test estão disponíveis no seu ambiente. pandas como pd, numpy como np e sklearn também estão disponíveis. Tanto precision_score() quanto recall_score() de sklearn.metrics estão disponíveis, assim como KFold() e cross_val_score() de sklearn.model_selection.

Este exercício faz parte do curso

Prevendo CTR com Machine Learning em Python

Ver curso

Instruções do exercício

  • Configure uma validação cruzada K-Fold com quatro divisões usando n_splits e atribua a k-fold.
  • Crie um classificador de árvore de decisão.
  • Use k_fold para executar a validação cruzada e avaliar a precisão (precision) e o recall do seu modelo de árvore de decisão para o valor de max_depth fornecido.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código