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曲线之后,我们就可以用它们在全部产品上比较逻辑回归和决策树模型。本例中,逻辑回归模型的表现优于决策树模型:

相关文章
|
19天前
|
机器学习/深度学习 数据采集 编解码
机器学习探索稳定扩散:前沿生成模型的魅力解析
机器学习探索稳定扩散:前沿生成模型的魅力解析
19 2
|
3天前
|
人工智能 物联网 机器人
使用PAI×LLaMA Factory 微调 Llama3 模型
本次教程介绍了如何使用PAI和LLaMA Factory框架,基于轻量化LoRA方法微调Llama-3模型,使其能够进行中文问答和角色扮演,同时通过验证集ROUGE分数和人工测试验证了微调的效果。在后续实践中,可以使用实际业务数据集,对模型进行微调,得到能够解决实际业务场景问题的本地领域大模型。
使用PAI×LLaMA Factory 微调 Llama3 模型
|
4天前
|
机器学习/深度学习 数据可视化 开发者
视觉的力量!Python 机器学习模型评估,Matplotlib 与 Seaborn 如何助力决策更明智?
【7月更文挑战第23天】在Python机器学习中,模型评估不可或缺。Matplotlib与Seaborn作为数据可视化工具,助力洞察模型性能。Matplotlib基础灵活,构建复杂图表;Seaborn在其上层,简化绘图,提升美观。从折线图追踪损失到条形图对比准确率,两者互补,促进高效决策制定。尽管Matplotlib掌控力强,但Seaborn友好快捷,适于统计图形。结合使用,可将数据转化成深刻见解。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
从零到精通:Scikit-learn在手,数据分析与机器学习模型评估不再难!
【7月更文挑战第25天】在数据科学中,模型评估是理解模型泛化能力的关键。对新手来说,众多评估指标可能令人困惑,但Scikit-learn简化了这一过程。
9 2
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
Sklearn入门指南:构建你的第一个机器学习模型
【7月更文第22天】在数据科学与机器学习领域,Scikit-learn(简称sklearn)是一个广泛使用的Python库,以其简洁的API和丰富的功能集而著称。本指南将引领你从安装到使用sklearn构建你的第一个机器学习模型,以一个简单的线性回归任务为例,逐步深入理解这个强大的工具。
27 2
|
6天前
|
机器学习/深度学习 算法 数据可视化
Fisher模型在统计学和机器学习领域通常指的是Fisher线性判别分析(Fisher's Linear Discriminant Analysis,简称LDA)
Fisher模型在统计学和机器学习领域通常指的是Fisher线性判别分析(Fisher's Linear Discriminant Analysis,简称LDA)
|
11天前
|
机器学习/深度学习 算法 Python
从零开始:构建你的第一个机器学习模型
【7月更文第16天】在机器学习的浩瀚宇宙中,迈出第一步总是充满挑战又激动人心的。本文旨在通过一个简单而经典的案例——线性回归,引领你动手构建首个机器学习模型,让你从零开始,逐步掌握模型构建的基本流程。
26 3
|
12天前
|
机器学习/深度学习
机器学习模型评估指标详解
【7月更文挑战第14天】选择合适的评估指标对于准确评估机器学习模型的性能至关重要。在实际应用中,需要根据具体任务场景和数据特点,综合考虑多种评估指标,以全面评估模型的性能。同时,还需要注意评估指标的局限性,避免单一指标带来的误导。
|
15天前
|
机器学习/深度学习 数据采集 算法
探索机器学习在金融风险评估中的应用
【7月更文挑战第12天】本文深入探讨了机器学习技术在金融风险评估领域内的应用及其带来的革新。通过分析传统方法的局限性,文章阐述了如何利用机器学习模型提高风险预测的准确性和效率。本文不仅详细介绍了机器学习算法的选择与优化过程,还讨论了实施过程中的挑战与解决方案,并展望了这一技术的未来发展。

推荐镜像

更多