精华内容
下载资源
问答
  • 传统的机器学习分类一般按照有监督和无监督来进行区分,有监督主要是各种分类和回归的算法,无监督主要是聚类。新的机器学习方法主要包括:深度学习和强化学习。深度学习中可以做分类和回归的无监督算法,在无监督...

    1、背景

    传统的机器学习分类一般按照有监督和无监督来进行区分,有监督主要是各种分类和回归的算法,无监督主要是聚类。新的机器学习方法主要包括:深度学习和强化学习。深度学习中可以做分类和回归的无监督算法,在无监督学习方法主要还是做分类,深度学习的无监督主要是生成模型GAN。强化学习是一种激励性的学习方式,其评价方式也比较独特。

    本文主要讲解有监督学习中的分类各种评价指标以及如何判断新旧模型的好坏。

    分类问题包括:二分类,多分类,多标签分类,二分类和多分类最终的分类只有一个类别标签,多标签分类是一个元素对应多个类别标签。二分类和多分类评价类同,是本文讨论的内容,多标签分类的预测和比较是二个列表之间的比较,其评价方法更加复杂一点,另外,二个了列表的评价在推荐和搜索中涉及到位置的概念,评价指标更复杂,后续文章会进行讲解。分类模型之间关系如下:

    2、二分类评价指标

    二分类结果混淆矩阵有4中情况:

    • TP:True Positive, 把正类预测为正类;
    • FP:False Positive,把负类预测为正类;
    • TN:True Negative, 把负类预测为负类;
    • FN:False Negative,把正类预测为负类

    见下图

    image.png

     

    2.1指标

    2.1.1 准确率Accuracy

    accuracy = (TP+TN)/(TP+FN+TN+FP)

    2.1.2 召回率Recall

    Recall = TP/(TP+FN) ,实际上为: 预测为正实际也为正的/实际为正的(其中包括预测为负的)

    2.1.3 精确率Precision

    Precision = TP/(TP+FP) 实际上为; 预测为正实际也为正的/预测为正(包括预测为正,实际为负)

     

    2.1.4 敏感度和特异度

    敏感度(sensitivity)=召回率Recall= TP/(TP+FN)

    特异度(specificity) = TN/(TN+FP) ,评估预测为负的准确率

    敏感性和特异性分析,就是分析: 为正例判断为正的能力,为负例判断为负的能力。实际模型中敏感性和特异性都还好的情况几乎不存在,只有在FP和FN都非常小的情况下才可能,这在机器学习中是很难达到的。

     

    2.1.5 TPR和FPR

    TPR:True Positive Rate,真正率, TPR代表能将正例分对的概率,TPR=召回率

    FPR: False Positive Rate, 假正率, FPR代表将负例错分为正例的概率,FPR=FP/(FP+TN)

    2.1.6 F1 score

    平衡召回率和准确率的指标

    F1=2TP/(2TP+FN+FP)=2*召回率*准确率/(召回率+准确率)

    2.2 图形分析

    对每个二分类来说,输出的类比都是应该是一个概率,在[0,1]区间,如果不是这个区间,应该归一化到这个区间。归一化到这个区间就意味着,多大的阈值为正,多的的阈值为负。

    通过设置阈值来确定当前样本预测的值,其中阈值N表示大于等于概率的表示为正,小于的为负,对应的就可以形成下面的表格:

    样本 预测概率 真实值 阈值0.7 阈值0.6 阈值0.5
    样本1 0.9 1 1 1 1
    样本2 0.8 1 1 1 1
    样本3 0.7 1 1 1 1
    样本4 0.2 1 0 0 0
    样本5 0.5 1 0 0 1
    样本6 0.2 0 0 0 0
    样本7 0.1 0 0 0 0
    样本8 0.01 0 0 0 0
    样本9 0.6 0 0 1 0
    样本10 0.72 0 1 1 0

     

    计算各个阈值下对应的各个指标,如下图:

      准确率
    accuracy
    召回率
    (敏感度,TPR)
    Recall
    精确率
    Precision
    特异度
    (预测负准确率)
    specificity
    假正率
    FPR
    阈值0.7 0.7 0.75 0.6 4/7 2/7
    阈值0.6 0.6 3/7 0.6 3/7 2/7
    阈值0.5 0.9 0.8 0.8 5/6 1/6

     

    针对对应指标的分析主要包括:ROC曲线分析,PR曲线分析,还要比较少的用的敏感性和特异性分析

    1.2.1 ROC和AUC

    FPR为横坐标,TPR为正坐标绘图就为ROC曲线,举例曲线如下:

    image

     

    可以看到无论FPR取什么样的值,TPR都接近于1最好,也就是曲线越靠近左上角越好。AUC:(Area Under roc CurveROC)曲线下的面积,引入AUC的原因是量化评价指标。

    AUC表征了分类器把正样本排在负样本前边的能力。这里的意思其实是指数据按照其为正的概率从大到小排序之后,正样本排在负样本前边的能力。AUC越大,就有越多的正样本排在负样本前边。极端来看,如果ROC的(0, 1)点,所有的正样本都排在负样本的前边。

     

    1.2.2 PR曲线

    以召回率Recall为横坐标,准确率Precision为横坐标,描绘出来的曲线就为PR曲线。例如下图:

    image.png

    实际情况中,不能单纯的说P值好,还是R值,最终使用F1 scores就是模型的准确率和召回率的调和平均数,具体的公式为: F1=2TP/(2TP+FN+FP)

    image.png

    一般的模型选择的时候,选择f1值最高的或者附近的就好

     

    1.2.3 模型评价和模型阈值

    F1评价

    从一个问题开始,假设模型A对应最好F1为0.9,对应threshold为0.6,模型B对应的最好的F1为0.8,对应的threshold为0.8,那么是不是模型A就一定比模型B好呢?

    答案是不一定

    模型A和模型B的f1的曲线可能如下图:

    image.png

    模型A在0.6这个阈值上f1值好,但是绝大多数情况下的f1的值都比模型B差。更进一步的原因,模型评测是在封闭语料中进行的,等上线完成后经常会发现,在现网开放语料的情况下,因为阈值比较第,导致准确率降低的厉害,需要提高阈值,这种情况下模型B就比模型A的优势明显

    总结: 一般情况下,模型的选择是选择积分面积大的模型,同等语料下,二个模型的比较规则是:如果一个被另一个完全包住,那么大的那个好。如果两个有交叉,一般而言,面积大的那个好

     

    ROC曲线使用:

    有些应用场景更关注整样本的准确率,比如:欺诈检测,只关注欺诈用户是否检测出来,本身欺诈用户在整个用户都是百分之几,所以只关注模型在正样本上是否表现好,这种情况下使用ROC来进行判断,模型还是面积大的为好,

    更进一步说,虽然模型F1值表现很好,但是因为F1中有负样本的情况,而欺诈检测中负样本为正常用户,检测出正常用户不是模型的目标,所以这种情况下只关注ROC,不关注F1。

     

     

    敏感性和特异性使用

    在医学上,漏诊和误诊都需要考虑,这种情况下就需要针对敏感性和特异性进行绘图分析。

     

     

    注意:

    Accuracy 和 Precision的区别

    那么 Accuracy就是 (TP+TN)/(P+N),也就是所有正确的;

    而Precision不是,P指的是 TP/(TP+FP),也就是预测成正例的情况,有多少比例是真的正例。

     

    3 多分类评价

    当我们的问题属于多分类问题时,考察在不同类别下综合考察分类器的优劣,这时候就需要引入宏平均(Macro-averaging)、微平均(Micro-averaging)。

    M分类训练后的模型,针对一个样本输出的分类为M个,其中的评价方式可以分为,Top N评价和所有结果评价,Top N评价主要看Top N中是否包括正确的分类,主要评价Top 1,Imagenet的评价就是计算Top 1和Top 5。所有结果评价计算所有输出分类集合和正确分类的距离,一般情况下使用这种评价极少。

     

    3.1 转化为二分类评价

    宏平均(Macro-averaging)是指所有类别的每一个统计指标值的算数平均值,也就是宏精确率(Macro-Precision),宏召回率(Macro-Recall),宏F值(Macro-F Score)

    image.png

     

    微平均(Micro-averaging)是对数据集中的每一个示例不分类别进行统计建立全局混淆矩阵,然后计算相应的指标。

    image.png

    Macro-averaging与Micro-averaging的不同之处在于:Macro-averaging赋予每个类相同的权重,然而Micro-averaging赋予每个样本决策相同的权重。因为从 [公式] 值的计算公式可以看出,它忽略了那些被分类器正确判定为负类的那些样本,它的大小主要由被分类器正确判定为正类的那些样本决定的,在微平均评估指标中,样本数多的类别主导着样本数少的类。

     

    一般Fmacro和Fmicro都高的分类器性能好

    3.2 图形分析

    和二分类的图形基本一样,不同的是可以将各个分类都进行绘制,另外还可以将宏平均(Macro-averaging)、微平均(Micro-averaging)对应的值进行绘制。

     

    4、总结

    分类评价是最基础的评价,实际上对模型的评价也挺复杂的,很多的时候,我们容易在用一个模型的最佳点和另外一个模型的最佳点来进行对比,以此作为二个模型的优劣,实际上这是不全面的,要充分比较各种阈值下的情况,因为实际线上情况可能不是你所使用的阈值,可能是另外一个阈值,所以,我希望评价指标是和你取得阈值无关的,也就是需要做与阈值无关的处理。所以AUC较大好。

    随着深度学习的普及,更多的模型的可解释性没那么好,某种程度上有炼丹的感觉,但是更加规范化的、可对比的评价指标有助于我们选择一个更好的模型。

     

    5、参考文档

    1. What is the difference between Multiclass and Multilabel Problem  https://stats.stackexchange.com/questions/11859/what-is-the-difference-between-multiclass-and-multilabel-proble
    2. Multiclass and multioutput algorithms  https://scikit-learn.org/stable/modules/multiclass.html
    展开全文
  • 常见的机器学习分类模型

    千次阅读 2019-06-30 17:30:17
    Spark mllib包含的分类模型有:逻辑回归,决策树,随机森林,梯度提升树,多层感知机,线性SVM,朴素贝叶斯。 回归模型有:线性回归,决策树回归,随机森林回归,梯度提升树回归,生存回归,保序回归。 在spark ...

    Spark mllib包含的分类模型有:逻辑回归,决策树,随机森林,梯度提升树,多层感知机,线性SVM,朴素贝叶斯。

    回归模型有:线性回归,决策树回归,随机森林回归,梯度提升树回归,生存回归,保序回归。

    在spark mllib库外,还有一个比较常见的模型:KNN。

     

    决策树==================

    非线性分类模型

    https://blog.csdn.net/tuntunwang/article/details/50587518

     

    梯度提升树=================

    梯度提升树(GBTs)包含两类:梯度提升决策树(GBDT)和梯度提升回归树(GBRT)。

    传统的boost算法:初始所有样本的权重都是一致的,后续不断增加“被分错”样本的权重,降低分对样本的权重。例如adaboost集成学习算法

    https://blog.csdn.net/weixin_40118768/article/details/80411482

     

    GBTs:学习上一步分类的残差。

    下面是一个预测年龄的例子:

     

     

    构架树时,深度为1时通常效果很好(深度为1的决策树称为决策桩decision stumps)。

     

    多层感知机MLP================

    全连接的神经网络,除了输入层,其他层的激活函数都SIGMOD函数,采用BP算法学习权值:输出向后传递,误差向前传递。

     

    SVM==========================

    假设存在一个超平面,能够将所有样本进行隔开。

    https://blog.csdn.net/tuntunwang/article/details/73826556

     

    朴素贝叶斯====================

    最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier,或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。

    https://blog.csdn.net/tuntunwang/article/details/50587462

     

    逻辑回归 线性回归=========================

    逻辑回归:y=sigmoid(wx)函数,根据某个概率阈值划分类别。

    线性回归:y=wx

    https://blog.csdn.net/tuntunwang/article/details/74012106

     

    KNN=====================================

    最近的K个样本进行投票

    https://blog.csdn.net/tuntunwang/article/details/50587404

     

    展开全文
  • 那么传统的机器学习分类模型在这方面的效果如何呢? 本文考虑了移动平均值、指数移动平均值、DMI、MACD、KDJ、RSI等四十多个指标的情况下,比较了支持向量机、决策树、随机森林三种模型预测股价涨跌的效果 免责声明 ...

    前言

    股票市场风起云涌,只有对股价有良好的预测才能够更好的抓住盈利机会。那么传统的机器学习分类模型在这方面的效果如何呢?

    本文考虑了移动平均值、指数移动平均值、DMI、MACD、KDJ、RSI等四十多个指标的情况下,比较了支持向量机、决策树、随机森林三种模型预测股价涨跌的效果

    免责声明

    此构想和分析中的任何内容均不应解释为投资建议,过去的表现并不一定表示未来的结果。

    支持向量机、决策树、随机森林模型预测股价



    我们统一选择茅台股票(600519)作为研究对象,数据日期范围为2020-01-01到2020-12-30。统一采用最后55天数据作为测试集,最后64天前的数据作为训练集



    支持向量机

    支持向量机(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面

    为了增加模型的非线性,采用RBF核函数,模型的效果如下
    相比前一篇文章只使用六项指标的情况下,从42.47%的准确率提高到了49.9%。
    在这里插入图片描述



    决策树

    决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系

    定义数的深度为5,模型效果如下
    相比上一篇只使用六项指标的情况,总体来看还是有一定提升的
    训练集上准确率从 77.53% 大幅提高到了 97.66%
    测试集上准确率从 56.25% 提高了一点为 56.36%
    但是召回率从 53.53% 提高到了 56.35%
    在这里插入图片描述



    随机森林

    随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定

    定义树的深度为5,随机树的数目为10,模型效果如下
    相比上一篇只使用六项指标的情况,总体来看还是有一定提升的
    训练集上准确率从 86.52% 大幅提高到了 100%
    测试集上准确率从 57.81% 提高了一点为 58.18%
    但是召回率从 56.76% 提高到了 58.40%
    在这里插入图片描述



    总结

    经过简单的测试,随机森林的效果相对来说最优

    但是预测效果仍然存在很大的问题,提升效果很微小,说明需要更加合适的机器学习方法

    展开全文
  • 机器学习风靡全球,模型算法层出不穷,但是评价指标相对来说比较单一,可谓万变不离其宗 准确率、精确率、召回率、F1F1F_1-score 我们以分类算法为例,假设班里有50个同学,其中男生30个,女生20个,...

    机器学习里模型效果的好坏需要由特定的指标来评价,本文介绍在分类模型里常用的几种评价指标

    1、 准确率、精确率、召回率、F1F_1-score

    我们以分类算法为例,假设班里有50个同学,其中男生30个,女生20个,我们根据身高、体重、头发长度、声音分贝等等特征,想找到所有女生,比如已经有这样一个分类器了,得到结果如下:
    这里写图片描述

    这里我们是要找到所有女同学,故把女同学作为正样本(positive),男同学作为负样本(Negative),预测结果正确为True,预测结果错误为False。基于此,我们结合上面的数据给出如下定义和值:

    • TP(True Positive): 真实是女生,预测结果也是女生的数量(18个)
    • FN(False Negative): 真实是女生,预测结果是男生的数量(2个)
    • TN(True Negative): 真实是男生,预测结果也是男生(25个)
    • FP(False Postive): 真实是男生,预测结果是女生(5个)
    . 相关(relevant),正类 无关(irrelevant),负类
    被检索到(Retrieved) true positives (TP 正类判定为正类, 例子中就是正确的判定"这位是女生") false positives (FP 负类判定为正类,“存伪”, 例子中就是分明是男生却判断为女生, 当下伪娘横行, 这个错常有人犯)
    未被检索到(Not Retrieved) false negatives (FN 正类判定为负类,“去真”, 例子中就是, 分明是女生, 这哥们却判断为男生–梁山伯同学犯的错就是这个) true negatives (TN 负类判定为负类, 也就是一个男生被判断为男生, 像我这样的纯爷们一准儿就会在此处)

    有了这几个值,我们就可以计算准确率、精确率、召回率、F1F_1-score这几个值了
    准确率(Accuracy): 衡量所有样本被分类准确的比例
    Accuracy=TP+TNTP+FP+TN+FNAccuracy=\frac{TP+TN}{TP+FP+TN+FN}

    精确率(Precision): 也叫查准率,衡量正样本的分类准确率,就是说倍预测为正样本的样本有多少是真的正样本。
    Precision=TPTP+FPPrecision=\frac{TP}{TP+FP}

    召回率(Recall): 表示分类正确的正样本占总的正样本的比例
    Recall=TPTP+FNRecall=\frac{TP}{TP+FN}

    F1F_1-score: 精确率和召回率的调和平均
    2F1=1P+1RF1=2PRP+R=2TP2TP+FP+TN\frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}\Longrightarrow F_1=\frac{2PR}{P+R}=\frac{2TP}{2TP+FP+TN}
    可以看到,在上式里我们认为精确率和召回率是一样重要的(他们的权重一样),当我们的评估更加注重精确率或者召回率的时候,该怎么处理呢?
    我们引入 FβF_{\beta},对于任意的非负值 β\beta,我们定义
    Fβ=(β2+1)PRβ2P+RF_{\beta}=(\beta ^2+1)\cdot\frac{PR}{\beta^2\cdot P+R}
    可以看到,我们可以通过调整 β\beta 来帮助我们更好地评估结果。

    最好的分类器当然是准确率、精确率,召回率都为1,但实际场景中几乎是不可能的,而且精确率和召回率往往会相互影响,一个高了另一个会有所下降,因此在实际应用中要根据具体需求做适当平衡。

    2、ROC、AUC

    ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,下图就是ROC曲线的一个示意图

    ROC曲线

    可以看到,ROC曲线横坐标是FPR(False Positive Rate),纵坐标是TPR(True Positive Rate)

    FPR=FPFP+TN,TPR=TPTP+FNFPR=\frac{FP}{FP+TN}, TPR=\frac{TP}{TP+FN}
    接下来我们考虑ROC曲线图中的四个点和一条线。第一个点,(0,1),即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。Wow,这是一个完美的分类器,它将所有的样本都正确分类。第二个点,(1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。第三个点,(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。类似的,第四个点(1,1),分类器实际上预测所有的样本都为正样本。经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。

    2.1 如何画ROC曲线

    对于一个特定的分类器和测试数据集,显然只能得到一组FPR和TPR结果,而要得到一个曲线,我们实际上需要一系列FPR和TPR的值,这又是如何得到的呢?我们先来看一下wikipedia上对ROC曲线的定义

    A receiver operating characteristic curve, i.e. ROC curve, is a graphical plot that illustrates the diagnostic ability of a binary classifier system as its discrimination threshold is varied.
    译:ROC曲线是由一系列因区分阈值变化产生的点,用于描述二分类模型的判断能力

    这里的关键在于 “its discrimination threshold is varied” ,因为对于一个二分类模型,它的输出结果其实是判断这个样本属于正样本的概率值,假如我们已经得到了所有样本的概率输出(属于正样本的概率),现在的问题是如何改变“discrimination threashold”?我们根据每个测试样本属于正样本的概率值从大到小排序。下图是一个示例,图中共有20个测试样本,“Class”一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),“Score”表示每个测试样本属于正样本的概率
    这里写图片描述

    然后我们按照样本的score值,从大到小依次作为阈值,当样本score值大于等于阈值时则判定为正样本,否则为负样本。
    例如第一个阈值取0.9,这时只有id=1的样本被预测为正样本,其余都是负样本,此时TPR=1/1+9=0.1, FPR=0/0+10=0,
    详细如下:

    threshold TPR FPR
    0.90.9 0.1=1/(1+9)0.1=1/(1+9) 0=0/(0+10)0=0/(0+10)
    0.80.8 0.2=2/(2+8)0.2=2/(2+8) 0=0/(0+10)0=0/(0+10)
    0.70.7 0.2=2/(2+8)0.2=2/(2+8) 0.1=1/(1+9)0.1=1/(1+9)
    0.60.6 0.3=3/(3+7)0.3=3/(3+7) 0.1=1/(1+9)0.1=1/(1+9)
    0.550.55 0.4=4/(4+6)0.4=4/(4+6) 0.1=1/(1+9)0.1=1/(1+9)
    0.540.54 0.5=5/(5+5)0.5=5/(5+5) 0.1=1/(1+9)0.1=1/(1+9)
    0.530.53 0.5=5/(5+5)0.5=5/(5+5) 0.2=2/(2+8)0.2=2/(2+8)
    0.520.52 0.5=5/(5+5)0.5=5/(5+5) 0.3=3/(3+7)0.3=3/(3+7)
    0.510.51 0.6=6/(6+4)0.6=6/(6+4) 0.3=3/(3+7)0.3=3/(3+7)
    0.5050.505 0.6=6/(6+4)0.6=6/(6+4) 0.4=4/(4+6)0.4=4/(4+6)
    0.40.4 0.7=7/(7+3)0.7=7/(7+3) 0.4=4/(4+6)0.4=4/(4+6)
    0.390.39 0.7=7/(7+3)0.7=7/(7+3) 0.5=5/(5+5)0.5=5/(5+5)
    0.380.38 0.8=8/(8+2)0.8=8/(8+2) 0.5=5/(5+5)0.5=5/(5+5)
    0.370.37 0.8=8/(8+2)0.8=8/(8+2) 0.6=6/(6+4)0.6=6/(6+4)
    0.360.36 0.8=8/(8+2)0.8=8/(8+2) 0.7=7/(7+3)0.7=7/(7+3)
    0.350.35 0.8=8/(8+2)0.8=8/(8+2) 0.8=8/(8+2)0.8=8/(8+2)
    0.340.34 0.9=9/(9+1)0.9=9/(9+1) 0.8=8/(8+2)0.8=8/(8+2)
    0.330.33 0.9=9/(9+1)0.9=9/(9+1) 0.9=9/(9+1)0.9=9/(9+1)
    0.30.3 1=10/(10+0)1=10/(10+0) 0.9=9/(9+1)0.9=9/(9+1)
    0.10.1 1=10/(10+0)1=10/(10+0) 1=10/(10+0)1=10/(10+0)

    由此我们便得到了一组(FPR,TPR)的值,可以绘制出ROC曲线
    这里写图片描述

    当我们将threshold设置为1和0时,分别可以得到ROC曲线上的(0,0)和(1,1)两个点。将这些(FPR,TPR)对连接起来,就得到了ROC曲线。当threshold取值越多,ROC曲线越平滑。

    2.2 计算AUC值

    AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

    The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example.

    可以看到AUC应该理解为对随机取出一个正样本和一个负样本,模型预测正样本为正样本的概率大于预测负样本为正样本的概率的概率值。

    可能不太好理解这句话,那我们还是用上面的例子来说明,假设二分类模型A要找到所有正样本,对20个样本的预测概率根据概率值大小得到一个排序,我们希望有尽可能多的正样本排在负样本前面,最好的模型当然是所有的正样本都排在负样本前,但这种分类器要不就是过拟合要不就不存在,当有越多正样本排在负样本前的时候,我们得到的ROC曲线上的点的分布会越靠近y轴(FPR=0)和y=1(TPR=1)这两条线,显然这时候曲线下的面积值(AUC) 会越接近于1,这个时候我们再看上面对AUC的理解这句话,随机取出一个正样本和一个负样本,
    如果auc值大,当然会有更多的正样本被更大概率预测准确,负样本被预测为正样本的概率也会越小。

    这里写图片描述

    2.3 为什么要用ROC曲线

    既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。下图是ROC曲线和Precision-Recall曲线的对比:
    这里写图片描述

    在上图中,(a)和©为ROC曲线,(b)和(d)为Precision-Recall曲线。(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,©和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线则变化较大。

    参考资料:
    1、https://en.wikipedia.org/wiki/Receiver_operating_characteristic
    2、https://www.jianshu.com/p/c61ae11cc5f6

    展开全文
  • 机器学习分类模型评价指标详述

    千次阅读 2018-09-10 11:38:37
    机器学习解决问题的通用流程:问题建模——特征工程——模型选择——模型融合 其中问题建模主要包括:设定评估指标,选择样本,交叉验证 解决一个机器学习问题都是从问题建模开始,首先需要收集问题的资料,深入...
  • 分别用逻辑回归、线性回归、K近邻、决策树、贝叶斯和SVM6个算法对iris数据集进行分类,并采用交叉验证计算模型的准确率。 加载一些库: from sklearn.datasets import load_iris from sklearn.model_selection ...
  • 各种机器学习分类模型的优缺点

    万次阅读 2018-06-29 10:19:49
    KNN: 依赖数据,无数学模型可言。适用于可容易解释的模型。 对异常值敏感,容易受到数据不平衡的影响。 Bayesian: 基于条件概率, 适用于不同维度之间相关性较小的时候,比较容易解释。也适合增量训练,不必要...
  • // 下载模型 private static final SavedModelBundle modelBundle = SavedModelBundle.load(模型路径,"serve"); // session private static final Session tfSession = modelBundle.session(); // 预测 private ...
  • 数据和背景: ... 导入基本库和数据 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns ...说明了正负样例的平衡对分类模型的效果有很大的影响。
  • 机器学习的基本分类模型: KNN,决策树,naive bayes,逻辑回归,SVM,adaboostKNN:一种直接的学习方法,通过相似的近邻投票分类。模型不确定性有三:距离度量(相似性度量),特征权重分配,投票权重。不确定性...
  • sgd_clf.predict([some_digit])
  • 机器学习解决问题的通用流程:问题建模——特征工程——模型选择——模型融合 其中问题建模主要包括:设定评估指标,选择样本,交叉验证 解决一个机器学习问题都是从问题建模开始,首先需要收集问题的资料,深入...
  • 运用支持向量机实现多分类预测任务,并采用重采样的方法确保模型稳定性。  #1. find the parameters  fit.svm <- train(trainset[,-1], trainset$y, "svmRadialWeights", trControl = ...
  • 评价分类问题的性能指标一般是分类准确率,即对于给定的数据,分类正确的样本数占总样本数的比例。 注意:准确率这一指标在Unbalanced数据集上的表现很差,因为如果我们的正负样本数目差别很大,比如正样本100个,负...
  • 机器学习分类中的常用指标,这几个指标最大的特点,其实是容易看完就忘。。 英文 TP true positive, 前面的字母代表预测是否正确,后面的字母代表预测的类型,TP是预测正确的正例,预测为1实际也为1 TN true ...
  • 机器学习分类模型评价指标分类器评价指标主要有:1,Accuracy2,Precision 3,Recall 4,F1 score 5,ROC 曲线6,AUC7,PR 曲线混淆矩阵混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的...
  • 机器学习分类模型

    万次阅读 2018-09-25 22:14:03
    第二章 分类模型 给定训练数据 分类任务学习一个输入x到输出y的映射f: //最大后验估计 其中,y为离散值,其值范围为标签空间: 当C=2时,为两类分类问题 贝叶斯公式 先验概率 p(y=c)//根据以往的经验和分析...
  • 机器学习中的分类模型和回归模型

    千次阅读 2018-06-20 16:34:44
    机器学习中的分类模型 1.KNN 2.感知机 3.朴素贝叶斯法 4.决策树 5.逻辑斯谛回归模型 6.SVM 7.AdaBoost 8.随机森林 9.贝叶斯网络 10.神经网络 机器学习中的回归模型 1.线性回归 2.多项式回归 3.岭...
  • 机器学习模型分类

    2018-09-26 10:39:07
    判别式模型模型主要对p(y|x)建模,通过x来预测y。...通常,判别式模型分类任务中的表现要好于生成式模型。但判别模型建模过程中通常为有监督的,而且难以被扩展成无监督的。  常见的判别式...
  • 1 机器学习分类模型 1.1 朴素贝叶斯的优缺点 NBM 原理及推导参考来源 https://www.cnblogs.com/jpcflyer/p/11069659.html https://zhuanlan.zhihu.com/p/26262151 1.1.1 优点 算法逻辑简单,易于实现 分类过程中...
  • 机器学习中分为有监督模型和无监督模型两种分类。 有监督模型 有监督模型的学习结构是 输入数据(x,y) 其中x为输入数据,y为数据的标签 其目标goal 为学习生成一个函数是x能够映射到y 有监督学习的例子...
  • 机器学习分类算法模型评价指标

    千次阅读 2019-10-14 11:18:13
    目前,业内对于机器学习,数据挖掘,推荐系统等算法模型都有比较流行的评价标准,这些评价标准在一定程度上反映了模型性能的优劣,如准确率(Prescision-rate),召回率(Recall-rate)还有F值(F-measure)。...
  • 机器学习-分类模型常用评价指标二分类模型分类模型详见参考文章 最常见的指标Accuracy到底有哪些不足。 Accuracy是分类问题中最常用的指标,它计算了分类正确的预测数与总预测数的比值。但是,对于不平衡数据集而...
  • 机器学习分类模型的指标评估

    千次阅读 2020-01-17 14:02:31
    机器学习中的分类算法模型的准确率当然越高越好,但往往实际工作中几乎不会出现完全正确的模型,这就需要一个指标来衡量一个算法模型的质量,或者说算法模型要达到什么指标才是合格的呢 混淆矩阵 ...
  • 2020年,是多灾多难的一年,由于疫情的影响,导致部分企业...继上次我们开展的机器学习回归模型训练营后,收到大家一致好评,强烈要求开启新一期,特此我们新研发机器学习中的第二个算法—分类模型,做为新一期训练营提
  • 机器学习多目标分类模型解法

    千次阅读 2019-09-18 17:44:24
    经典的机器学习建模数据是由特征列和单一目标列构成的,比如要做广告的CTR预测,其实模型关心的是一个广告曝光后是否会被点击,这是一个单一目标场景的建模过程。但是在实际应用场景中,往往有时候会出现“既要也要...
  • 机器学习分类与回归模型

    千次阅读 2020-03-20 00:41:02
    一.KNN算法 1.既可用于分类也可用于回归 ...3.所以KNN算法最关键的点就是K值的选取决定了模型的效果,一般可通过K-折交叉验证或者网格搜索法选择一个模型评分最优的K值 二、线性回归 线性回归的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,473
精华内容 6,589
关键字:

机器学习分类模型