机器学习中分类器验证AUC值不理想,能否比较验证集实际频率和预测概率均值来说明模型准确性。 80C

大家好,我目前在用一批土壤数据做二分类模型,尝试了随机森林、SVM、逻辑斯蒂回归、朴素贝叶斯等常用分类算法,但是结果不太理想。不理想指的是采用常规的ROC曲线法进行模型精度验证时,曲线基本就在0.5随机线附近,AUC也就0.53左右的样子。
之前看到过一篇关于贝叶斯概率预测模型的文章(Wu Bo, 2018),他在检验模型准确性时没有采取ROC曲线法或类似基于混淆矩阵的方法,而是把验证数据集当作一个整体,计算了两个分类各自的频率,然后将验证数据集参数的平均值带入训练好的贝叶斯模型,求出一个后验概率,通过比较后验概率与实际频率,来说明模型的好坏。
于是尝试用这种思路,去把我的验证数据集每个样本带入模型计算得到的那个数字(例如贝叶斯和逻辑斯蒂回归都可以给出后验概率)求平均,发现这个平均数确实和实际两个类别的频率很接近。我又通过改变数据的分类阈值(比如说原来是170cm以上算高个,现在调整成160就是高个儿),发现不同阈值下求得的这个平均数和相应的实际频率都很一致。
本人数学底子挺差的,不知道这种验证方法是否可行?如果可行的话,后面是什么原理?能否指点个参考文献?如果不行的话,又是为什么呢?

0

1个回答

感觉你的描述就是计算交叉熵(Cross Entropy)

https://blog.csdn.net/tsyccnh/article/details/79163834

