精华内容
下载资源
问答
  • 机器学习回归模型精度Congratulations on completing your Machine Learning (ML) pipeline! In the second part of this series, I’ll talk about some metrics and graphics beyond the area under the ROC curve...

    机器学习回归模型精度

    Congratulations on completing your Machine Learning (ML) pipeline! In the second part of this series, I’ll talk about some metrics and graphics beyond the area under the ROC curve that can be helpful in choosing which model or models we’d like to move forward and implement in practice, keeping our project’s objectives in mind. Specifically, in this article we’ll:

    恭喜您完成了机器学习(ML)流程! 在本系列的第二部分中,我将讨论ROC曲线下方区域之外的一些度量标准和图形,这些度量标准和图形将有助于选择我们想要继续前进并在实践中实现的一个或多个模型,并保持项目目标心里。 具体来说,在本文中,我们将:

    1. Discuss why the Precision/Recall trade-off might be the optimal framework for many problems, and2. Display graphics and summaries that can turn a predictive modeling exercise into something highly impactful for decision making in practice.

    1.讨论为什么“精确度/召回率”折衷方案可能是解决许多问题的最佳框架,以及2。 显示图形和摘要,可以将预测性建模工作转变为对实践中的决策具有重大影响的事物。

    什么是“精确度和召回率”(我以前见过)吗? (What are Precision and Recall (and have I seen them before)?)

    It’s likely you’ve seen Recall before if you have been working with classification problems, because it’s also known as Sensitivity. To review, say we are interested in predicting a 2-class event, Win or Lose. Then Recall = Sensitivity = the probability that a true Win is predicted as a Win; essentially it’s the proportion of true Wins that we successfully capture in the predicted Win bucket. Next, Precision is aka Positive Predicted Value (PPV), which I find a bit more descriptive. For PPV we’re flipping things around, saying: Okay, of the predicted Wins that I have in that bucket, which ones are actually true Wins. Of course both of these are important: we’d like to capture all the true Wins in our predicted Win bucket, and also for all the predicted Wins to turn out to be true Wins. But as you’d expect, these will be somewhat at odds with each other, and their trade-off is captured in the Precision — Recall (PR) curve. We can compute the area under this curve (AUC) just as we compute the AUC for the ROC curve. While the ROC curve has a reference diagonal line from 0 to 1, indicating a model performance equal to flipping a coin, the reference for the AUC PR curve is a horizontal line representing the frequency of true Wins.

    如果您一直在处理分类问题,那么您很可能曾经看过Recall,因为它也被称为Sensitivity。 回顾一下,假设我们对预测2级赛事“赢或输”感兴趣。 然后,召回率=敏感性=预测一个真正的胜利为胜利的概率; 从本质上讲,这是我们在预测的“胜利”时段成功捕获的真实胜利的比例。 接下来,精度又称为正预测值(PPV),我发现它更具描述性。 对于PPV,我们正在四处转转,​​说:好吧,在我所预期的胜利中,哪些实际上是真正的胜利。 当然,这两个都是很重要的:我们希望在预测的Win桶中捕获所有真实的Win,并且还希望所有预测的Win都变成真实的Win。 但是,正如您所期望的那样,它们之间会有些矛盾,并且它们的权衡关系已在“精确度-召回率(PR)”曲线中体现出来。 正如我们计算ROC曲线的AUC一样,我们可以计算该曲线下的面积(AUC)。 ROC曲线的参考对角线为0到1,表示模型性能等同于掷硬币,而AUC PR曲线的参考线为代表真实获胜频率的水平线。

    Now that we understand the Precision — Recall trade-off, why would it be important? In many classification problems, there is an event of greater interest, or one that is associated with a greater cost or reward, than the other outcome. So while the AUC ROC curve is important, the AUC PR curve may be more germane to model performance and selection for many prediction problems. At this point you might say, ‘You’ve been talking about a trade-off, but how do I make these trades?’ It is by varying the probability cut-off level that we require to call something a ‘Win.’ The lower this level is set, the higher the Sensitivity/Recall (‘We’ve correctly captured most of the true Wins as predicted Wins’) but there may be many false-positives. The higher the cut-off, the higher the Precision/PPV (‘Most of the predicted Wins are actually true Wins’) but a large number of true Wins will not be classified as such (false-negatives). Alright, before this discussion becomes too abstract, let’s continue with an example.

    既然我们了解了精度-回顾权衡,为什么它很重要? 在许多分类问题中,有一个事件比另一个结果具有更大的兴趣,或者与更大的成本或报酬相关联。 因此,尽管AUC ROC曲线很重要,但AUC PR曲线可能与模型性能和许多预测问题的选择更紧密相关。 此时,您可能会说:“您一直在讨论权衡问题,但是我该如何进行这些交易?” 通过改变我们称为“胜利”所需的概率临界水平。 设置的级别越低,灵敏度/召回率就越高(“我们已经正确地捕获了大多数真实的胜利,如预期的胜利”),但是可能有很多错误的肯定。 临界值越高,Precision / PPV越高(“大多数预测的胜利实际上是真实的胜利”),但是大量的真实胜利不会被归类为此类(假阴性)。 好了,在此讨论变得过于抽象之前,让我们继续一个示例。

    数据 (Data)

    In this article I’ll be using results from 7 Machine Learning (ML) models that analyzed the German Credit classification data available in the R caret package. It consists of 1000 observations of individuals determined to have either Good (n=700) or Bad (n=300) credit. The are 61 predictors that cover a variety of factors that may have to do with credit, such as loan features, banking information, demographics, employment, etc. The data were separated into a 70%-30% training-test split, preserving the 70% Good credit frequency in both. The training set was split into 5 CV sets, repeated 5 times, to determine optimal tuning parameters. Modeling was done using the caret package in R. The models fit were the following:

    在本文中,我将使用来自7个机器学习(ML)模型的结果,这些模型分析了R caret软件包中可用的German Credit分类数据。 它由1000个观察结果组成,这些观察结果被确定为信誉良好(n = 700)或不良(n = 300)的个人。 有61个预测变量,涵盖了可能与信贷有关的多种因素,例如贷款特征,银行信息,人口统计学,就业情况等。数据分为70%-30%的培训测试部分,从而保留了两者都有70%的良好信用频率。 将训练集分为5个CV集,重复5次,以确定最佳调整参数。 使用R中的插入符号包进行建模。适合的模型如下:

    * Linear Discriminant Analysis (LDA)* Partial Least Squares (PLS)* Support Vector Machines (SVM, with radial kernel function)* Neural Network (NN)* Recursive Partitioning (Rpart, single tree) * Random Forests (RF)* Gradient Boosting Machines (GBM)

    *线性判别分析(LDA)*偏最小二乘(PLS)*支持向量机(具有径向核函数的SVM)*神经网络(NN)*递归分区(Rpart,单树)*随机森林(RF)*梯度提升机器(GBM)

    Below are both the AUC ROC and AUC PR curves for the seven ML learning fits applied to the hold-out test set (i.e. not involved in the model cross-validation). With the exception of the single tree Rpart model, the model performance in the test set is similar across the fits. Looking at an actual Precision — Recall curve, the trade-off becomes apparent: when our Recall or Sensitivity is low, we are not correctly predicting many of the Good credit subjects, but those we are classifying as Good are mostly actually Good. This corresponds to using a high value for the probability cut-off for ‘Good’. As we decrease the probability cut-off, the Sensitivity/Recall improves, but at the cost of the Precision/PPV (Many of the predicted Good credit subjects actually have Bad Credit).

    以下是应用于保留测试集(即不涉及模型交叉验证)的七个ML学习拟合的AUC ROC和AUC PR曲线。 除了单树Rpart模型外,测试集中的模型性能在整个拟合中相似。 观察实际的Precision-Recall曲线,权衡变得很明显:当我们的Recall或Sensitivity低时,我们无法正确预测许多Good信用科目,但我们归类为Good的科目实际上是Good。 这对应于为“良好”的概率临界值使用较高的值。 随着我们降低概率临界值,灵敏度/召回率提高了,但是却以精确度/ PPV为代价(许多预测的良好信用主体实际上具有不良信用)。

    The data in the German Credit problem is an example of a lopsided classification penalty structure. In this case, it’s worse to classify a subject as having Good credit when their credit is actually Bad. This may result in someone receiving a loan or credit card on which they are likely to default. On the other hand, it is profitable to make loans and issue credit to those who are capable of fulfilling the credit terms, but not as much is made from a successful loan as is lost from an unsuccessful one.

    德国信用问题中的数据是不正确的分类罚款结构的一个示例。 在这种情况下,当他们的信用实际上为不良时,将其归为具有良好信用的主题就更糟了。 这可能导致某人收到他们可能拖欠的贷款或信用卡。 另一方面,向有能力履行信贷条件的人发放贷款和发放信贷是有利可图的,但成功贷款所产生的收益不如失败贷款所产生的损失。

    Another intuitive way to visualize the effects of different cut-offs on the necessary trade-offs is to examine the distributions of predicted probabilities on our test data by their ground truth. An example is shown below; the Rpart model has been removed to improve the figure scaling, and the vertical green line represents a potential cut-off that could be used to determine model-predicted positives (here it’s 0.7). This type of figure allows regions of true and false positives to be displayed in a way that is easily digestible. It’s clear from the plot that the models will require different probability cut-offs to achieve the same performance. For example, the PLS model will require lower cut-offs to achieve similar Sensitivity and PPV as the others. Another insight from this figure is that all but the highest cut-offs will retain some false-positives, and for some models they may be impossible to eliminate completely.

    可视化不同临界值对必要折衷效果的另一种直观直观显示方式是,通过我们的基本事实检查我们测试数据上的预测概率分布。 一个例子如下所示; Rpart模型已删除,以改善图形缩放比例,垂直的绿线表示一个潜在的截止点,可用于确定模型预测的阳性(此处为0.7)。 这种类型的图形允许以易于消化的方式显示真假阳性区域。 从图中可以明显看出,这些模型需要不同的概率截止值才能实现相同的性能。 例如,PLS模型将需要较低的截止值,以实现与其他类似的灵敏度和PPV。 该图的另一个见解是,除了最高分界值以外,所有分值都将保留一些假阳性,对于某些模型,可能无法完全消除。

    Image for post

    After we have the big picture, we can dive a bit more into the details, examining the models for the desired sweet spot to meet our objectives. For example, if a PPV value of 76% were tolerable (i.e. 24% false positives), the RF model indicates this could be achieved at a Sensitivity of 93% using a cut-off of 0.5. (Note that these values should be viewed as estimates, taken from the one test sample. An alternative could involve computing these for each CV holdout sample and examining their distribution). However, this false positive rate may be too high, and if we’re less concerned with missing out on the true positives, we might prefer the other end of the spectrum. The PLS model at a cut-off of 0.7 would only capture 22% of the true positives, but 95% of those classified as positive would truly be so. The nature of our risk function along with the practical constraints associated with our model implementation can lead us to the optimal choice. In the credit example, expected gains and losses in dollars (or euros) could be assumed for Good and Bad credit and computed for each cut-off option.

    大致了解之后,我们可以进一步深入研究细节,检查模型以找到符合我们目标的所需最佳位置。 例如,如果PPV值为76%是可以容忍的(即24%的假阳性),则RF模型表明可以使用0.5的临界值在93%的灵敏度下实现。 (请注意,这些值应视为从一个测试样本中获取的估计值。另一种选择可能包括为每个CV保持样本计算这些值并检查其分布)。 但是,这个假阳性率可能太高,如果我们不太担心错过真正的阳性率,那么我们可能更喜欢另一端。 截止值为0.7的PLS模型只能捕获22%的真实阳性,但是被分类为阳性的95%的真实阳性确实如此。 我们的风险函数的性质以及与模型实现相关的实际约束条件可以使我们做出最佳选择。 在信用示例中,可以假设良好和不良信用以美元(或欧元)为单位的预期损益,并针对每个截止选项进行计算。

    Image for post

    In conclusion, strategically considering Precision-Recall, predicted probability distributions and an analysis of model performance at different cut-offs together with how the model we develop will be used in practice will lead to machine learning pipelines that have a real opportunity to impact larger business goals and objectives.

    总之,从战略上考虑精确召回,预测的概率分布以及在不同临界点的模型性能分析以及我们在实践中如何使用我们开发的模型,将导致机器学习管道真正有机会影响更大的业务目标和目的。

    翻译自: https://towardsdatascience.com/machine-learning-model-implementation-precision-recall-and-probability-cut-offs-49429ed644c5

    机器学习回归模型精度

    展开全文
  • 概述前三章主要介绍了机器学习分类模型评估-准确率(accuracy)、精确率(Precision)、查准类、召回率(Recall)、查全率、ROC曲线、F值(F-Measure)、AUC、P-R曲线,本节介绍机器学习回归模型评价指标-MAE, MSE, MAPE及...

    概述

    前三章主要介绍了机器学习分类模型评估-准确率(accuracy)、精确率(Precision)、查准类、召回率(Recall)、查全率、ROC曲线、F值(F-Measure)、AUC、P-R曲线,本节介绍机器学习回归模型评价指标-MAE, MSE, MAPE及代码实现。对于回归预测结果,通常会有平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方误差(MSE)等多个指标进行评价。这里,我们先介绍最常用的3个。

    以下所有公式,

    fbca2f3dc380cf16983d54c3fef22033.png

    平均绝对误差(MAE)

    就是绝对误差的平均值,它的计算公式如下:

    47adb68917f7c9d6cd258adce9b8b823.png

    MAE 的值越小,说明预测模型拥有更好的精确度。

    代码实现

    import numpy as npdef mse_value(y_true, y_pred):    """    参数:    y_true -- 测试集目标真实值    y_pred -- 测试集目标预测值        返回:    mse -- MSE 评价指标    """        n = len(y_true)    mse = sum(np.square(y_true - y_pred))/n    return mse

    均方误差(MSE)

    它表示误差的平方的期望值,它的计算公式如下:

    98e706d7849e2a728af15b5d8a9be44b.png

    MSE 的值越小,说明预测模型拥有更好的精确度。

    代码实现

    import numpy as npdef mse_value(y_true, y_pred):    """    参数:    y_true -- 测试集目标真实值    y_pred -- 测试集目标预测值        返回:    mse -- MSE 评价指标    """        n = len(y_true)    mse = sum(np.square(y_true - y_pred))/n    return mse

    平均绝对百分比误差 MAPE

    它是一个百分比值,表示预测结果较真实结果平均偏离。

    ef2c744df8052d0f6fc560654fe57082.png

    MAPE 的值越小,说明预测模型拥有更好的精确度。

    代码实现

    import numpy as npdef mape(y_true, y_pred):    """    参数:    y_true -- 测试集目标真实值    y_pred -- 测试集目标预测值        返回:    mape -- MAPE 评价指标    """        n = len(y_true)    mape = sum(np.abs((y_true - y_pred)/y_true))/n*100    return mape
    展开全文
  • 本文主要总结了机器学习模型中回归模型和分类模型的评价指标。其中, 回归模型的3种评价指标:平均绝对误差MAE、均方误差MSE以及均方根误差RMSE; 分类模型的8种评价指标:准确率accuracy、精度precision、召回率...

    本文主要总结了机器学习模型中回归模型和分类模型的评价指标。其中,

    • 回归模型的3种评价指标:平均绝对误差MAE、均方误差MSE以及均方根误差RMSE;
    • 分类模型的8种评价指标:准确率accuracy、精度precision、召回率recall、F1值、可以同时输出精度召回率F1值的classification_report函数、ROC曲线、AUC曲线以及混淆矩阵。
      在这里插入图片描述
    展开全文
  • 概述前三章主要介绍了机器学习分类模型评估-准确率(accuracy)、精确率(Precision)、查准类、召回率(Recall)、查全率、ROC曲线、F值(F-Measure)、AUC、P-R曲线,本节介绍机器学习回归模型评价指标-MAE, MSE, MAPE及...

    概述

    前三章主要介绍了机器学习分类模型评估-准确率(accuracy)、精确率(Precision)、查准类、召回率(Recall)、查全率、ROC曲线、F值(F-Measure)、AUC、P-R曲线,本节介绍机器学习回归模型评价指标-MAE, MSE, MAPE及代码实现。对于回归预测结果,通常会有平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方误差(MSE)等多个指标进行评价。这里,我们先介绍最常用的3个。

    以下所有公式,

    40eea38713317989ddbc3ff06872fec1.png

    平均绝对误差(MAE)

    就是绝对误差的平均值,它的计算公式如下:

    af47db459251c89626192f0485e8614f.png

    MAE 的值越小,说明预测模型拥有更好的精确度。

    代码实现

    import numpy as npdef mse_value(y_true, y_pred):    """    参数:    y_true -- 测试集目标真实值    y_pred -- 测试集目标预测值        返回:    mse -- MSE 评价指标    """        n = len(y_true)    mse = sum(np.square(y_true - y_pred))/n    return mse

    均方误差(MSE)

    它表示误差的平方的期望值,它的计算公式如下:

    89345806f1a0d50471d8ce14e48250bc.png

    MSE 的值越小,说明预测模型拥有更好的精确度。

    代码实现

    import numpy as npdef mse_value(y_true, y_pred):    """    参数:    y_true -- 测试集目标真实值    y_pred -- 测试集目标预测值        返回:    mse -- MSE 评价指标    """        n = len(y_true)    mse = sum(np.square(y_true - y_pred))/n    return mse

    平均绝对百分比误差 MAPE

    它是一个百分比值,表示预测结果较真实结果平均偏离。

    2384e472adb708facaf0e9dd9fdb2ab2.png

    MAPE 的值越小,说明预测模型拥有更好的精确度。

    代码实现

    import numpy as npdef mape(y_true, y_pred):    """    参数:    y_true -- 测试集目标真实值    y_pred -- 测试集目标预测值        返回:    mape -- MAPE 评价指标    """        n = len(y_true)    mape = sum(np.abs((y_true - y_pred)/y_true))/n*100    return mape
    展开全文
  • 机器学习线性回归模型,用梯度下降算法实现的线性回归,logistic回归的模型以及实例分析。包含上课时用的PDF、word以及PPT文档
  • 我们前面讲了回归模型一般分为线性回归和逻辑回归。所谓的逻辑回归,其实就是用于目标为分类的模型。它使用一个逻辑函数(或者sigmoid函数)把任意输入的实值x转换成值区间为0-1之间的一个预测值ŷ。逻辑回归比线性...
  • 机器学习回归模型

    千次阅读 2016-04-05 19:37:44
    回归模型包括线性回归和非线性回归。我们先介绍了简单的线性回归,在此基础上,拓展到局部加权线性回归,岭回归,前向逐步回归等。非线性回归主要介绍了逻辑回归。最后还拓展了一点线性判别分析和二分类推广到多分类...
  • 机器学习中的分类模型和回归模型

    千次阅读 2018-06-20 16:34:44
    机器学习中的分类模型 1.KNN 2.感知机 3.朴素贝叶斯法 4.决策树 5.逻辑斯谛回归模型 ...机器学习中的回归模型 1.线性回归 2.多项式回归 3.岭回归(Ridge Regression) 4.Lasso回归 5.GBDT 6.CART...
  • # 代码表示:linear_model.LinearRegression()
  • 导语:现在大多数人入门机器学习的第一个案例是多元线性回归模型,其中多元共线性这个问题将贯穿所有的机器学习模型。这里选用的经典房价预测用到的精度优化方法效果拔群,能提供比较好的参考价值,将会带大家讲解...
  • 本文先简单介绍最常见的两类机器学习模型:线性回归和逻辑回归的基本概念,下一章采用逻辑回归的方法对泰坦尼克号沉船时间的生存率进行预测。一、什么是机器学习机器学习是一门人工智能的科学,使计算机通过给定经验...
  • 4.1回归模型的述语 回归:回归是一个过程,通过回归可以了解到一个变量随着另外一个变量发生变化 响应或者因变量 :y 解释变量、自变量、特征、属性、回归量 :x1 x2..... 线性回归 :回归假定因变量线性依赖自变量 非...
  • 【1】普通线性回归:最小二乘法,使平方...如果数据点本身的模式中带有自然的曲线,而线性模型是不能捕捉到这一点的,来看看多项式模型的效果 【4】决策树回归 还有一种带AdaBoost算法的决策树回归器,效果更好...
  • 文章来源《机器学习模型思考》系列:线性回归模型的基本假设 . 线性模型是众多模型的基准,是更大范围的广义线性模型如支持向量机SVM,逻辑回归等模型的基模型,是经常使用的非常重要的数学方法。但是大多数机器学习...
  • Logistic回归机器学习模型 •集成了Python的TensorFlow机器学习库,并构建了一个实现逻辑回归算法的深层人工神经网络。 •利用神经网络中必要的激活函数来解决二进制分类问题。 •使用实际数据集训练和评估机器学习...
  • 机器学习之Softmax回归模型

    千次阅读 2018-03-04 17:59:15
    Softmax在机器学习中有非常广泛的应用,但是刚刚接触机器学习的人可能对Softmax的特点以及好处并不理解,其实你了解了以后就会发现,Softmax计算简单,效果显著,非常好用。我们先来直观看一下,Softmax究竟是什么...
  • 在使用statsmodels库建立回归模型时,使用summary()函数通常会输出下图的结果:图中包含模型的很多检验结果,这些结果就是用来对模型的好坏进行检验和评价的。下面我们将对一些主要检验结果的意义进行说明并介绍使用...
  • 机器学习 线性回归模型(Python实现)

    千次阅读 2019-05-16 22:13:41
    本文介绍机器学习中的线性模型的基本形式和求解线性回归方程方法 设问题为:判断一个同学对机器学习算法的掌握程度 有以下观点:1.数学基础 2.高级语言掌握程度 ...
  • 回归模型 1. 线性回归 多元函数在某一点的梯度是一个非常特殊的向量,其由多元函数对每个变量的偏导数组成,其方向为函数在该点增加最快的方向,大小为函数在该点的最大变化率。 找到最佳的w0和w1来描述输入和输出的...
  • 机器学习系列(二)——回归模型

    万次阅读 多人点赞 2018-06-06 21:48:56
    回归(Regression)模型是指机器学习方法学到的函数的输出是连续实数值,回归模型可以用于预测或者分类,这篇博客中主要整理用于预测的线性回归模型和多项式回归模型。 线性回归 按照机器学习建模的三个步骤,首先...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,440
精华内容 5,776
关键字:

机器学习回归模型