ComeçarComece de graça

Random forests

Random Forests são um método de ensemble clássico e poderoso que utiliza árvores de decisão individuais por meio de bootstrap aggregation (ou bagging, para abreviar). Dois hiperparâmetros principais nesse tipo de modelo são o número de árvores e a profundidade máxima de cada árvore. Neste exercício, você vai implementar e avaliar um classificador de random forest simples com alguns valores fixos de hiperparâmetros.

X_train, y_train, X_test, y_test estão disponíveis no seu workspace. pandas como pd, numpy como np e sklearn também estão disponíveis no seu workspace. RandomForestClassifier() de sklearn.ensemble também está disponível, junto com roc_curve() e auc() de sklearn.metrics.

Este exercício faz parte do curso

Prevendo CTR com Machine Learning em Python

Ver curso

Instruções do exercício

  • Crie um classificador de random forest com 50 árvores e profundidade máxima de 5.
  • Treine o classificador e obtenha as pontuações de probabilidade via .predict_proba() e as previsões via .predict() para os dados de teste.
  • Avalie a AUC da curva ROC para o classificador usando primeiro roc_curve() para calcular fpr e tpr, e depois auc() no resultado.
  • Avalie a precisão (precision) e a revocação (recall) do classificador.

Exercício interativo prático

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

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