美文网首页
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

    一个算法,可以理解为一个数学公式,通常遇到的问题可以用x、y两个参数来解决,但随着问题的复杂度越来越大,可以...

  • 算法时间复杂度分析:大O表示法

    在开发的时候,我们如何评估一个算法的好坏,如何描述一个算法运行效率的高低呢?通俗一点的表达方法就是程序执行快或慢,...

  • 吴恩达机器学习-Chapter 11 应用机器学习的建议

    本章目的:评估判断算法的好坏,以及问题点,并对症下药 1. lesson 84 评估假设     1. 目的:评估...

  • 《数据结构》学习笔记二:算法(二)

    继续上节的学习,我们在这一篇文章里把“算法”这一章内容学习完。 本节解决问题: 算法的好坏到底是如何评估的? 知识...

  • 如何评估模型好坏

    介绍 “所有模型都是坏的,但有些模型是有用的”。我们建立模型之后,接下来就要去评估模型,确定这个模型是否‘有...

  • 算法的时间复杂度

    学习算法应该首先了解怎么去评估一个算法的好坏以及怎么去计算一个算法的效率,只有知道了这个,才能够写出好的算法 1、...

  • 《机器学习(周志华)》学习笔记(二)

    Q:怎样评估一个学习算法训练出来的学习器的效果好坏? A:评估学习器的基本思想是:1、学习器误差越小越好。对于分类...

  • 如何评估云主机的好坏

    随着云计算、大数据的快速发展,云主机也普及到各行各业中,在搜索引擎中输入云主机,运营商打的广告各个响亮面对众多服务...

  • 分类指标

    评估结果用于反应模型的好坏,必须设计合适的评估指标来测量该模型的好坏。模型的好坏是相对的,使用不同的评估指标对模型...

  • 2. 时间复杂度和空间复杂度

    算法好坏评估 高级语言编写的程序在计算机上运行时所消耗的时间取决于下列因素: 算法采用的策略,方案 编译产生的代码...

网友评论

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

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