Apache Spark机器学习3.5 模型评估

简介:

3.5 模型评估


在上一节,我们完成了模型估计任务。现在,对我们来讲是时候评估模型是否满足模型质量标准,以决定我们进行下一步的结果解释还是回到前面的阶段改善模型。

本节,我们将使用均方根误差(Root-Mean-Square Error,RMSE)和受试者工作特征(Receiver Operating Characteristic,ROC)曲线来评估我们模型的质量。计算RMSE和ROC曲线,我们需要使用测试数据而不是训练数据来评估模型。

3.5.1 快速评价

很多软件包为用户提供一些算法来快速评估模型。例如,在MLlib和R语言中,逻辑回归模型都提供混淆矩阵和误报数计算。

具体来讲,MLlib为我们提供confusionMatrix 和numFalseNegatives()这两个函数和一些算法来快速计算MES,如下所示:

 

此外,R语言为我们提供confusion.matrix函数。在R语言中,有很多工具能进行快速的图形绘制,用以快速地评估一个模型。

例如,我们可以绘制预测值和实际值,以及预测值的残差。

直观地说,比较预测值与实际值的方法是最容易的理解方法,并给了我们一个快速的模型评价。下面是为公司某一个产品计算的混淆矩阵,它显示了模型的合理性。详见右边的表格。

3.5.2 RMSE

在MLlib中,我们使用下面的代码计算RMSE:

 

 

除了上面的代码,MLlib的RegressionMetrics和RankingMetrics类中也为我们提供了一些用于计算RMSE的函数。

在R语言中,我们通过下面的代码计算RMSE:

 

在此之前,我们需要执行下面的命令来得到预测值:

 

所有估计模型的RMSE值计算完毕之后,我们将对它们进行比较,以评估线性回归模型、逻辑回归模型和决策树模型。在本例中,线性回归模型结果最优。

然后,我们对全部产品比较了RMSE值,并对一些产品的模型进行了优化提升。

关于获得RMSE值的其他例子,请访问:http://www.cakesolutions.net/teamblogs/spark-mllib-linear-regression-example-and-vocabulary。

3.5.3 ROC曲线

作为例子,我们将计算逻辑回归模型的ROC曲线。

在MLlib中,我们将估计的模型用在测试数据上,在得到了测试标签之后,我们就可以使用metrics.areaUnderROC()函数来计算ROC曲线。

更多关于使用MLlib计算ROC曲线的信息,请访问:http://web.cs.ucla.edu/ ~mtgarip/linear.html。

在R语言中,我们使用pROC包,执行下面的代码计算和绘制ROC曲线:

 

 

正如前面讨论的,计算了ROC曲线之后,我们就可以用它们在全部产品上比较逻辑回归和决策树模型。本例中,逻辑回归模型的表现优于决策树模型:

相关文章
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
在阿里云机器学习平台上布置一个PyTorch模型
在阿里云机器学习平台上布置一个PyTorch模型【1月更文挑战第21天】【1月更文挑战第105篇】
109 1
|
1月前
|
机器学习/深度学习 数据采集 自然语言处理
机器学习模型的部署与上线:从训练到实际应用
在机器学习中,模型训练只是整个过程的一部分。将训练好的模型部署到实际应用中,并使其稳定运行,也是非常重要的。本文将介绍机器学习模型的部署与上线过程,包括数据处理、模型选择、部署环境搭建、模型调优等方面。同时,我们也会介绍一些实际应用场景,并分享一些经验和技巧。
|
1月前
|
机器学习/深度学习 SQL 分布式计算
Apache Spark 的基本概念和在大数据分析中的应用
介绍 Apache Spark 的基本概念和在大数据分析中的应用
99 0
|
1月前
|
机器学习/深度学习 人工智能 算法
通义千问Qwen-72B-Chat大模型在PAI平台的微调实践
本文将以Qwen-72B-Chat为例,介绍如何在PAI平台的快速开始PAI-QuickStart和交互式建模工具PAI-DSW中高效微调千问大模型。
|
1月前
|
机器学习/深度学习 测试技术
机器学习第6天:线性回归模型正则化
机器学习第6天:线性回归模型正则化
28 0
|
1月前
|
机器学习/深度学习 SQL 分布式计算
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
|
6天前
|
机器学习/深度学习 数据采集 算法
Python中的机器学习入门:从数据预处理到模型评估
Python中的机器学习入门:从数据预处理到模型评估
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
15 0
|
1月前
|
人工智能
全方位解析PAI:数据准备、模型开发、模型训练一网打尽
全方位解析PAI:数据准备、模型开发、模型训练一网打尽 随着人工智能技术的飞速发展,越来越多的企业开始关注并投入到AI的研发中。然而,AI的研发并非易事,从数据准备、模型开发、模型训练到模型服务,每一个环节都需要专业的工具和平台来支持。阿里云的PAI(Powered by AI)正是一个涵盖了数据准备、模型开发、模型训练、模型服务全流程的AI工作平台。本文将为您详细介绍PAI的各个子产品的产品线上规格及使用指引。
22 2
|
1月前
|
机器学习/深度学习 分布式计算 算法
Spark MLlib简介与机器学习流程
Spark MLlib简介与机器学习流程

推荐镜像

更多