猪猪のAI笔记
  • README
  • 读书笔记
    • 1.特征工程
      • 1.1.数值空间
      • 1.2.文本数据
      • 1.3.词袋到TF-IDF
      • 1.4.分类变量
      • 1.5.数据降维:PCA
    • 2.自然语言
      • 2.1.处理文本的机器
      • 2.2.词频背后
      • 2.3.神经网络基础
      • 2.4.Word2Vec,词向量推理
      • 2.5.神经网络深入
    • 3.神经网络
      • 3.1.绪论
      • 3.2.机器学习
      • 3.3.线性模型
      • 3.4.前馈神经网络
      • 3.5.卷积神经网络
      • 3.6.循环神经网络
      • 3.7.网络优化
      • 3.8.注意力机制/外部记忆
      • 3.9.无监督学习
    • 4.XGboost
      • 4.1.基础和初探
  • 课程系列
    • CDA III
      • 1.数据挖掘
      • 2.特征工程
      • 3.自然语言
      • 4.神经网络
      • 5.支持向量机
      • 6.集成学习
      • 7.朴素贝叶斯
      • 8.决策树
      • 9.聚类
      • 10.模型评估
      • 11.关联规则
      • 12.计算题知识点
      • 13.计算题分析
    • 题库分析
      • 深度学习
      • 机器学习-01
      • 机器学习-02
      • 机器学习-03
      • 机器学习-04
      • 机器学习-05
      • 机器学习-06
      • 机器学习-07
      • 机器学习-08
      • 机器学习-09
      • 机器学习-10
      • Level III模拟(一)
      • Level III模拟(二)
    • 知识点
      • Transformer模型
      • ELMO,BERT,GPT
      • 正则化之L1,L2
      • 距离详解
    • K-RPA
      • RPA行业展望
      • 命名规范和开发原则
      • 脚本向导编程
      • K-RPA异常处理
      • K-RPA文件/目录操作
      • (高)K-RPA环境
      • (高)K-RPA命名规范和开发原则
      • (高)K-RPA脚本向导编程
      • (实)01:安装K-RPA
      • (实)02:脚本向导编程
      • (实)03:完整案例
      • (实)04:文件和集成
由 GitBook 提供支持
在本页
  • 1. 数据集切割
  • 1.1. 数据分割方式
  • 1.2. 交叉验证
  • 2. 分类模型评估
  • 2.1. 混淆矩阵Confusion Matrix
  • 2.2. 多分类评估
  • 3. 整体评估
  • 3.1. K-S Statistics
  • 3.2. ROC图
  • 3.3. Gini Coefficient
  • 3.4. 评分标准
  • 3.5. Response Chart
  • 3.6. Gain Chart
  • 3.7. Lift Chart
  • 4. 回归模型评估
  • 4.1. R Squared计算

这有帮助吗?

  1. 课程系列
  2. CDA III

10.模型评估

1. 数据集切割

  • 训练数据(Training Dataset),80%,可以做任何分析

  • 测试数据(Test Dataset),20%,不可做任何分析(当做未看过的数据)

分层抽样,一般测试数据集不用来做分析,假设是未知数据来对待,注:竞赛 != 数据分析。

1.1. 数据分割方式

  1. 随机从数据集中选取对应比例作训练数据(Yes/No的分布无法维持和母体数据集的比例)

  2. 「更好的方式」从Yes中选取对应比例的训练数据,然后从No中选取对应比例的训练数据,合并到一起(比例依旧遵循母体比例)

最好采用分层随机抽样。

    训练集用来训练模型M,测试集用来测试M的效能,有些机器学习为了防止过拟合,会分离验证集,修正模型。Training: Test: Validation可选择比例:6:2:2——如决策树中CART算法必须要验证集。

1.2. 交叉验证

    Cross-Validation(CV),N折交叉,没有争议的验证方式,Fold(折)越多,评估越好,比较耗时。

    Leave-One-Out-Cross-Validation,最复杂的版本,最耗时。建立模型最好创建一个基模型,以作为比较的基准:

  • 分类问题:众数建模

  • 回归问题:均值或中位数建模

2. 分类模型评估

2.1. 混淆矩阵Confusion Matrix

  • 正确率——在所有样本中预测正确的样本比例,真的预测为真,假的预测为假。

  • 精确率(查准)——实际为真,分母为预测结果的总数,等价于:真实/预测(预测真总数)。

  • 召回率(查全)——实际为真,分母为实际结果的总数,等价于:真实/实际(实际真总数)。

    拓展,F-meansure

2.2. 多分类评估

  • Macro F1:将多个类的F1相加算平均(每个类同等重要)

  • Weighted F1:在Macro基础上加权(按每种类型的比例加权计算)

  • Micro F1:计算所有混淆矩阵

    计算:

3. 整体评估

    不要结果,而是要结果的概率值,且计算的是累积结果。

  • 门槛值0.5:

  • 门槛值0.375:

注意混淆矩阵中数值的变化,门槛值对F1也会有影响。

3.1. K-S Statistics

    KS(Kolmogorov-Smirnov)值的计算:

    最佳值会到100分,最差会是0分,KS参考值:

KS值
含义

小于20

模型无鉴别能力

20 ~ 40

模型勉强接受

41 ~ 50

