-
机器学习对回归模型的评价指标:均方误差、可解释方差和R方值
2019-10-24 14:22:44学习过概率与统计的同学们都知道,对于线性回归及其他的回归模型来说,评价连续性可拟合的数据就不能使用离散二分类器的评价指标对回归模型进行评价。因此我们引入了均方误差(mean squared error MSE)、可解释方差...学习过概率与统计的同学们都知道,对于线性回归及其他的回归模型来说,评价连续性可拟合的数据就不能使用离散二分类器的评价指标对回归模型进行评价。因此我们引入了均方误差(mean squared error MSE)、可解释方差(Explained Var score)和R方值(
)。
首先我们先看一下这三个概念是如何计算一个评价值(score)的:
均方误差:
又称MSE,是个使用频度很高的评价指标,在概率论和数理统计中的数学定义式就是:
前i个样本属性实际值
与预测值距离差
的平方和均值。
MSE衡量的是样本整体与模型预测值偏离程度。
可解释方差:
这部分很少有资料提到可解释方差的公式,根据一些资料的描述,可解释方差是(1- 样本值与预测值之差的方差/样本方差),数学公式描述为:
E表示均值;
因为是从代码中解读的公式,所以这个公式可能写的有点不太对,望有人指出正确的公式是咋个模样。
看着怪折腾的……
可解释方差指标衡量的是所有预测值和样本之间的差的分散程度与样本本身的分散程度的相近程度。本身是分散程度的对比。最后用1-这个值,最终值越大表示预测和样本值的分散分布程度越相近。
值:
又名决定系数,
公式为
这个公式的作为指标的意图就相对明显了。决定系数计算出来越是接近1,预测值越接近真实样本值。
-
王济川logistic回归模型_Logistic回归——回归模型评价
2021-01-08 17:39:311拟合优度评价我们在对模型的拟合优度进行评价时,需要判断模型的预测值与对应的观测值是否具有较高的一致性,如果匹配性较好,就认为这一模型拟合数据,否则,将不接受这一模型,需要对模型重新设置。从这一点上来...在模型创建完成后,我们需要考虑模型的适当性,如模型的拟合优度,预测准确性和模型的
检验。
1拟合优度评价
我们在对模型的拟合优度进行评价时,需要判断模型的预测值与对应的观测值是否具有较高的一致性,如果匹配性较好,就认为这一模型拟合数据,否则,将不接受这一模型,需要对模型重新设置。从这一点上来说,模型的适当性指的就是拟合优度。那么可能就有小伙伴会问了,我们要从哪些角度来判断模型的好坏呢?统计分析中有很多方法可以对logistic回归模型的拟合优度进行评价。下面简单介绍几种拟合优度的方法。
1.1 皮尔逊
(Pearson
)
通过比较模型预测的和观测的事件发生和不发生的频数检验模型成立的假设。其标准统计量计算公式为:
其中,j是协变类型的种类数目。O表示观测频数,E表示预测频数,自由度是协变类型数目与参数数目之差。
统计量很小就意味着预测值之间没有显著差别,表示这一模型很好地拟合了数据,相反统计量很大时,统计检验就显著,于是提供拟合不佳的证据。当拟合不好时,可以用残差和其他诊断测量来说明每个案例对模型拟合的影响以便寻找模型不合理的原因。
1.2 Hosmer-Lemeshow拟合优度指标
Hosmer和Lemeshowv于1989年研制出了一种对于Logistic回归模型拟合优度检验方法,称为Hosmer-Lemeshow拟合优度指标。记为HL,HL检验根据预测概率值将数据大致分为相同规模的10个组,不考虑协变类型个数,将观测数据按照其预测概率做升序排列。
通过皮尔逊
来概括这些分组中事件结果的观测数和预测数将其与自由度为G-2的
进行比较,
检验不显著表示模型很好的拟合了数据,检验显著时表示模型拟合数据不好。
2预测准确性
除了拟合优度之外,对Logistic回归模型的另一种评价是模型的预测准确性。在线性回归中,人们往往对确定系数
的值感兴趣,因为它描述的是因变量的变动中由模型的自变量所“解释”百分比。但是在Logistic回归中却没有相应的统计指标,不过在模型似然值对数的基础上,可以为Logistic回归模型计算某种类似
的指标,如似然比指数(likelihood ratio index,记为LRI)
与
类似,LRI的值域为0至1,当自变量与因变量完全不相关时(即所有的回归系数为0时),LRI等于0,当模型的拟合程度提高时,LRI值增加,拟合得越好,LRI值越接近。,只有当模型完全拟合时,LRI值达到1,但在实际应用中,LRI的值可以非常接近1,但不会等于1。
3模型
统计
为了对logistic回归模型·进行有意义的解释,要求模型中所包含的自变量必须对因变量有显著的解释能力,也就是说所设模型必须要比零假设模型(即只包含常数项的模型)要好,在多元线性回归中,常用自由度分别为K和n-K-1的F检验(其中K是自变量的个数,n为样本规模)来检验“除常数项外的所有系数都等于0”的无关假设,而在logistic回归中服务于同一目的的检验却是似然比检验(likelihood ratio test),它可以用来检验logistic回归模型是否统计性显著,似然比统计量近似地服从
分布。
小结:以上就是对logistic回归模型进行评价的一些方法,我们可以根据这些方法在spss软件中进行判断我们所设的模型是否适当。下期我们将会用一个实例来检验我们的模型。
-
线性回归模型的性能评价指标
2018-11-20 14:09:09本节讨论下线性回归模型的性能评价指标 对于机器学习的两个基本问题分类和回归的评价方式有所不同,...从而实现对回归模型的评估,一般可以画出残差图,进行分析评估、估计模型的异常值、同时还可以检查模型是否是...本节讨论下线性回归模型的性能评价指标
对于机器学习的两个基本问题分类和回归的评价方式有所不同,分类问题一般通过分类准确率、召回率、F1值、ROC/AUC等手段进行模型的评估。对于回归问题,该如何评价? 这里简要列举部分评估方法。
1、残差估计
总体思想是计算实际值与预测值间的差值简称残差。从而实现对回归模型的评估,一般可以画出残差图,进行分析评估、估计模型的异常值、同时还可以检查模型是否是线性的、以及误差是否随机分布。
import matplotlib.pyplot as plt import seaborn as sns import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split # 数据读取 df = pd.read_csv('dataset/boston.csv', sep=',') df.columns = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'LSTAT', 'MEDV'] # 所有属性拟合线性模型 X = df.iloc[:, :-1].values y = df[['MEDV']].values X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=0) # 模型训练 slr = LinearRegression() slr.fit(X_train, y_train) y_train_pred = slr.predict(X_train) y_test_pred = slr.predict(X_test) # 残差评估方法 plt.scatter(y_train_pred, y_train_pred-y_train, c='blue', marker='o', label='Training data') plt.scatter(y_test_pred, y_test_pred-y_test, c='lightgreen', marker='s', label='Test data') plt.xlabel('Predicted values') plt.ylabel('Residuals') plt.legend(loc='upper left') plt.hlines(y=0, xmin=-10, xmax=50, lw=2, colors='red') plt.xlim([-10, 50]) plt.savefig('result/residuals_metric.png') plt.show()
效果图
可以看出,残差随机分布在0值附近,总体离0值越近说明回归模型的拟合效果越好。对于偏离较大的残差点,可以认为是异常值点。
2、均方误差(Mean Squared Error, MSE)
均方误差是线性模型拟合过程中,最小化误差平方和(SSE)代价函数的平均值。MSE可以用于不同模型的比较,或是通过网格搜索进行参数调优,以及交叉验证等。
# 均方误差评价指标 from sklearn.metrics import mean_squared_error print('MSE train: %.3f, test: %.3f' % ( mean_squared_error(y_train, y_train_pred, mean_squared_error(y_test, y_test_pred)) ))
结果: MSE train: 20.217, test: 28.147
3、决定系数
可以看做是MSE的标准化版本,用于更好地解释模型的性能。换句话说,决定系数是模型捕获相应反差的分数。
# 决定系数评价指标 from sklearn.metrics import r2_score print('R^2 train: %.3f, test: %.3f' % (r2_score(y_train, y_train_pred), r2_score(y_test, y_test_pred)))
结果: R^2 train: 0.761, test: 0.662
整体代码
import matplotlib.pyplot as plt import seaborn as sns import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split # 数据读取 df = pd.read_csv('dataset/boston.csv', sep=',') df.columns = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'LSTAT', 'MEDV'] # 所有属性拟合线性模型 X = df.iloc[:, :-1].values y = df[['MEDV']].values X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=0) # 模型训练 slr = LinearRegression() slr.fit(X_train, y_train) y_train_pred = slr.predict(X_train) y_test_pred = slr.predict(X_test) # 残差评估方法 plt.scatter(y_train_pred, y_train_pred-y_train, c='blue', marker='o', label='Training data') plt.scatter(y_test_pred, y_test_pred-y_test, c='lightgreen', marker='s', label='Test data') plt.xlabel('Predicted values') plt.ylabel('Residuals') plt.legend(loc='upper left') plt.hlines(y=0, xmin=-10, xmax=50, lw=2, colors='red') plt.xlim([-10, 50]) plt.savefig('result/residuals_metric.png') plt.show() # 均方误差评价指标 from sklearn.metrics import mean_squared_error print('MSE train: %.3f, test: %.3f' % ( mean_squared_error(y_train, y_train_pred), mean_squared_error(y_test, y_test_pred)) ) # 决定系数评价指标 from sklearn.metrics import r2_score print('R^2 train: %.3f, test: %.3f' % (r2_score(y_train, y_train_pred), r2_score(y_test, y_test_pred)))
-
一元线性回归决定系数_机器学习:模型训练和评估——回归模型评价
2021-01-14 12:19:15在使用statsmodels库建立回归模型时,使用summary()函数通常会输出下图的结果:图中包含模型的很多检验结果,这些结果就是用来对模型的好坏进行检验和评价的。下面我们将对一些主要检验结果的意义进行说明并介绍使用...在使用statsmodels库建立回归模型时,使用summary()函数通常会输出下图的结果:
图中包含模型的很多检验结果,这些结果就是用来对模型的好坏进行检验和评价的。
下面我们将对一些主要检验结果的意义进行说明并介绍使用方法。
一、模型的显著性检验
在建立回归模型后,首要关心的问题就是建立的模型是否成立,这就要用到模型的显著性检验。
模型的显著性检验主要是F检验。
在statsmodels的输出结果中,会输出F-statistic值和Prob(F-statistic),前者是F检验的输出值,后者是F检验的P值。
如果Prob(F-statistic)<0.05,则说明在置信度为95%时,可以认为回归模型是成立的。
如果Prob(F-statistic)>0.1,说明回归模型整体上没有通过显著性检验,需要进一步调整。
文首的结果中,Prob(F-statistic)=0.00,说明模型是可靠的。
二、R-squared
R-squared在统计学中称为决定系数(R^2),用于度量因变量的变异中可由自变量解释部分所占的比例,以此来判断统计模型的解释力。
在多元回归模型中,决定系数的取值范围为[0,1],取值越接近1,说明回归模型的模拟程度越好。
此外,Adj. R-squared表示调整的决定系数,为决定系数的开平方,是决定系数开2次方根的取值。
文首的结果中,分析模型的决定系数R-squared=0.916,说明回归模型的拟合程度很好。
三、AIC和BIC
AIC又称为赤池信息量准则,BIC又称为贝叶斯信息度量。
两者均是评估统计模型的复杂度和衡量统计模型拟合优良性的标准,取值越小,相对应的模型越好。
文首的结果中,AIC=3841,BIC=3878,二者取值均较大,从这个层面说模型的优良性较差。
但在具体应用中还需结合具体情况进行模型的选择和评价。
四、系数显著性检验
前面几个参数都是针对模型进行度量的,在模型合适的情况下,还需要对回归系数进行显著性检验。
这里的检验是指t检验。
如果相应的P值<0.05(0.1),说明该系数在置信度为95%(90%)水平下,系数是显著的。
如果系数不显著,说明对应的变量不能添加到模型中,需要对变量进行筛选,重新建立回归模型。
文首的结果中,除了变量X6外,T检验的P值p>|t|均小于0.05,说明有一个自变量X6是不显著的,模型需要进一步优化。
五、Durbin-Watson检验
D.W统计量用来检验回归模型的残差是否具有自相关。
其取值为[0,4],数值越接近2说明越没有自相关,越接近4说明残差具有越强的负自相关,越接近0说明残差具有越强的正自相关。
如果模型的残差具有很强的自相关性,则需要对模型进行进一步调整。
文首的结果中,Durbin-Watson=0.654,说明回归模型的残差具有较强的正相关性,需要调整。
六、条件数Cond.No.
条件数用来度量多元回归模型自变量之间是否存在多重共线性。
条件数取值是大于0的数值,该值越小,越能说明自变量之间不存在多重共线性问题。
一般情况下,Cond.No.<100,说明共线性程度小;
如果100<Cond.No.<1000,则存在较多的多重共线性;
如果Cond.No.>1000,则存在严重的多重共线性。
如果模型存在严重的多重共线性问题,则需要使用逐步回归、主成分回归、Lasso回归等方式调整模型。
文首的结果中,条件数Cond.No.=2.93e+16,结果非常大,说明该模型可能存在自变量之间的多重共线性问题,需要进行调整。
以上就是对回归模型评价参数的说明,下一节将会加入实例应用进一步深入理解。
除了回归分析外,我们还可能会用到聚类分析。
聚类分析的评估主要集中在聚类的可行性和被聚类方法产生结果的质量两方面,包括估计聚类趋势、确定数据集的簇、测定聚类质量。
本文就不再对聚类评估做详细说明了,今后用到时再详述。
下一次,我们将详细说说回归分析。
你确定不关注我一波?!
-
回归模型 python实现
2021-01-08 21:51:38美国波士顿地区房价数据分割step3:训练与测试数据标准化处理step4:使用线性回归模型LinearRegression 和 SGDRegressor分别对数据进行学习和预测step5:使用三种回归评价机制对模型回归能力进行评价2、支持向量机... -
利用Sklearn实现DataFrame数据的回归预测,以及对预测结果进行评价。
2019-07-19 09:33:31最近在学习利用Python的Sklearn模块实现对数据的回归,分类,以及聚类任务,并分别对其结果进行... 2、选择合适的回归模型; 3、模型训练; 4、模型预测; 5、模型评估;6、根据评估结果,调整模型参数;7、确定最优... -
2.3 模型之母:线性回归的评价指标学习笔记
2020-03-15 16:41:58本篇内容就是关于回归模型的评价,首先介绍线性回归模型的三个常用评价方法,然后通过波士顿房产预测的实际例子,对评价方法进行代码实现。最后我们会隆重引出最好的衡量线性回归法的指标:R Square 1.线性回归算法... -
基于支持向量回归的立体图像客观质量评价模型
2021-02-23 09:03:27实验结果表明,采用该文提出的客观评价模型对立体数据测试库进行评价,Pearson线性相关系数值在0.93以上,Spearman等级相关系数值在0.94以上,均方根误差值接近6,异常值比率值为0.00%,符合人眼视觉特性,能够很好地预测... -
logit回归模型假设_LOGISTIC回归分析
2021-03-03 16:46:35前面的博客有介绍过对连续的变量进行线性回归分析,从而达到对因变量的预测或者解释作用。那么如果因变量是离散变量呢?在做行为预测的时候通常只有“做”与“不做的区别”、“0”与“1”的区别,这是我们就要用到... -
《美团机器学习实践》学习笔记:机器学习中的模型评价指标(二)——回归模型评估
2019-03-19 20:10:05平均绝对误差(Mean Absolute Error, MAE) 也称L1范数损失,计算公式如下: 其中N为样本数,是真实值,是预测值。...模型使用MAE作为损失函数则是对数据分布的中值进行拟合。 与之相似的是加权平均... -
基于回归模型的断层构造复杂度分析
2020-05-17 00:20:52以徐州某煤矿为例,分析了断层的分形维数、落差及倾角等因素与矿井突水点涌水量的相关关系,建立断层信息与涌水量回归模型,通过Arc GIS强大的空间分析功能生成断层对突水影响函数等值线图。与单一依据分形维数的插值... -
用SVR模型完成对Boston房价的回归预测
2020-06-03 20:29:31实验要求:使用SVR模型实现对波士顿房价的预测 (load_boston),并使用r2-score 对回归结果评测。 实验环境:Pycharm Python版本:3.6 需要的第三方库:sklearn 实验代码 同样地,这里 SVR 模型采用的是高斯核函数 ... -
回归评价指标
2017-02-24 09:57:59回归评价指标 与分类不同的是,回归是对连续的实数值进行预测,即输出值是连续的实数值,而分类中是离散值。例如,给你历史股票价格,公司与市场的一些信息,需要...对于回归模型的评价指标主要有以下几种: -
多因子量化选股模型的筛选和评价:打分法与回归法
2017-07-11 14:30:48对于专业的量化投资人而言,就需要进一步了解多因子选股模型的两种主要的评价判断方法——打分法和回归法。 1、打分法的评价原理和流程 所谓打分法,就是根据各个因子的大小对股票进行打分,然后... -
sklearn 套索回归模型和参数选择
2019-07-09 17:48:35采用AIC、BIC信息标准的模型选择通常十分迅速,但是依赖于对合适的自由度的评价,并且在大数据量的分析中,往往假定模型是正确的,然而基于数据产生的模型去描述事物通常不准确,存在实际特征大于样本的情况。... -
回归模型的score得分为负_逻辑回归(混淆矩阵与评估指标)
2021-01-07 05:06:031 多变量逻辑回归上一篇文章中笔者对于什么是逻辑回归,以及它能用来干什么做了一个详细的介绍;...所为多变量逻辑回归其实就是一个样本点有多个特征属性(feature),然后通过建立一个多变量的逻辑回归模型来完成分类... -
python多因子量化选股模型_多因子量化选股模型的筛选和评价:打分法与回归法...
2020-12-19 12:09:02多因子选股模型在模型搭建中,往往会涉及到非常...1、打分法的评价原理和流程所谓打分法,就是根据各个因子的大小对股票进行打分,然后按照一定的权重加权得到一个总分,最后根据总分再对股票进行筛选。对于多因子模... -
回归问题的评价指标
2020-11-11 17:36:43回归问题的评价指标有很多,这里一一进行详细分类: 点对点误差 MSE均方误差 MSE(Mean Square Error): 均方误差描述了样本真实值与预测值差方求和的平均... -
-
Python+sklearn对模型进行评分
2018-07-01 15:14:28回归评价指标分类评价指标 -
模型评价指标
2018-11-29 22:20:32一:数据序列评价 1:均方根值(RMS):一组测值序列的有效值。 公式: 2:方差(VAR):反映随机... 二:回归模型评价 1:变异系数:(C.V):消除单位和平均数不同对多个数据样本进行变异程度比... -
论文研究-参数生产前沿面分析的单边支持向量回归模型.pdf
2019-09-07 17:28:08为了解决了现有参数生产前沿面分析中先验生产函数难以选择的问题,提出参数生产前沿面分析的单边支持向量回归模型.该模型通过引入核方法,...最后,通过对珠三角各城市的经济发展效率进行评价,证明了该模型的有效性。 -
基于回归模型的煤层含气量预测方法研究
2020-05-23 09:45:54煤层含气量是煤层气储层评价的重要参数,基于煤层含气量与测井参数的关系较为复杂,论文对煤层含气...建立含气量与测井信息的线性、二次多项式回归方程,并对预测值进行有效性检验,证明建立的线性和二次回归方程是有效的。 -
sklearn快速入门教程:补充内容 -- sklearn模型评价指标汇总(聚类、分类、回归)
2020-08-05 11:25:32sklearn集成了大多数模型评价指标,这可以很大程度上方便我们的使用,尤其在对进行进行自动调参时可以方便我们进行选择。 做下这个笔记主要是为了补充之前的内容:sklearn快速入门教程:(四)模型自动调参 后续如果... -
-
【《机器学习》第2章模型的评估与选择】误差与过拟合、欠拟合+验证集、训练集、测试集+回归、分类评价指标
2020-09-24 17:24:49验证集: 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估; 测试集:用来评估模最终模型的泛化能力; 注意:测试集不能作为调参、选择特征等算法相关的选择的依据... -
基于多模型融合的高光谱图像质量评价
2021-02-06 20:37:01同时, 以广义回归神经网络模型作为参照, 分别从均方误差、回归拟合指标、分类准确率、训练时间4个方面对几种模型进行对比。实验结果表明, 所提模型融合算法具有较高的拟合精度、较强的泛化能力, 并且所需的训练时间... -
树模型和线性回归 在回归问题中的比较
2016-09-04 15:26:37但使用过程中发现利用GBRT进行回归大部分情况的回归值都接近真实值,但也会存在一些错的很离谱的回归值,反而lr对所有的回归样例都能表现的中规中矩。 举个例子:假设问题为需要评价一个淘宝店商户的价值高低,我们... -
数据挖掘学习(二):模型评价指标
2019-08-04 16:30:07在机器学习和数据挖掘中,模型的评价指标至关重要。本文对常用到的分类、回归和聚类的评价指标进行了总结。
-
嵘泰股份首次公开发行股票招股说明书.pdf
-
chromedriver2019.rar
-
【写作技巧】毕业论文如何写目录?
-
转行做IT-第15章 Collection、泛型、Iterator
-
安装ui库antd
-
王力安防首次公开发行股票招股说明书.pdf
-
2014年重庆理工大学《数据结构》两套期末考试试卷.pdf
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
my-settings.xml
-
前后端socket通信.zip
-
2021-03-03
-
BNUZ计科一班作业第七题,负数进制
-
人事管理系统-Java类代码资源
-
呆逼萌新的课题要求.txt
-
uppaal-4.1.24.zip
-
电信用户流失预测
-
6-Verilog HDL寄存器与计数器设计.7z
-
大整数运算
-
朱老师鸿蒙系列课程第1期-2鸿蒙系统Harmonyos源码架构分析
-
CCW软件基本使用介绍.docx