回归模型评价指标(机器学习模型评价指标及R实现)
本文目录
- 机器学习模型评价指标及R实现
- r方一般多少说明拟合的好
- 评价回归模型是否合适的方法
- 理想拟合指数有哪些标准
- 调整后的拟合优度公式
- 统计里面,评价指数C-index和AUC的区别
- 关于回归预测评价指标的选择
- 回归方程中的决定系数r2怎么计算
- 常用于评价回归模型优劣的统计量包括
机器学习模型评价指标及R实现
机器学习模型评价指标及R实现
1.ROC曲线
考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false negative)。
列联表如下表所示,1代表正类,0代表负类。
真正类率(true positive rate ,TPR), 也称为 Sensitivity,计算公式为TPR=TP/ (TP+ FN),刻画的是分类器所识别出的 正实例占所有正实例的比例。
假正类率(false positive rate, FPR),计算公式为FPR= FP / (FP + TN),计算的是分类器错认为正类的负实例占所有负实例的比例。
真负类率(True Negative Rate,TNR),也称为specificity,计算公式为TNR=TN/ (FP+ TN) = 1 - FPR。 在一个二分类模型中,对于所得到的连续结果,假设已确定一个阈值,比如说 0.6,大于这个值的实例划归为正类,小于这个值则划到负类中。如果减小阈值,减到0.5,固然能识别出更多的正类,也就是提高了识别出的正例占所有正例的比例,即TPR,但同时也将更多的负实例当作了正实例,即提高了FPR。为了形象化这一变化,在此引入ROC。
ROC曲线正是由两个变量1-specificity(x轴) 和 Sensitivity(y轴)绘制的,其中1-specificity为FPR,Sensitivity为TPR。随着阈值的改变,就能得到每个阈值所对应的1-specificity和Sensitivity,最后绘制成图像。
该图像的面积如果越接近1,那么我们则认为该分类器效果越好。从直觉上来说,假设我们的预测全部100%正确,那么不管阈值怎么变(除了阈值等于0和1时),我们的Sensitivity(真正类)率永远等于1,1-specificity(1-真负类率)永远等于0,所以该图就是个正方形,面积为1,效果最好。
样例数据集:
library(ROCR)
data(ROCR.simple)
ROCR.simple《-as.data.frame(ROCR.simple)
head(ROCR.simple)
# predictions labels
# 1 0.6125478 1
# 2 0.3642710 1
# 3 0.4321361 0
# 4 0.1402911 0
# 5 0.3848959 0
# 6 0.2444155 1
绘制ROC图:
pred 《- prediction(ROCR.simple$predictions, ROCR.simple$labels)
perf 《- performance(pred,“tpr“,“fpr“)
plot(perf,colorize=TRUE)
2.AUC值
AUC值就是ROC曲线下的面积,可以通过以下代码计算:
pred 《- prediction(ROCR.simple$predictions, ROCR.simple$labels)
auc.tmp 《- performance(pred,“auc“)
auc 《- as.numeric(auc.tmp@y.values)
3.Recall-Precision(PR)曲线
同样是一个二分类的模型的列联表,我们可以定义:
然后我们通过计算不同的阈值,以Recall为X轴,Precision为Y轴绘制图像。
PR图可以有这样的应用,引用一个例子:
1. 地震的预测
对于地震的预测,我们希望的是RECALL非常高,也就是说每次地震我们都希望预测出来。这个时候我们可以牺牲PRECISION。情愿发出1000次警报,把10次地震都预测正确了;也不要预测100次对了8次漏了两次。
2. 嫌疑人定罪
基于不错怪一个好人的原则,对于嫌疑人的定罪我们希望是非常准确的。及时有时候放过了一些罪犯(recall低),但也是值得的。
对于分类器来说,本质上是给一个概率,此时,我们再选择一个CUTOFF点(阀值),高于这个点的判正,低于的判负。那么这个点的选择就需要结合你的具体场景去选择。反过来,场景会决定训练模型时的标准,比如第一个场景中,我们就只看RECALL=99.9999%(地震全中)时的PRECISION,其他指标就变得没有了意义。
绘制代码:
pred 《- prediction(ROCR.simple$predictions, ROCR.simple$labels)
RP.perf 《- performance(pred, “prec“, “rec“)
plot (RP.perf)
#查看阈值为0.1,0.5,0.9下的召回率和精确率
plot(RP.perf, colorize=T, colorkey.pos=“top“,
print.cutoffs.at=c(0.1,0.5,0.9), text.cex=1,
text.adj=c(1.2, 1.2), lwd=2)
一般这曲线越靠上,则认为模型越好。对于这个曲线的评价,我们可以使用F分数来描述它。就像ROC使用AUC来描述一样。
4.F1分数
Fβ
分数定义如下:
我们可以使用R计算F1分数:
pred 《- prediction(ROCR.simple$predictions, ROCR.simple$labels)
f.perf 《- performance(pred, “f“)
plot(f.perf) #横坐标为阈值的取值
5.均方根误差RMSE
回归模型中最常用的评价模型便是RMSE(root mean square error,平方根误差),其又被称为RMSD(root mean square deviation),其定义如下:
其中,yi是第i个样本的真实值,y^i是第i个样本的预测值,n是样本的个数。该评价指标使用的便是欧式距离。
??RMSE虽然广为使用,但是其存在一些缺点,因为它是使用平均误差,而平均值对异常点(outliers)较敏感,如果回归器对某个点的回归值很不理性,那么它的误差则较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。 所以有的时候我们会先剔除掉异常值,然后再计算RMSE。
R语言中RMSE计算代码如下:
pred 《- prediction(ROCR.simple$predictions, ROCR.simple$labels)
rmse.tmp《-performance(pred, “rmse“)
rmse《-rmse.tmp@y.values
6.SAR
SAR是一个结合了各类评价指标,想要使得评价更具有鲁棒性的指标。(cf. Caruana R., ROCAI2004):
其中准确率(Accuracy)是指在分类中,使用测试集对模型进行分类,分类正确的记录个数占总记录个数的比例:
pred 《- prediction(ROCR.simple$predictions, ROCR.simple$labels)
sar.perf《-performance(pred, “sar“)
7.多分类的AUC
将二类 AUC 方法直接扩展到多类分类评估中, 存在表述空间维数高、复杂性大的问题。 一般采用将多类分类转成多个二类分类的思想, 用二类 AUC 方法来评估多类分类器的性能。Fawcett 根据这种思想提出了 F- AUC 方法, 该评估模型如下
其中AUC(i,rest)是计算 用 ” 1- a- r”方 法 得 到 的 每 个 二 类 分 类器的 AUC 值,“ 1- a- r”方法思想是 k 类分类问题构造 k 个二类分类器, 第 i 个二类分类器中用第 i 类的训练样本作为正例, 其他所有样本作为负例。 p ( i) 是计算每个类在所有样本中占有的比例,
r方一般多少说明拟合的好
r方一般0.999说明拟合的好。
在工程设计或科学实验中所得到的数据往往是一张关于离散数据点的表 ,没有解析式来描述 x-y关系。根据所给定的这些离散数据点绘制的曲线,称为不规则曲线,通常用曲线拟合的方法解决这类问题。
拟合优度:
R^2衡量的是回归方程整体的拟合度,是表达因变量与所有自变量之间的总体关系。R^2等于回归平方和在总平方和中所占的比率,即回归方程所能解释的因变量变异性的百分比。
实际值与平均值的总误差中,回归误差与剩余误差是此消彼长的关系。因而回归误差从正面测定线性模型的拟合优度,剩余误差则从反面来判定线性模型的拟合优度。
统计上定义剩余误差除以自由度n – 2所得之商的平方根为估计标准误。为回归模型拟合优度的判断和评价指标,估计标准误显然不如判定系数R^2。
R^2是无量纲系数,有确定的取值范围(0—1),便于对不同资料回归模型拟合优度进行比较;而估计标准误差是有计量单位的,又没有确定的取值范围,不便于对不同资料回归模型拟合优度进行比较。
评价回归模型是否合适的方法
当你只知道一两种技巧时,生活通常是简单的。如果结果是连续的,使用线性回归;如果结果是二值的,使用逻辑回归!然而,可供选择的选项越多,选择合适的答案就越困难。类似的情况也发生在回归模型选择中。
1、在多种类型的回归模型中,基于自变量和因变量的类型、数据维数和数据的其它本质特征,选择最合适的技术是很重要的。以下是如何选择合适的回归模型的几点建议:
(1)数据挖掘是建立预测模型不可缺少的环节。这应该是选择正确的模型的第一步,比如确定各变量的关系和影响。
(2)比较适合于不同模型的拟合程度,我们可以分析它们不同的指标参数,例如统计意义的参数,R-square,Adjusted R-square,AIC,BIC 以及误差项,另一个是 Mallows’ Cp 准则。通过将模型与所有可能的子模型进行对比(或小心地选择他们),检查模型可能的偏差。
(3)交叉验证是评价预测模型的最佳方法。你可以将数据集分成两组(训练集和验证集)。通过衡量观测值和预测值之间简单的均方差就能给出预测精度的度量。
(4)如果数据集有多个混合变量,则不应使用自动模型选择方法,因为不希望同时将这些混合变量放入模型中。
(5)这也取决于你的目标。与高度统计学意义的模型相比,简单的模型更容易实现。
(6)回归正则化方法(LasSo、Ridge 和 ElasticNet)在数据集是高维和自变量是多重共线性的情况下工作良好。
2、什么是回归分析?回归分析是一种预测建模技术的方法,研究因变量(目标)和自变量(预测器)之前的关系。这一技术被用在预测、时间序列模型和寻找变量之间因果关系。
3、有哪些回归类型呢?
(1) 线性回归(Linear Regression)
线性回归是最为人熟知的建模技术,是人们学习如何预测模型时的首选之一。在此技术中,因变量是连续的,自变量可以是连续的也可以是离散的。回归的本质是线性的。
线性回归通过使用最佳的拟合直线(又被称为回归线),建立因变量(Y)和一个或多个自变量(X)之间的关系。
它的表达式为:Y=a+b*X+e,其中 a 为直线截距,b 为直线斜率,e 为误差项。如果给出了自变量 X,就能通过这个线性回归表达式计算出预测值,即因变量 Y。
(2)逻辑回归用来计算事件成功(Success)或者失败(Failure)的概率。当因变量是二进制(0/1,True/False,Yes/No)时,应该使用逻辑回归。这里,Y 的取值范围为 [0,1],它可以由下列等式来表示。
其中,p 是事件发生的概率。你可能会有这样的疑问“为什么在等式中使用对数 log 呢?”
因为我们这里使用的二项分布(因变量),所以需要选择一个合适的激活函数能够将输出映射到 [0,1] 之间,Logit 函数满足要求。在上面的等式中,通过使用最大似然估计来得到最佳的参数,而不是使用线性回归最小化平方误差的方法。
理想拟合指数有哪些标准
标准的确定需要数据,没有数据给出,不能给出确定答复。而且用最小二乘法和极大值似然法等做出来的拟合指数会有一定差别。
拓展资料:
1、拟合优度(Goodness of Fit)是指回归直线对观测值的拟合程度。度量拟合优度的统计量是可决系数(亦称确定系数)R_。R_最大值为1。R_的值越接近1,说明回归直线对观测值的拟合程度越好;反之,R_的值越小,说明回归直线对观测值的拟合程度越差。
2、R_衡量的是回归方程整体的拟合度,是表达因变量与所有自变量之间的总体关系。R_等于回归平方和在总平方和中所占的比率,即回归方程所能解释的因变量变异性的百分比(在MATLAB中,R_=1-“回归平方和在总平方和中所占的比率“)。实际值与平均值的总误差中,回归误差与剩余误差是此消彼长的关系。因而回归误差从正面测定线性模型的拟合优度,剩余误差则从反面来判定线性模型的拟合优度。
3、统计上定义剩余误差除以自由度n_2所得之商的平方根为估计标准误。为回归模型拟合优度的判断和评价指标,估计标准误显然不如判定系数R_。R_是无量纲系数,有确定的取值范围 (0—1),便于对不同资料回归模型拟合优度进行比较;而估计标准误差是有计量单位的,又没有确定的取值范围,不便于对不同资料回归模型拟合优度进行比较。
4、拟合优度检验主要是运用判定系数和回归标准差,检验模型对样本观测值的拟合程度。当解释变量为多元时,要使用调整的拟合优度,以解决变量元素增加对拟合优度的影响。假定一个总体可分为r类,现从该总体获得了一个样本——这是一批分类数据,需要我们从这些分类数据中出发,去判断总体各类出现的概率是否与已知的概率相符。譬如要检验一颗骰子是否是均匀的,那么可以将该骰子抛掷若干次,记录每一面出现的次数,从这些数据出发去检验各面出现的概率是否都是1/6, 拟合优度检验就是用来检验一批分类数据所来自的总体的分布是否与某种理论分布相一致。
调整后的拟合优度公式
拟合度指标RNew=1-(Q/∑y^2)^(1/2)。
拟合优度(Goodness of Fit)是指回归直线对观测值的拟合程度。度量拟合优度的统计量是可决系数(亦称确定系数)R²。R²最大值为1。R²的值越接近1,说明回归直线对观测值的拟合程度越好;反之,R²的值越小,说明回归直线对观测值的拟合程度越差。
概念:
R²衡量的是回归方程整体的拟合度,是表达因变量与所有自变量之间的总体关系。R²等于回归平方和在总平方和中所占的比率,即回归方程所能解释的因变量变异性的百分比(在MATLAB中,R²=1-“回归平方和在总平方和中所占的比率“)。
实际值与平均值的总误差中,回归误差与剩余误差是此消彼长的关系。因而回归误差从正面测定线性模型的拟合优度,剩余误差则从反面来判定线性模型的拟合优度。
统计上定义剩余误差除以自由度n–2所得之商的平方根为估计标准误。为回归模型拟合优度的判断和评价指标,估计标准误显然不如判定系数R²。R²是无量纲系数,有确定的取值范围 (0—1),便于对不同资料回归模型拟合优度进行比较。
而估计标准误差是有计量单位的,又没有确定的取值范围,不便于对不同资料回归模型拟合优度进行比较。
统计里面,评价指数C-index和AUC的区别
其实指数C-index和AUC是差不多的,针对二分类 lo_go_is_tic 回归的 C-in_dex 等价于 ROC 曲线下面积AUC。C-index,英文名全称concordance index,中文里有人翻译成一致性指数,最早是由范德堡大学(Vanderbilt University)生物统计教教授Frank E Harrell Jr 1996年提出,主要用于计算生存分析中的COX模型预测值与真实之间的区分度(discrimination),AUC 主要反映二分类 lo_gis_tic 回归模型的预测能力,但 C-in_dex 可以评价各种模型预测结果的准确性,可以简单这样理解:C-in_dex 是 AUC 的扩展,AUC 是 C-in_dex 的一种特殊情况。
拓展资料:
1、一般评价模型的好坏主要有两个方面,一是模型的拟合优度(Goodness of Fit),常见的评价指标主要有R方、-2logL、AIC、BIC等;另外一个是模型的预测精度,顾名思义就是模型的真实值与预测值之间差别大小,均方误差,相对误差等。在临床应用上更注重预测精度,建模的主要目的是用于预测,而C-index它就属于模型评价指标中的预测精度。
2、C-in_dex 是一个可以用于判断各种模型区分能力的指标。针对二分类 lo_gis_tic 回归模型,C-in_dex 可简化为:某疾病病人的预测患病概率大于对照的预测患病概率的可能性。C-index在0.5-1之间(任意配对随机情况下一致与不一致刚好是0.5的概率)。0.5为完全不一致,说明该模型没有预测作用,1为完全一致,说明该模型预测结果与实际完全一致。一般情况下C-index在0.50-0.70为准确度较低:在0.71-0.90之间为准确度中等;而高于0.90则为高准确度。
3、AUC指标是临床研究中最常用的评价指标,其有数主要体现为:
(1)对样本是否均衡并不敏感,允许实际阳性、阴性个案数差距较大。
(2) 不需要提前设定阈值,而是通过遍历阈值的方式来达到整体的评估效果。
定义AUC值为ROC曲线右下方几何面积,取值范围为0到1,在实际建模过程中,根据AUC值所处范围可大致判断模型的泛化能力强弱:一般情况下AUC在0.50-0.70为准确度较低;在0.71-0.90之间为准确度中等;而高于0.90则为高准确度。
关于回归预测评价指标的选择
R2是一个1是上限的值 0.8以上说明 线性相关可能性大
RMSE只是一个绝对值,这要求你对数据情况有一定了解。比如如果预测温度 那么这个数值可能是个位数
但预测金钱 可能就达到几千
回归方程中的决定系数r2怎么计算
回归的决定系数=(总变化-无法解释的变化)/总变化=(0.001497-0.000230)/ 0.001497=0.8464。
请注意,此方法得出的结果与我们先前获得的结果相同。我们将在后边多元回归中再次使用这个方法:当存在多个自变量时,这种方法是计算确定系数的唯一方法。
决定系数(coefficient of determination,R2)是反映模型拟合优度的重要的统计量,为回归平方和与总平方和之比。R2取值在0到1之间,且无单位,其数值大小反映了回归贡献的相对程度,即在因变量Y的总变异中回归关系所能解释的百分比。
R2是最常用于评价回归模型优劣程度的指标,R2越大(接近于1),所拟合的回归方程越优,如下表,指数曲线的R2为0.9926,最接近1,表明在5个回归方程中,指数曲线(log(y) =1.9656-0.2199x)为最优方程。
扩展资料
虽然R2可以用来评价回归方程的优劣,但随着自变量个数的增加,R2将不断增大,若对两个具有不同个数自变量的回归方程进行比较时,
不能简单地用R2作为评价回归方程的标准,还必须考虑方程所包含的自变量个数的影响,此时应用校正的决定系数(R2-adjusted):Rc2,所谓“最优”回归方程是指Rc2最大者。因此在讨论多重回归的结果时,通常使用Rc2。
参考资料来源:百度百科-可决系数
常用于评价回归模型优劣的统计量包括
决定系数。
决定系数是反映模型拟合优度的重要的统计量,为回归平方和与总平方和之比。R2取值在0到1之间,且无单位,其数值大小反映了回归贡献的相对程度,即在因变量Y的总变异中回归关系所能解释的百分比。 R2是最常用于评价回归模型优劣程度的指标,R2越大(接近于1),所拟合的回归方程越优。
扩展资料:
虽然R2可以用来评价回归方程的优劣,但随着自变量个数的增加,R2将不断增大(因为自变量个数的增加,意味着模型的复杂度升高,对样本数据的拟合程度会提高)。
若对两个具有不同个数自变量的回归方程进行比较时,不能简单地用R2作为评价回归方程的标准,还必须考虑方程所包含的自变量个数。其中n是样本数量,p是模型中变量的个数,当变量个数为0时,修正和原始的R方是一样的。
就是相当于给变量的个数加惩罚项。换句话说,如果两个模型,样本数一样,R2一样,那么从修正R2的角度看,使用变量个数少的那个模型更优。
更多文章:
thinkpad p70(thinkpad p70带色彩矫正器吗)
2024年7月9日 10:03