模型有好的区别能力

51 ~ 60

模型有很好的区别能力

61 ~ 75

(罕见)模型有非常好的区别能力

大于75

模型异常,可能有问题

Profit的计算(略)

3.2. ROC图

    ROC图如下(蓝色线就是ROC):

  • X轴:累积0的百分比

  • Y轴:累积1的百分比

ROC图围出来的面积 > 0.5,面积越大模型越稳健。

    AUC(Area Under the Curve)值([0.5, 1]):

  • 0.5 < AUC < 0.6:弱模型

  • 0.7 < AUC:更稳健模型

3.3. Gini Coefficient

    Gini的做法刚好和ROC颠倒:

  • X轴:累积1的百分比

  • Y轴:累积0的百分比

    相互计算公式如下:

  • ROC Index = AUC

  • ROC Index = A + 0.5

  • Gini Coefficient = A / (A + B) = 2A = 2 * (ROC Index - 0.5)

  • Gini = 2 * AUC - 1

3.4. 评分标准

Gini系数
K-S值
AUC值
模型优劣程度

0

<20%

=50%

无区别能力

0 ~ 40%

20% ~ 30%

50% ~ 70%

模型区别能力极差

40% ~ 60%

30% ~ 50%

70% ~ 80%

可接受的区别能力

60% ~ 80%

50% ~ 75%

80% ~ 90%

非常好的区别能力

80% ~ 100%

> 75%

90% ~ 100%

可能模型适配过度

3.5. Response Chart

  • x轴是人数百分比

  • y轴是1的Precision的累积

3.6. Gain Chart

  • x轴是人数百分比

  • y轴是1的Recall的累积

3.7. Lift Chart

    比较次要的一个图

计算方法是使用:Cumulative for 1 / Random,模型比随机乱猜的倍数处理。

4. 回归模型评估

  • MAE, Mean Absolute Error(无区间)

  • MSE, Mean Squared Error(无区间,惩罚误差比较大的模型)

  • RMSE, Root Mean Squared Error

4.1. R Squared计算

  1. SST:目标字段的总变异,Total Sum of Squares

  2. SSR:目标字段的可解释变异,Sum of Squares due to Regression

  3. SSE:目标字段的不可解释变异,Sum of Squares due to Error

  4. SST = SSR + SSE

      • N:样本数

      • P:输入字段个数

  • AIC(Akaike Information Criterion):越小越好

  • BIC(Bayesian Information Criterion):越小越好

上一页9.聚类下一页11.关联规则

最后更新于3年前

这有帮助吗?

    二者合并得到F1F_1F1​的指标:

F1=2×Precision×RecallPrecision+RecallF_1 = 2 \times \frac{Precision \times Recall}{Precision + Recall}F1​=2×Precision+RecallPrecision×Recall​

Fβ=(1+β2)×Precision×Recall(β2×Precision)+RecallF_{\beta} = (1 + \beta^2) \times \frac{Precision \times Recall}{(\beta^2 \times Precision) + Recall}Fβ​=(1+β2)×(β2×Precision)+RecallPrecision×Recall​

    β=1\beta=1β=1表示F1F_1F1​,如果β>1\beta > 1β>1,您重视Recall,如果β<1\beta < 1β<1,您重视Precision。

(Cumulative1−Cumulative0)×100(Cumulative_1 - Cumulative_0) \times 100(Cumulative1​−Cumulative0​)×100

MAE=1n∑i=1n∣yi−yi^∣MAE = \frac{1}{n}\sum_{i=1}^n|y_i - \hat{y_i}|MAE=n1​∑i=1n​∣yi​−yi​^​∣

MSE=1n∑i=1n(yi−yi^)2MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \hat{y_i})^2MSE=n1​∑i=1n​(yi​−yi​^​)2

RMSE=MSERMSE = \sqrt{MSE}RMSE=MSE​

R2R^2R2, Adjusted R2R^2R2(范围一定是[0,1],越靠近1越好)

前三个是IT的人会常用的三个指标,通常做数据分析用R2R^2R2更多。

SST=∑i=1n(yi−yˉ)2SST = \sum_{i=1}^n(y_i - \bar{y})^2SST=∑i=1n​(yi​−yˉ​)2

SSR=∑i=1n(yi^−yˉ)2SSR = \sum_{i=1}^n(\hat{y_i} - \bar{y})^2SSR=∑i=1n​(yi​^​−yˉ​)2

SSE=∑i=1n(yi−yi^)2SSE = \sum_{i=1}^n(y_i - \hat{y_i})^2SSE=∑i=1n​(yi​−yi​^​)2

R2=SSRSST=1−SSESST,0≤r2≤1R^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST}, 0 \le r^2 \le 1R2=SSTSSR​=1−SSTSSE​,0≤r2≤1

    AdjustedR2Adjusted R^2AdjustedR2:

调整的R2R^2R2:越大越好

由于增加新的输入字段后,R2R^2R2会变大,会有高估模型效能的倾向,因此调整后的R2R^2R2作为评估方式更加理想。

AdjustedR2=1−((1−R2)×N−1N−P−1)Adjusted R^2 = 1 - ((1 - R^2) \times \frac{N - 1}{N - P - 1})AdjustedR2=1−((1−R2)×N−P−1N−1​)