Revisão e comparação de modelos

Prevendo CTR com Machine Learning em Python

Kevin Huo

Instructor

Revisão de modelos

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.neural_network import MLPClassifier
  • Regressão logística: classificador linear que define a fronteira de decisão
  • Árvores de decisão: condições em formato de árvore
  • Random Forests: conjunto de Árvores de Decisão
  • Redes neurais (MLPs): camadas com combinações lineares de features e ativação não linear
Prevendo CTR com Machine Learning em Python

Implementação de modelos

Semelhanças
  • Transformação de features e regularização
  • Treino com classifier.fit(X_train, y_train)
  • Predição com predict_proba() e predict()
Diferenças
  • Árvores de Decisão: max_depth, min_samples_split
  • Random Forests: n_estimators, oob_score
  • Regressão Logística: fit_intercept, class_weight
  • Redes Neurais: hidden_layer_sizes, max_iter
Prevendo CTR com Machine Learning em Python

Avaliação de modelos

  • Principais métricas de avaliação:
    • Matriz de confusão: confusion_matrix(y_test, y_pred)
    • Precisão: precision_score(y_test, y_pred)
    • Revocação (recall): recall_score(y_test, y_pred)
    • F-beta: fbeta_score(y_test, y_pred, beta = 0.5)
    • AUC da curva ROC: roc_auc_score(y_test, y_score[:, 1])
Prevendo CTR com Machine Learning em Python

Principais prós e contras de redes neurais

Prós

  • Escala bem com dados
  • Menos necessidade de feature engineering
  • Mais transferível entre domínios

Contras

  • Menos potente em conjuntos pequenos
  • Difícil de interpretar
  • Mais caro computacional e financeiramente
Prevendo CTR com Machine Learning em Python

Vamos praticar!

Prevendo CTR com Machine Learning em Python

Preparing Video For Download...