8.1 基础知识

8.1.1 偏差-方差权衡

y=f(x)+ε,E(ε)=0f表示真实模型,ˆf是模型某次训练得到的结果,E(ˆf)表示训练模型的期望表现。

E[(ˆfy)2]=E[(ˆfE(ˆf)+E(ˆf)y)2]=E[(ˆfE(ˆf))2]+E[(E(ˆf)y)2]+2E[(ˆfE(ˆf))(E(ˆf)y)]=E[(ˆfE(ˆf))2]+E[(E(ˆf)y)2]=E[(ˆfE(ˆf))2]+E[(E(ˆf)fε)2]=E[(ˆfE(ˆf))2]+E[(E(ˆf)f)2]+ε2

故模型的期望泛化错误率可拆解为方差+偏差+噪声

8.1.2 评价指标

  1. 分类问题
  • 准确率

Accuracy=TP+TNTP+TN+FP+FN

  • 精确率(查准率):有没有误报

Precision=TPTP+FP

  • 召回率(查全率):有没有漏报

Recall=TPTP+FN

  • F1与Fβ

F1=2PrecisionRecallPrecision+RecallFβ=(1+β2)PrecisionRecallβ2Precision+Recall

0<β<1时精确率有更大影响,β>1时召回率有更大影响

  • ROC曲线与AUC:横轴假阳率FPR,纵轴真阳率TPR,全局性能评估

TPR=TPTP+FNFPR=FPFP+TN

  • PR曲线与AUC:横轴召回率,纵轴精确率,更关注正样本预测质量

当存在类别不平衡情况时,PR曲线相较ROC曲线更敏感,能捕捉到异常

  • 代价曲线:引入误判代价

  • 宏平均:对于多个混淆矩阵,先计算各个混淆矩阵的指标,再求平均

  • 微平均:对于多个混淆矩阵,先平均各个混淆矩阵,再求指标

  1. 回归问题
  • 均方误差:对异常值敏感

  • 均方根误差:量纲与目标变量一致

  • 平均绝对误差:对异常值不敏感

  • R2R2adj

  1. 其他
  • AIC

AIC=2L(ˆθ)max+2k

k是参数数量

  • BIC

BIC=2L(ˆθ)max+kln(n)

8.1.3 特征工程

特征工程:从原始数据中创建、选择、变换或组合特征,以提高机器学习模型性能的过程。

8.1.3.1 探索性数据分析

了解数据在分布、类型、统计量、缺失值、异常值、实际含义等方面的基本信息。

方法:

  1. 数据可视化

    注意辛普森悖论,引入分层变量进行探索

  2. 描述性统计

  3. 专家的先验知识

  4. 相关性分析

    皮尔逊相关系数、斯皮尔曼秩相关系数(非参)、肯德尔秩相关系数(非参,有序变量)、列联表检验

8.1.3.2 数据清洗

  1. 缺失值

    • 删除:删除记录或者直接删除特征

    • 填充:用均值、中位数、众数、模型预测值、插值等方法进行填充

naniar包用于可视化缺失值,如vis_miss()miss_var_summary()miss_case_summary()

  1. 异常值

    先要检查指标的口径与定义是否不一致。

    • 识别:箱线图与四分位距IQR、Z-score

    • 处理:删除、用分位数替换、数据分箱

8.1.3.3 特征创建

基于已有特征创建新的特征,往往要结合专家建议

  • 取对数、取平方等数学变换

  • 融合特征,如根据总量指标与人数指标构建人均指标

  • 数据分箱

8.1.3.4 特征变换

改变特征的尺度、编码方式。

  • 中心标准化

  • 极差标准化

  • 哑变量编码

  • 独热编码

  • 序数编码:适用于顺序变量

8.1.3.5 特征选择

剔除无关或冗余的特征。

  • 惩罚函数法,如单变量选择、群组变量选择

  • 基于统计指标(AIC、BIC、R方)等的模型选择

  • 树模型的重要性得分

  • SHAP值

  • 降维方法:PCA、t-SNE、UMAP、自编码器