0
tuzhiyoyo
tuzhiyoyo 十分感谢!我搜了下资料,交叉熵一般用于训练模型时构建损失函数。那么用交叉熵进行验证是否可行呢?没有看到有人提过。另外它用于比较几种不同模型泛化能力时,谁更小谁更好,那么有没有一个经验数值,交叉熵低于该数值时,即可认为模型泛化能力足够好呢?
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
预测Titanic号上的乘客生存概率_04_分类模型评估和验证(ROC-AUC-KS)
1.通过学习曲线诊断偏差和方差 数据感知 绘制 学习曲线诊断偏差和方差图 运行环境jupyter notebook import numpy as np import pandas as pd from sklearn.model_selection import learning_curve #学习曲线 from sklearn.model_se...
机器学习备忘录 | AUC值的含义与计算方法
引言 在机器学习领域,AUC值经常用来评价一个二分类模型的训练效果,对于许多机器学习或者数据挖掘的从业者或在校学生来说,AUC值的概念也经常被提起,但由于大多数时候我们都是借助一些软件包来训练机器学习模型,模型评价指标的计算往往被软件包所封装,因此我们常常会忽略了它们的具体意义,这在有些时候会让我们对于手头正在进行的任务感到困惑。笔者也曾遇到类似的问题,因此希望借由本文来梳理下AUC值的意义与计...
利用随机森林、GBDT、xgboost、LightGBM计算准确率和auc
综合Forest,GBDT,XGBoot,lightgbm几种算法得出的准确率和auc值,GBDT的score:0.8623384430417794,auc:0.7633094425839567的效果最好.
Java机器学习库ML之七分类预测输出概率值
场景:一般分类预测直接输出类别标记,不过有些情况需要输出对应类别的概率值,比如判定为正例的概率是0.6,而判定为负例的概率是0.3,那自然标记为正例,这里就是看ML用classDistribution输出各类别的概率值。参考代码如下: /** * This file is part of the Java Machine Learning Library * * The Java Mac
机器学习笔记十五:分类问题的性能度量(混淆矩阵,正确率,召回率,ROC,AUC)
分类问题的性能度量
AUC评价指标的理解以及其为何能衡量二分类模型优劣——复习篇
AUC是衡量二分类模型优劣的一种评价指标,其他评价指标有精确度、准确率、召回率,而AUC比这三者更为常用。因为一般在分类模型中,预测结果都是以概率的形式表现,如果要计算准确率,通常都会手动设置一个阈值来将对应的概率转化成类别,这个阈值也就很大程度上影响了模型准确率的计算。AUC能很好描述模型整体性能的高低。从一定程度上讲,它可以描述预测结果中正例排在负例前面的概率。 AUC(Area under...
机器学习笔记——模型选择和交叉验证集
通常为了选择能适应一般情况的模型,需要使用交叉验证集来帮助选择模型。即,使用60%的数据作为训练集,使用20%的数据作为交叉验证集,使用20%的数据作为测试集。模型的选择方法为:1、使用训练集训练出10 个模型2、用10个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)3、选取代价函数值最小的模型4、用步骤3中选出的模型对测试集计算得出推广误差(代价函数的值)...
基于概率论的分类方法:朴素贝叶斯算法实践学习
本文根据最近学习机器学习书籍 网络文章的情况,特将一些学习思路做了归纳整理,详情如下.如有不当之处,请各位大拿多多指点,在此谢过.          通过前两篇文章,我们对于k-近邻算法\決策树算法的分类问题有了有了解,通过这些分类器可以得到相应的決策,給出"该数据实例属于哪一类"這類問題的明確答案.但在深入研究過程中,我們會發現,分類器有時不可避免地產生錯誤的結果,這時就要求分類器給出一個最優
通过验证曲线来判断机器学习模型的性能
当,一个机器学习的模型训练完成之后,我们应该如何来判断模型的性能。在上一篇文章中,我们使用了交叉验证的方法来估计模型的平均性能,这篇文章中,将介绍通过学习曲线来判断模型的偏差和方差问题,通过验证曲线来判断模型参数对于模型的过拟合和欠拟合问题。一、学习曲线判断模型的偏差和方差当模型在训练数据上构建的太复杂,这时候模型就有可能对训练数据出现过拟合,而对于未知数据的泛化能力就不好。对于模型的过拟合问题,...
机器学习中的训练集,验证集及测试集的关系
最近在看机器学习的东西发现验证集的(Validation set) 有时候被提起到,以时间没明白验证集的真正用途。 首先,这三个名词在机器学习领域的文章中是很常见的,以下是这三个词的定义。  Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of
【Python实例第1讲】交叉验证预测曲线的画法
机器学习训练营——机器学习爱好者的自由交流空间(qq 群号:696721295) 本例显示如何使用cross_val_predict函数可视化模型预测误差。这里要用到scikit-learn自带数据集——“波士顿房价数据集”。 数据集介绍 “波士顿房价数据集”位于datasets里,包括13个特征。首先,我们来看一看这个数据集的属性的详细信息。 from sklearn i...
机器学习系列(五)——训练集、测试集、验证集与模型选择
在机器学习过程中,为了找到泛化性能最好的那个函数,我们需要确定两方面的参数:1、假设函数参数,也就是我们通常所说的www和bbb,这类参数可以通过各种最优化算法自动求得。2、模型参数,比如多项式回归中的多项式次数,规则化参数λλ\lambda等,这些参数被称为超参数,一般在模型训练之前通过手工指定(当然也可以采用网格法等算法进行寻优)。确定模型超参数的过程称为模型选择。 模型选择 借用吴恩...
什么时候应该修改验证集和测试集的指标
前言 我们可以将模型的训练理解成为寻找靶心的过程,如果想要模型在验证集和测试集上的表现都好的话,那么就需要保证验证集和测试集相对于训练集而言它们的靶心都处于同一位置。如果验证集和测试集相对于训练集的靶心有所偏差,这时候就需要考虑修改验证集和测试集或修改验证集和测试集的指标。本篇文章的主要内容来自于deeplearning.ai视频教程。接下来我们通过两个案例来说明一下什么时候应该修改验证集和测试...
【scikit-learn】评估分类器性能的度量,像混淆矩阵、ROC、AUC等
 内容概要¶ 模型评估的目的及一般评估流程分类准确率的用处及其限制混淆矩阵(confusion matrix)是如何表示一个分类器的性能混淆矩阵中的度量是如何计算的通过改变分类阈值来调整分类器性能ROC曲线的用处曲线下面积(Area Under the Curve, AUC)与分类准确率的不同 1. 回顾¶ 模型评估可以用于在不同的模型类型、调节参数、特征组合中选择
机器学习中模型评估与选择中的几个小问题
Training set、Validation set 与 Testing set有关于训练数据的过程中,validation与testing有何区别,validation的作用到底是什么? Cross-validation中,该怎么理解、操作?
机器学习实践(十五)—sklearn之分类算法-逻辑回归、精确率、召回率、ROC、AUC
逻辑回归虽然名字中带有回归两字,但它实际是一个分类算法。 一、逻辑回归的应用场景 广告点击率 是否为垃圾邮件 是否患病 金融诈骗 虚假账号 看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。 逻辑回归就是解决二分类问题的利器 二、逻辑回归的原理 输入 逻辑回归的输入其实就是线性回归 即: hθ(x)=θTx h_\theta(x)=\theta^Tx hθ​(x)=...
【机器学习】几个常用分类模型实战(数据预处理+K折交叉验证+AUC模型评估+网格搜索)
目录 简介 载入相关库 数据预处理 载入特征数据 载入标签数据 划分训练集和测试集 归一化特征数据 开始模型构建 感知器 感知器的K折交叉验证(K=5) 逻辑回归 逻辑回归的K折交叉验证(K=5) AUC模型评估 支持向量机(SVM) K折交叉验证(K=3) Kernel SVM(使用核方法的支持向量机) K折交叉验证(K=3) 参数网格搜索 使用三维点图绘制...
测试svm分类器准确率
加载训练好的svm分类器,以及有测试图片路径的txt文件,测试分类器准确率
机器学习中训练集、验证集和测试集的作用
通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集、验证集合测试集,划分比例一般为0.6:0.2:0.2。对原始数据进行三个集合的划分,是为了能够选出效果(可以理解为准确率)最好的、泛化能力最佳的模型。训练集(Training set)作用是用来拟合模型,通过设置分类器的参数,训练分类模型。后续结合验证集作用时,会选出同一参数的不同取值,拟合出多个分类器。验证集(Cross Valida...
keras中自定义验证集的性能评估(ROC,AUC)
在keras中自带的性能评估有准确性以及loss,当需要以auc作为评价验证集的好坏时,就得自己写个评价函数了: from sklearn.metrics import roc_auc_score # AUC for a binary classifier def auc(y_true, y_pred): ptas = tf.stack([binary_PTA(y_true,y_p
机器学习性能指标精确率、召回率、F1值、ROC、PRC与AUC
精确率、召回率、F1、AUC和ROC曲线都是评价模型好坏的指标,那么它们之间有什么不同,又有什么联系呢。下面让我们分别来看一下这几个指标分别是什么意思。 针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况. (1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP) (2)若一个实例是正类,但是被预
机器学习算法模型评价指标ROC AUC
【导读】在机器学习研究或项目中使用分类精度、均方误差这些方法衡量模型的性能。当然,在进行实验的时候,一种或两种衡量指标并不能说明一个模型的好坏,因此我们需要了解常用的几种机器学习算法衡量指标。    本文整理介绍了7种最常用的机器学习算法衡量指标:分类精度、对数损失、混淆矩阵、曲线下面积、F1分数、平均绝对误差、均方误差。相信阅读之后你能对这些指标有系统的理解。   1.分类精度 当我们使用...
[机器学习] 性能评估指标(精确率、召回率、ROC、AUC)
目录 为什么要评估模型? 怎么检验和评估模型? 评估指标 (Evaluation Matrics)是什么? 错误率,精度,误差的基本概念: 分类器评估指标 混淆矩阵 1. 准确率P、召回率R、F1 值 2. ROC与AUC ROC 计算例子 1. 分析数据 2. 针对score,将数据排序 3. 将截断点依次取为score值 为什么要评估模型? 一句话,想找到最有效的模...
训练集、验证集与测试集回顾总结
在 NG 的课程、西瓜书以及 Goodfellow 的 《DeepLearning》 书中都有提到:最佳的数据划分是将数据分为三部分,分别为训练集(trainning set),验证集(validation set)和测试集(test set)。相信对绝大多数刚刚步入机器学习或是深度学习门槛的小鲜肉都会有点困惑,这次博文,写给新人!也作为笔记。Training Set : a subset of t
Tensorflow基础:使用验证数据集判断模型效果
验证数据集判断模型效果
tensorflow 数据使用验证(验证集准确率计算)
import tensorflow as tf cls_prob = tf.constant([[0.8, 0.9],[0.95, 0.9],[0.7, 0.9],[0.6, 0.9]], tf.float32) pred = tf.argmax(cls_prob, axis=1) label_int = tf.constant([-1, 0, 0, 1], tf.float32) cond = ...
(信贷风控五)评分卡模型的评价标准
首先我们回顾一下评分卡模型的制作步骤 数据预处理 变量衍生构造 变量分箱 变量挑选 模型参数估计 模型校验 概率转换为分数 这篇博客我们主要来讨论一下评分卡模型的评价标准,主要有以下三个方面 模型的区分度 模型的准确度 模型的稳定性 下面我们一一从这三个方面来讨论一下模型的评价标准 模型的区分度 评分卡模型的结果需要能对好、坏人群给出一定的区分度,常用方法 (在...
数据预处理:样本非平衡处理
转载:https://zhuanlan.zhihu.com/p/37311047 非平衡数据会影响最后的评判效果,严重的会带来过拟合的效果,即模型总是把样本划分到样本量较多的那一种。为了让模型的评判更准确,我们需要对非平衡数据进行一定的处理,主要有以下几种方式: ...
【机器学习详解】SVM解二分类,多分类,及后验概率输出
转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51073885 CSDN−勿在浮沙筑高台\color{Blue}{CSDN-勿在浮沙筑高台} 支持向量机(Support Vector Machine)曾经在分类、回归问题中非常流行。支持向量机也称为最大间隔分类器,通过分离超平面把原始样本集划分成两部分。首先考虑最简单
二分类模型评价指标-ROC&PRC
先Mark~一定补 2017-05-07符号TP、FN、FP、TN解释见下图: - 精确率(Precision):预测为“真”的样本中,确实是真的的占比 - 召回率(Recall):所有确实为真的样本中,被判为的“真”的占比 - TPR(True Positive Rate):真阳性、同Recall - FPR(False Positive Rate):假阳性,所有确实为假的样本
二分类模型AUC评价法
对于二分类模型,其实既可以构建分类器,也可以构建回归(比如同一个二分类问题既可以用SVC又可以SVR,python的sklearn中SVC和SVR是分开的,R的e1701中都在svm中,仅当y变量是factor类型时构建SVC,否则构建SVR)。 二分类模型的评价指标很多,这里仅叙述AUC这个指标。AUC的具体原理此处不再叙述,可以参考相关资料,比如这个还行:ROC和AUC介绍以及如何计算AUC...
使用python+sklearn的决策树方法预测是否有信用风险
使用python+sklearn的决策树方法预测是否有信用风险
【机器学习】贝叶斯整理
简述朴素贝叶斯算法原理和工作流程 事件A和B同时发生的概率为在A发生的情况下发生B或者在B发生的情况下发生A。 所以有: 对于给出的待分类项,求解在此项出现的条件下各个目标类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。 工作原理: 假设现在有样本这个待分类项(并认为x中的特征独立)。 再假设现在有分类目标 那么就是最终的分类类别。 而 因为x对于每个分类目标来说...
sklearn 三种分类算法评估
In the second ML assignment you have to compare the performance of three di↵erent classification algorithms, namely Naive Bayes, SVM, and Random Forest. For this assignment you need to generate a rando...
AUC原理计算
面试的时候回答的不清楚,学习&总结如下。 参考link 1.ROC曲线 对于二值分类器,评价指标主要有precision,recall,F-score(综合考虑precision和recall的调和值) ROC曲线上的每个点反映着对同一信号刺激的感受性。横坐标FPR越大,预测正类中实际上负类越多。纵坐标TPR越大,预测正类中实际正类越多。所以最好的情况是(0,1)时。 ...
机器学习中时间序列数据的训练集、验证集、测试集处理问题
机器学习中对于时间序列的数据进行train、val、test划分时需要注意的问题是,不要将val中的数据出现在train中,准确的说,是选取的val数据的时间节点不能与train中数据时间节点有任何交集。否则,你会发现训练时,val的loss会与train的loss几乎一样,即失去其作用。因为,对于时间序列预测这种任务,如果你的验证集中与训练集中时间上出现重叠,模型会在训练时记忆你训练集中出现的重...
训练集,测试集和验证集
     在机器学习和模式识别等领域中,一般需要将样本分成独立的三部分训练集(train set),验证集(validation set ) 和测试集(test set)。其中训练集用来估计模型,验证集用来确定网络结构或者控制模型复杂程度的参数,而测试集则检验最终选择最优的模型的性能如何。一个典型的划分是训练集占总样本的50%,而其它各占25%,三部分都是从样本中随机抽取。验证集和测试集的区别在于...
【机器学习】为什么随机分类时,AUC = 0.5?
关于ROC和AUC的介绍,可以参考维基百科。 这里仅谈个人对随机分类下ROC曲线的理解,即为什么随机分类时,AUC = 0.5? 若理解有误,恳请大佬指导↖(^ω^)↗ 一、混淆矩阵: 二、ROC曲线: 横坐标:FPR = b1 / ( b1 + b2 ) = 预测为正,实际为负 /总负样本数 =负样本预测错误数 / 总负样本数 纵坐标:TPR = a1 / ( a...
【机器学习详解】概率生成模型与朴素贝叶斯分类器
1.概率生成模型首先介绍生成模型的概念,然后逐步介绍采用生成模型的步骤。1.1概念 即对每一种类别CkC_k分别建立一种模型p(Ck|x)p(C_k|x),把待分类数据x分别带入每种模型中,计算后验概率p(Ck|x)p(C_k|x),选择最大的后验概率对应的类别。 假设原始数据样本有K类,生成学习算法是通过对原始数据类p(x|Ck)p(x|C_k)与p(Ck)p(C_k)建立数据类模型后,采用贝
机器学习中的概率问题
前言 机器学习的过程可以理解为计算机通过分析大量的数据获得模型,并通过获得的模型进行预测的过程。机器学习的模型可以有多种表示,例如线性回归模型,SVM模型,决策树模型,贝叶斯模型。 概率类型 在理解概率模型之前,首先要理解的各种概率类型所表示的确切含义。 1.先验概率 某事件发生的概率。 2.条件概率 在某种条件下,事件A发生的概率,可以是基于历史数据的统计,可以由...
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo