第12章 模型性能评估及优化教学课件R语言数据分析与挖掘.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第12章 模型性能评估及优化教学课件R语言数据分析与挖掘.pptx》由会员分享,可在线阅读,更多相关《第12章 模型性能评估及优化教学课件R语言数据分析与挖掘.pptx(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第12章 模型性能评估及优化教学课件R语言数据分析与挖掘目录PAGE模型性能评估 01202模型参数优化01PAGE模型性能评估301PAGE4模型性能评估4R 语言数据分析与挖掘(微课版)预测通常有两大应用场景:u第一类是预测某指标的取值,也称为数值预测,数值预测模型性能评估主要通过均方误差、均方根误差、平均绝对误差等指标来评价;u第二类是预测某事物出现的概率,也称为概率预测,对于二分类概率预测,常以混淆矩阵为基础,通过准确率率、覆盖率等指标,结合ROC曲线、KS曲线、提升图等可视化方法来评估模型性能。PAGE5数值预测评估方法5R 语言数据分析与挖掘(微课版)PAGE6数值预测评估方法6R
2、 语言数据分析与挖掘(微课版)PAGE7数值预测评估方法R 语言实现7R 语言数据分析与挖掘(微课版)让我们利用mlbench 扩展包中BostonHousing(波士顿房价)数据集为例,利用lm()函数建立以medv 为因变量,其他特征为自变量的线性回归模型,并通过自定义函数,实现计算以上常见数值预测模型评估指标。实现代码如下:#加载包,不存在就进行在线下载后加载 if(!require(mlbench)install.packages(mlbench)data(BostonHousing)#数据分区 library(caret)index train test#利用训练集构建模型,并对测试
3、集进行预测 set.seed(1234)fit pred#自定义函数计算数值预测模型的评估指标 numericIndex-function(obs,pred)+#计算平均绝对误差MAE+MAE-mean(abs(obs-pred)+#计算均方误差MSE+MSE-mean(obs-pred)2)+#计算均方根误差RMSE+RMSE-sqrt(mean(obs-pred)2)+#计算归一化均方误差+NMSE-sum(obs-pred)2)/(sum(obs-mean(obs)2)+#计算判定系数Rsquared+Rsqured#计算各指标度量值 numericIndex(test$medv,pre
4、d)MAE MSE RMSE NMSE Rsqured 3.4565308 26.6531431 5.1626682 0.3731474 0.6461423PAGE8概率预测评估方法-混淆矩阵8R 语言数据分析与挖掘(微课版)概率是指事物出现的可能性,是对分类问题中某类出现概率的描述,本质上是分类问题(通过各类别出现的概率大小确定取某一类)。常用评估方法有:混淆矩阵、ROC曲线、KS曲线、累计提升图等。处理分类问题的评估思路,最常见的就是通过混淆矩阵,结合分析图表综合评价。预测类别实际类别 1 01 TP FN0 FP TN True Positive(TP):指模型预测为正(1),并且实际上
5、也的确是正(1)的观察对象的数量。True Negative(TN):指模型预测为负(0),并且实际上也的确是负(0)的观察对象的数量。False Positive(FP):指模型预测为正(1),但是实际上是负(0)的观测对象的数量。False Negative(FN):指模型预测为负(0),但是实际上是正(1)的观测对象的数量。PAGE9概率预测评估方法-混淆矩阵9R 语言数据分析与挖掘(微课版)PAGE10概率预测评估方法-混淆矩阵10R 语言数据分析与挖掘(微课版)PAGE11概率预测评估方法-混淆矩阵案例11R 语言数据分析与挖掘(微课版)接下来,利用DAAG扩展包的数据集anesth
6、etic为例进行演示。数据集来自于一组医学数据,其中变量conc表示麻醉剂的用量,move则表示手术病人是否有所移动,而我们用nomove做为因变量,研究的重点在于conc的增加是否会使nomove的概率增加。以下代码利用逻辑回归构建二分类预测模型,以0.5作为预测概率值的划分阈值,大于0.5预测概率值的样本类别为1,否则为0,最后利用table()函数得到混淆矩阵,并计算各评估指标值。#install.packages(DAAG)library(DAAG)data(anesthetic)anes1=glm(factor(nomove)conc,family=binomial(link=log
7、it),data=anesthetic)#对模型做出预测结果 pre=predict(anes1,type=response)#得到的是样本为1 类别时的预测概率值#以0.5作为分界点 result 0.5,1,0)#install.packages(DAAG)library(DAAG)data(anesthetic)anes1=glm(factor(nomove)conc,family=binomial(link=logit),data=anesthetic)#对模型做出预测结果 pre=predict(anes1,type=response)#得到的是样本为1 类别时的预测概率值#以0.5
8、作为分界点 result 0.5,1,0)#构建混淆矩阵 confusion confusion predictactual 0 1 0 10 4 1 2 14#计算各指标(1 为正样本,0 为负样本)(TP(TN(FP(FN(Accuracy(Precision(Recall(F1(FPR-FP/(TN+FP)#假正率1 0.2857143PAGE12概率预测评估方法-R OC 曲线12R 语言数据分析与挖掘(微课版)ROC(Receiver Operating Characteristic,接收者运行特征)曲线来源于信号检测理论,它显示了给定模型的灵敏性(Sensitivity)真正率与假
9、正率(False Postive Rate)之间的比较评定。给定一个二元分类问题,通过对测试数据集可以正确识别“1”实例的比例与模型将“0”实例错误地识别为“1”的比例进行分析,来进行不同模型的准确率的比较评定。真正率的增加是以假正率的增加为代价的,ROC曲线下面的面积就是比较模型准确度的指标和依据。面积(AUC)大的模型对应的模型准确度要高,也就是要择优应用的模型。AUC越接近0.5,对应的模型的准确率就越低。AUC值越接近1,模型效果越好,通常情况下,当AUC在0.8以上时,模型就基本可以接受了。红色实线就是ROC曲线。图中以假正率(False Positive Rate,FPR)为X轴,
10、代表在所有正样本中,被判断为假正的机率,又写1-Specificity;以真正率(True Positive Rate,TPR)为Y轴,代表在所有正样本中,被判断为真正的机率,又称为灵敏性。可见,ROC曲线的绘制还是非常容易的。只要利用预测为正的概率值对样本进行降序排序后,再计算出从第一个累积到最后一个样本的真正率和假正率,就可以绘制ROC曲线了。PAGE13概率预测评估方法-R OC 曲线案例13R 语言数据分析与挖掘(微课版)让我们继续利用上一小节的类别为1的预测概率值,结合样本实际类别,以下代码计算出从第一个累积到最后一个样本的真正率和假正率。#构建结果数据集 result result
11、 result$cumsum result$poscumsum result$tpr result$fpr result$lift head(result)pre_prob true_label cumsum poscumsum tpr fpr lift6 0.9994179 1 1 1 0.062 0 1.8813 0.9994179 1 2 2 0.125 0 1.887 0.9196901 1 3 3 0.188 0 1.889 0.9196901 1 4 4 0.250 0 1.8812 0.9196901 1 5 5 0.312 0 1.8815 0.9196901 1 6 6 0.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第12章 模型性能评估及优化教学课件R语言数据分析与挖掘 12 模型 性能 评估 优化 教学 课件 语言 数据 分析 挖掘
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内