精华内容
下载资源
问答
  • Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型准确率和决策树多元分类使用.precision方法以precision来评估模型准确率(图文详解) Spark Mllib里决策树回归分析使用....

     

     

     

      不多说,直接上干货!

     

    Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率和决策树多元分类使用.precision方法以precision来评估模型的准确率(图文详解)

     

     

     

     

     

    Spark Mllib里决策树回归分析使用.rootMeanSquaredError方法计算出以RMSE来评估模型的准确率

     

     

     

     

      具体,见

    Hadoop+Spark大数据巨量分析与机器学习整合开发实战的第18章 决策树回归分类Bike Sharing数据集

     

    转载于:https://www.cnblogs.com/zlslch/p/7463980.html

    展开全文
  • 利用逻辑回归,决策树,svm计算准确率和AUC值 导入的包 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.tree ...

    利用逻辑回归,决策树,svm计算准确率和AUC值

    • 导入的包
    import pandas as pd
    from sklearn.model_selection import train_test_split
    from sklearn.linear_model import LogisticRegression
    from sklearn.tree import DecisionTreeClassifier
    from sklearn.svm import SVC
    from sklearn import metrics
    from sklearn.preprocessing import label_binarize
    
    • 读取数据
    # 读取数据集
    data_all = pd.read_csv('/home/infisa/wjht/project/DataWhale/data_all.csv', encoding='gbk')
    
    • 划分数据集
    # 划分训练集和测试集
    features = [x for x in data_all.columns if x not in ['status']]
    X = data_all[features]
    y = data_all['status']
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=2018)
    
    • 构建模型
    lr = LogisticRegression()  # 逻辑回归模型
    lr.fit(X_train, y_train)
    
    tr = DecisionTreeClassifier()  # 决策树模型
    tr.fit(X_train, y_train)
    
    svm = SVC()  # SVM模型
    svm.fit(X_train, y_train)
    

    *模型评分

    # 模型评分
    lr_score = lr.score(X_test, y_test)
    print(lr_score)
    'lr_score:0.7484232655921513'
    
    tr_score = tr.score(X_test, y_test)
    'tr_score:0.6797477224947442'
    
    svm_score = svm.score(X_test, y_test)
    'svm_score:0.7484232655921513'
    
    • 计算AUC值
    # 计算auc值
    
    y_test_hot = label_binarize(y_test,classes =(0, 1)) # 将测试集标签数据用二值化编码的方式转换为矩阵
    
    lr_y_score=lr.decision_function(X_test) # 得到预测的损失值
    
    svm_y_score = svm.decision_function(X_test) # 得到预测的损失值
    
    lr_fpr,lr_tpr,lr_threasholds=metrics.roc_curve(y_test_hot.ravel(),lr_y_score.ravel()) # 计算ROC的值,lr_threasholds为阈值
    
    svm_fpr,svm_tpr,svm_threasholds=metrics.roc_curve(y_test_hot.ravel(),svm_y_score.ravel())#计算ROC的值,svm_threasholds为阈值
    
    lr_auc=metrics.auc(lr_fpr,lr_tpr)
    'lr_auc:0.5674626772245001'
    svm_auc=metrics.auc(lr_fpr,lr_tpr)
    'svm_auc:0.5674626772245001'
    
    展开全文
  • 首先我们导入一组airplan.xlsx数据。 数据表中的age表示年龄、FLIGHT_COUNT表示飞行次数、BASE_POINTS_...可以看到决策树算法和逻辑回归算法的准确率大致相同,但是决策树算法的召回率是远远大于逻辑回归的。 如果想

    首先我们导入一组airplan.xlsx数据。

    数据表中的age表示年龄、FLIGHT_COUNT表示飞行次数、BASE_POINTS_SUM表示飞行里程、runoff_flag表示流失与否,定义1为正样本,代表已流失。


    现在让我们来看一下最后的效果:

    可以看到决策树算法和逻辑回归算法的准确率大致相同,但是决策树算法的召回率是远远大于逻辑回归的。

    如果想了解更多机器学习再业务中的应用,请关注我们的微信公众号凡人机器学习,公众号致力于让更多的初级数据开发者可以享受到人工智能的福利。微信号:frjqxx。

    号外:跪求各位大大的踊跃投稿!,投稿邮箱是tougao@fanrenyun.com。

    凡人机器学习的审稿人,他们将给出一些行业资深建议,分别是(用的外号):

     

    (1)狗星:曾在美国Google、Facebook工作的人工智能领域博士

     

    (2)博儿哥:目前任职于BAT负责人工智能的算法开发

     

    投稿要求:无论是大神或者小白,都欢迎投稿,可以写对于某些算法的理解、某些场景的应用、行业资讯或者八卦、自己的成长等等。题材不限,字数不限,最好是图文并茂。强调下,不要害怕,大胆投稿即可!!!

     

    通过投稿可以收获到:

     

    (1)公众号以及之后的各个渠道的曝光,当然我们会注明作者姓名

     

    (2)投稿一旦接收,可以加入我们的作者交流群,可以相互沟通学习

     

    (3)投稿并且接收3篇,可以加入我们的邮件组,参与自媒体运营打法讨论。 并且赠送《机器学习实践应用》一书。



    展开全文
  • 将要给大家介绍的评估指标有:准确率、精准率、召回率、F1、ROC曲线、AUC曲线。 机器学习评估指标大全 所有事情都需要评估好坏,尤其是量化的评估指标。 高考成绩用来评估学生的学习能力 杠铃的重量用来评估...

    2019-11-21 21:59:23

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    机器学习模型需要有量化的评估指标来评估哪些模型的效果更好。

    本文将用通俗易懂的方式讲解分类问题的混淆矩阵和各种评估指标的计算公式。将要给大家介绍的评估指标有:准确率、精准率、召回率、F1、ROC曲线、AUC曲线。

    机器学习评估指标大全

    所有事情都需要评估好坏,尤其是量化的评估指标。

    • 高考成绩用来评估学生的学习能力
    • 杠铃的重量用来评估肌肉的力量
    • 跑分用来评估手机的综合性能

    机器学习有很多评估的指标。有了这些指标我们就横向的比较哪些模型的表现更好。我们先从整体上来看看主流的评估指标都有哪些:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    分类问题评估指标:

    1. 准确率 – Accuracy
    2. 精确率(差准率)- Precision
    3. 召回率(查全率)- Recall
    4. F1分数
    5. ROC曲线
    6. AUC曲线

    回归问题评估指标:

    1. MAE
    2. MSE

    分类问题图解

    为了方便大家理解各项指标的计算方式,我们用具体的例子将分类问题进行图解,帮助大家快速理解分类中出现的各种情况。

    举个例子:

    我们有10张照片,5张男性、5张女性。如下图:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    有一个判断性别的机器学习模型,当我们使用它来判断「是否为男性」时,会出现4种情况。如下图:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    1. 实际为男性,且判断为男性(正确)
    2. 实际为男性,但判断为女性(错误)
    3. 实际为女性,且判断为女性(正确)
    4. 实际为女性,但判断为男性(错误)

    这4种情况构成了经典的混淆矩阵,如下图:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    TP – True Positive:实际为男性,且判断为男性(正确)

    FN – False Negative:实际为男性,但判断为女性(错误)

    TN – True Negative:实际为女性,且判断为女性(正确)

    FP – False Positive:实际为女性,但判断为男性(错误)

    这4个名词初看起来比较晕(尤其是缩写),但是当我们把英文拆分时就很容易理解了,如下图:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    所有的评估指标都是围绕上面4种情况来计算的,所以理解上面4种情况是基础!

    分类评估指标详解

    下面详细介绍一下分类分为种的各种评估指标详情和计算公式:

    准确率 – Accuracy

    预测正确的结果占总样本的百分比,公式如下:

    准确率 =(TP+TN)/(TP+TN+FP+FN)

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    虽然准确率可以判断总的正确率,但是在样本不平衡 的情况下,并不能作为很好的指标来衡量结果。举个简单的例子,比如在一个总样本中,正样本占 90%,负样本占 10%,样本是严重不平衡的。对于这种情况,我们只需要将全部样本预测为正样本即可得到 90% 的高准确率,但实际上我们并没有很用心的分类,只是随便无脑一分而已。这就说明了:由于样本不平衡的问题,导致了得到的高准确率结果含有很大的水分。即如果样本不平衡,准确率就会失效。

    精确率(差准率)- Precision

    所有被预测为正的样本中实际为正的样本的概率,公式如下:

    精准率 =TP/(TP+FP)

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    精准率和准确率看上去有些类似,但是完全不同的两个概念。精准率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。

    召回率(查全率)- Recall

    实际为正的样本中被预测为正样本的概率,其公式如下:

    召回率=TP/(TP+FN)

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    召回率的应用场景: 比如拿网贷违约率为例,相对好用户,我们更关心坏用户,不能错放过任何一个坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。召回率越高,代表实际坏用户被预测出来的概率越高,它的含义类似:宁可错杀一千,绝不放过一个。

    F1分数

    如果我们把精确率(Precision)和召回率(Recall)之间的关系用图来表达,就是下面的PR曲线:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    可以发现他们俩的关系是「两难全」的关系。为了综合两者的表现,在两者之间找一个平衡点,就出现了一个 F1分数。

    F1=(2×Precision×Recall)/(Precision+Recall)

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    ROC曲线、AUC曲线

    ROC 和 AUC 是2个更加复杂的评估指标,下面这篇文章已经很详细的解释了,这里直接引用这篇文章的部分内容。

    上面的指标说明也是出自这篇文章:《一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC》

    1. 灵敏度,特异度,真正率,假正率

    在正式介绍 ROC/AUC 之前,我们还要再介绍两个指标,这两个指标的选择也正是 ROC 和 AUC 可以无视样本不平衡的原因。 这两个指标分别是:灵敏度和(1- 特异度),也叫做真正率(TPR)和假正率(FPR)。

    灵敏度(Sensitivity) = TP/(TP+FN)

    特异度(Specificity) = TN/(FP+TN)

    • 其实我们可以发现灵敏度和召回率是一模一样的,只是名字换了而已。
    • 由于我们比较关心正样本,所以需要查看有多少负样本被错误地预测为正样本,所以使用(1- 特异度),而不是特异度。

    真正率(TPR) = 灵敏度 = TP/(TP+FN)

    假正率(FPR) = 1- 特异度 = FP/(FP+TN)

    下面是真正率和假正率的示意,我们发现TPR 和 FPR 分别是基于实际表现 1 和 0 出发的,也就是说它们分别在实际的正样本和负样本中来观察相关概率问题。 正因为如此,所以无论样本是否平衡,都不会被影响。还是拿之前的例子,总样本中,90% 是正样本,10% 是负样本。我们知道用准确率是有水分的,但是用 TPR 和 FPR 不一样。这里,TPR 只关注 90% 正样本中有多少是被真正覆盖的,而与那 10% 毫无关系,同理,FPR 只关注 10% 负样本中有多少是被错误覆盖的,也与那 90% 毫无关系,所以可以看出:如果我们从实际表现的各个结果角度出发,就可以避免样本不平衡的问题了,这也是为什么选用 TPR 和 FPR 作为 ROC/AUC 的指标的原因。

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    或者我们也可以从另一个角度考虑:条件概率。 我们假设X为预测值,Y为真实值。那么就可以将这些指标按条件概率表示:

    精准率 = P(Y=1 | X=1)

    召回率 = 灵敏度 = P(X=1 | Y=1)

    特异度 = P(X=0 | Y=0)

    从上面三个公式看到:如果我们先以实际结果为条件(召回率,特异度),那么就只需考虑一种样本,而先以预测值为条件(精准率),那么我们需要同时考虑正样本和负样本。所以先以实际结果为条件的指标都不受样本不平衡的影响,相反以预测结果为条件的就会受到影响。

    2. ROC(接受者操作特征曲线)

    ROC(Receiver Operating Characteristic)曲线,又称接受者操作特征曲线。该曲线最早应用于雷达信号检测领域,用于区分信号与噪声。后来人们将其用于评价模型的预测能力,ROC 曲线是基于混淆矩阵得出的。

    ROC 曲线中的主要两个指标就是真正率假正率, 上面也解释了这么选择的好处所在。其中横坐标为假正率(FPR),纵坐标为真正率(TPR),下面就是一个标准的 ROC 曲线图。

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    ROC 曲线的阈值问题

    与前面的 P-R 曲线类似,ROC 曲线也是通过遍历所有阈值 来绘制整条曲线的。如果我们不断的遍历所有阈值,预测的正样本和负样本是在不断变化的,相应的在 ROC 曲线图中也会沿着曲线滑动。

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    如何判断 ROC 曲线的好坏?

    改变阈值只是不断地改变预测的正负样本数,即 TPR 和 FPR,但是曲线本身是不会变的。那么如何判断一个模型的 ROC 曲线是好的呢?这个还是要回归到我们的目的:FPR 表示模型虚报的响应程度,而 TPR 表示模型预测响应的覆盖程度。我们所希望的当然是:虚报的越少越好,覆盖的越多越好。所以总结一下就是TPR 越高,同时 FPR 越低(即 ROC 曲线越陡),那么模型的性能就越好。 参考如下:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    ROC 曲线无视样本不平衡

    前面已经对 ROC 曲线为什么可以无视样本不平衡做了解释,下面我们用动态图的形式再次展示一下它是如何工作的。我们发现:无论红蓝色样本比例如何改变,ROC 曲线都没有影响。

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

     

    3. AUC(曲线下的面积)

    为了计算 ROC 曲线上的点,我们可以使用不同的分类阈值多次评估逻辑回归模型,但这样做效率非常低。幸运的是,有一种基于排序的高效算法可以为我们提供此类信息,这种算法称为曲线下面积(Area Under Curve)

    比较有意思的是,如果我们连接对角线,它的面积正好是 0.5。对角线的实际含义是:随机判断响应与不响应,正负样本覆盖率应该都是 50%,表示随机效果。 ROC 曲线越陡越好,所以理想值就是 1,一个正方形,而最差的随机判断都有 0.5,所以一般 AUC 的值是介于 0.5 到 1 之间的。

    AUC 的一般判断标准

    0.5 – 0.7: 效果较低,但用于预测股票已经很不错了

    0.7 – 0.85: 效果一般

    0.85 – 0.95: 效果很好

    0.95 – 1: 效果非常好,但一般不太可能

    AUC 的物理意义

    曲线下面积对所有可能的分类阈值的效果进行综合衡量。曲线下面积的一种解读方式是看作模型将某个随机正类别样本排列在某个随机负类别样本之上的概率。以下面的样本为例,逻辑回归预测从左到右以升序排列:

    一文看懂分类模型的评估指标:准确率、精准率、召回率、F1等

    展开全文
  • 使用Python Numpy向量化实现准确率与召回率的计算
  • TF之LoR:基于tensorflow利用逻辑回归算LoR法实现手写数字图片识别提高准确率 目录 输出结果 设计代码 输出结果 设计代码 #TF之LoR:基于tensorflow实现手写数字图片识别准确率 import ...
  • CNN 模型准确率一直在0.1,求大神指点

    千次阅读 热门讨论 2019-04-13 14:39:52
    Tensorflow CNN准确率一直在10%左右。...这是训练模型时的loss和准确率。 在测试集上准确率也就10%左右。训练集有317张图片,测试集75。 是不是因为数据集太小了?还是模型出了问题。。。求大神指点。 ...
  • 1、回归分析概括。 2、损失函数。 3、优化算法。 4、python的API。 5、python机器学习线性模型API。 6、机器学习中回归性能评估。 7、欠拟合和过拟合。 8、线性回归的改进--岭回归。 9、案例代码
  • 针对传统多模型数据集回归分析方法计算时间长,模型识别准确率低的问题,提出了一种新的启发式鲁棒回归分析方法。该方法模拟免疫系统聚类学习的原理,采用B细胞网络作为数据集的分类和存储工具,通过判断数据对模型...
  • 在上一篇逻辑回归分类计算中,模型准确率为0.1,准确率较差且在分类1的模型预测结果显示中效果极差。在网上查找了各种逻辑回归分类的代码分析。发现错误还是在梯度下降算法计算回归系数的上,导致模型预测的精确度...
  • 1.召回率和正确率计算对于一个KK元的分类结果,我们可以得到一个K∗KK*K的混淆矩阵,得到的举证结果如下图所示。 从上图所示的结果中不同的元素表示的含义如下: mijm_{ij} :表示实际分类属于类ii,在预测过程中被...
  • 针对分类、回归、排序等问题的模型评估,不同的问题有不同的评估方法,今天重点来说一下关于分类问题的准确率(Accuracy)、精确率(precision)、召回率(Recall)、F1 score。 准确率(Accuracy) 准确率指的是...
  • 预测模型准确率可以用2种方法来提高:要么进行特征设计,要么直接使用boosting算法。参加过许多数据科学大赛后,我发现许多人喜欢用boosting算法,因为它只需更少的时间就能产生相似的结果。 目前有许多...
  • 逻辑回归需要掌握的知识点 知道逻辑回归的损失函数 知道逻辑回归的优化方法 知道sigmoid函数 知道逻辑回归的应用场景 ...应用classification_report实现精确率、召回率计算 应用roc_auc_score实现指标计...
  • 线性回归模型

    千次阅读 2019-05-21 10:33:22
    线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。 优点:结果易于理解,计算不复杂 缺点:对非线性的数据拟合不好 适用数据类型:数值型和...
  • 综合Forest,GBDT,XGBoot,lightgbm几种算法得出的准确率和auc值,GBDT的score:0.8623384430417794,auc:0.7633094425839567的效果最好.
  • 准确率、精准率和召回率的理解

    万次阅读 多人点赞 2017-09-29 13:46:56
    准确率、精准率和召回率也通过混淆矩阵计算出来的。下图是对混淆矩阵的介绍:     其中, TP:样本为正,预测结果为正; FP:样本为负,预测结果为正; TN:样本为负,预测结果为负; FN:样本为正,...
  • 我从实践中学习了到这些方法。相对于理论,我一向更热衷于实践。这种学习方式也一直在激励我。本文将分享 8 个经过证实的...你会尝试所有曾学习过的策略和算法,但模型正确并没有改善。你会觉得无助和困顿,这是 9
  • 回归分析

    千次阅读 2018-01-22 22:31:16
    回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技 术通常用于预测分析以及发现变量之间的因果关系。 使用回归分析的好处良多。具体如下: 1. 它表明自变量和因...
  • 回归模型的自我理解

    千次阅读 2019-06-28 21:23:06
    一元线性回归模型 多元线性回归模型 逐步回归 多重共线性 多重共线性和最小二乘法 岭回归(RR) LASSO回归 最小角回归 广义线性回归模型 逻辑回归模型 回归:数据有“回归到平均数的趋势” 回归分析研究...
  • 逻辑回归实现分类计算

    千次阅读 2018-10-12 17:44:36
    xn),其中xi是x在第i个属性上的取值,线性模型试图学的一个通过属性的线性组合来进行预测的函数,即 也可以写成: w为回归系数,b为常量。 线性回归通常用来处理连续性变量,当因变量f(x)为离散变量,比如分类...
  • 解析逻辑回归模型

    千次阅读 2018-06-18 11:33:24
    逻辑回归模型是业界运用最为广泛的模型,我们从下面几个方面讨论这个模型: 1. 在模型层面上,逻辑回归模型是被用来解决分类问题的。由于分类是一个非线性问题,所以建模的主要难点是如何将非线性问题转化为线性...
  • 总结监督模型在给定数据集上的表现有很多种方法,例如,精度、混淆矩阵、准确率、召回率、f-分数、准确率召回率曲线、ROC曲线以及AUC。下面先以二分类为例,解释各种评估指标的含义,然后再拓展多分类的指标,最后...
  • 今天进入第二章:模型评估 ...分类、排序、回归、序列预测不同问题指标不同 什么时候评估? 两个阶段:离线评估和在线评估 2. 算法工程师应当具备的基本功 知道每种评估指标的精确定义 选择合适的评估...
  • 1 二分类评价指标 准确率,精确率,召回率,F1-Score, AUC, ROC, P-R...注意:准确率这一指标在Unbalanced数据集上的表现很差,因为如果我们的正负样本数目差别很大,比如正样本100个,负样本9900个,那么直接把所有
  • Logistic回归模型

    千次阅读 2020-04-03 12:06:39
    为什么会用到logistic回归模型 普通线性回归模型的一个假设条件是当自变量取值确定时,因变量服从方差不变的正态分布。而如果因变量是类别变量,则该假设条件无法满足。为了通过自变量的线性组合来预测类别因变量的...
  • 【火炉炼AI】机器学习011-分类模型的评估:准确率,精确率,召回率,F1值 【本文所使用的Python库和版本号】: Python 3.5, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2   在前面的(【火炉炼AI】机器学习004...
  • 大数据分析R中泊松回归模型实例

    千次阅读 2020-08-31 11:23:47
    在大数据分析R中泊松回归模型实例中,我们将深入研究泊松回归,它是什么以及R程序员如何在现实世界中使用它。  具体来说,我们将介绍:  1)泊松回归实际上是什么,什么时候应该使用它  2)泊松分布及其与正态...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,594
精华内容 21,037
关键字:

回归模型准确率计算