美文网首页
0x01_如何评估算法的好坏_01

0x01_如何评估算法的好坏_01

作者: zhree003 | 来源:发表于2020-03-08 23:25 被阅读0次

          一个算法,可以理解为一个数学公式,通常遇到的问题可以用x、y两个参数来解决,但随着问题的复杂度越来越大,可以将y=f(x1,x2,…,xN),这便是一个多维线性方程。试想要解出这道题,是如何的复杂;思维转换下,我们要计算一个“大概”的公式(算法)去解决面临的复杂问题。

    1、训练数据和测试数据准备;

    在此阶段要对数据质量做校验,不能出现太大的偏差,这样通过训练数据测算出来的模型(算法)就没法通过测试数据的验收

    2、训练过程的检验

    @评价分类结果:

    精准度-精准率(查准率)、召回率(查全率)、F1 Score、ROC曲线等

    评价分类算法的问题——>分类的效果(全 and 准)

    ·F1 Score 是精准率和召回率的调和平均值。

    ·ROC曲线距离左上角越近,证明分类器效果越好。如果一条算法1的ROC曲线完全包含算法2,则可以断定性能算法1>算法2。这很好理解,此时任做一条 横线(纵线),任意相同TPR(FPR) 时,算法1的FPR更低(TPR更高),故显然更优。

    一般在ROC曲线中,我们关注是曲线下面的面积, 称为AUC(Area Under Curve)。这个AUC是横轴范围(0,1 ),纵轴是(0,1)所以总面积是小于1的。

    ROC和AUC的主要应用:比较两个模型哪个好?主要通过AUC能够直观看出来。

    ROC曲线下方由梯形组成,矩形可以看成特征的梯形。因此,AUC的面积可以这样算:(上底+下底)* 高 / 2,曲线下面的面积可以由多个梯形面积叠加得到。AUC越大,分类器分类效果越好。

    AUC = 1,是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。

    0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

    AUC = 0.5,跟随机猜测一样,模型没有预测价值。

    AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

    @评价回归结果:

    MSE(均方误差)、RMSE(均方根误差)、MAE(平均绝对误差)、R Squared

    评价回归算法的问题——>评价误差的问题:

    ①直接算误差,MSE(均方误差)、RMSE(均方根误差)、MAE(平均绝对误差)

    ②转为0-1算误差,R Squared

    ·分类准确率,就是在01之间取值。但RMSE和MAE没有这样的性质,得到的误差。因此RMSE和MAE就有这样的局限性,比如我们在预测波士顿方差,RMSE值是4.9(万美元) 我们再去预测身高,可能得到的误差是10(厘米),我们不能说后者比前者更准确,因为二者的量纲根本就不是一类东西。

    其实这种局限性,可以被解决。用一个新的指标R Squared。

    R方这个指标为什么好呢?

    对于分子来说,预测值和真实值之差的平方和,即使用我们的模型预测产生的错误。

    对于分母来说,是均值和真实值之差的平方和,即认为“预测值=样本均值”这个模型(Baseline Model)所产生的错误。

    我们使用Baseline模型产生的错误较多,我们使用自己的模型错误较少。因此用1减去较少的错误除以较多的错误,实际上是衡量了我们的模型拟合住数据的地方,即没有产生错误的相应指标

    我们根据上述分析,可以得到如下结论:

    R^2 <= 1

    R2越大也好,越大说明减数的分子小,错误率低;当我们预测模型不犯任何错误时,R2最大值1

    当我们的模型等于基准模型时,R^2 = 0

    如果R^2 < 0,说明我们学习到的模型还不如基准模型。此时,很有可能我们的数据不存在任何线性关系。

    相关文章

      网友评论

          本文标题:0x01_如何评估算法的好坏_01

          本文链接:https://www.haomeiwen.com/subject/jdysdhtx.html