模型回顾与比较

用 Python 预测 CTR 的机器学习实战

Kevin Huo

Instructor

模型回顾

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.neural_network import MLPClassifier
  • 逻辑回归:线性分类器,学习决策边界
  • 决策树:条件的树状结构
  • 随机森林:多棵决策树的集成
  • 神经网络(MLP):用特征线性组合并加非线性激活的多层结构
用 Python 预测 CTR 的机器学习实战

模型实现

相同点
  • 特征变换与正则化
  • 通过 classifier.fit(X_train, y_train) 拟合
  • 通过 predict_proba()predict() 预测
不同点
  • 决策树:max_depthmin_samples_split
  • 随机森林:n_estimatorsoob_score
  • 逻辑回归:fit_interceptclass_weight
  • 神经网络:hidden_layer_sizesmax_iter
用 Python 预测 CTR 的机器学习实战

模型评估

  • 关键评估指标:
    • 混淆矩阵:confusion_matrix(y_test, y_pred)
    • 精确率:precision_score(y_test, y_pred)
    • 召回率:recall_score(y_test, y_pred)
    • F-beta 分数:fbeta_score(y_test, y_pred, beta = 0.5)
    • ROC 曲线下的 AUC:roc_auc_score(y_test, y_score[:, 1])
用 Python 预测 CTR 的机器学习实战

使用神经网络的主要优缺点

优点

  • 随数据规模良好扩展
  • 对特征工程依赖更少
  • 跨领域可迁移性更强

局限

  • 小数据集上效果较弱
  • 可解释性差
  • 计算与成本更高
用 Python 预测 CTR 的机器学习实战

Let's practice!

用 Python 预测 CTR 的机器学习实战

Preparing Video For Download...