《Spark机器学习进阶实战》——2.2.5 模型训练与评估

举报
华章计算机 发表于 2019/05/31 01:15:53 2019/05/31
【摘要】 本书摘自《Spark机器学习进阶实战》——书中的第2章,第2.2.5节,作者是马海平、于俊、吕昕、向海。

2.2.5 模型训练与评估

模型构建是数据分析工作的核心阶段,主要包括如下几点。

(1)准备数据集

使用机器学习构建模型的时候,需要将数据集切分为训练数据(Train Data)和测试数据(Test Data)。训练数据用于构建模型,但是有时候在模型构建过程中需要验证模型,辅助模型构建,此时会将训练数据分出一部分作为验证数据(Validation Data)。测试数据用于检测模型,评估模型的准确率。

Spark提供了将数据集切分为训练集和测试集的函数,默认数据集的70%作为训练数据,30%作为测试数据。

(2)选择适当的建模技术

构建模型是数据分析的关键,选择合适的建模技术直接影响数据分析的结果,这里提供一些建模技术的选择经验和思考,希望能够引起共鸣。

汇总统计。

解决问题:输入法的月留存率是多少?我们的用户人均装有多少个有效App?

建模方法:加和、计数、均值、标准差、中位数、众数、四分位数、最大值、最小值等。

对比分析。

解决问题:某公司年利润2.2亿,同比增长8%。内容的某两种推送方式的效果有显著差异吗?

建模方法:卡方检验、方差分析等。

趋势分析。

解决问题:合肥2017年10月新房均价涨到11000/平方米,现在要不要购买呢?今年的业绩不错,预测一下明年的KPI。

建模方法:回归等。

分布分析。

解决问题:“小飞读报”的用户年龄结构是怎样的?这款巧克力代可可脂、糖分、添加剂占比情况如何?

建模方法:统计分布等。

因子分析。

解决问题:最近用户留存率下降比较厉害,找出影响用户留存的因子,并加以解决。

建模方法:多元线性回归模型等。

聚类分析

解决问题:使用GPS数据看一下城市用户的生活模式,研究一下这款游戏App的主要用户群体,形成有针对性的营销方案。

建模方法:分层聚类分析、LDA主题模型等。

(3)建立模型

选择适当的建模技术,使用Spark技术针对训练数据进行训练,迭代训练,观察效果,并生成训练模型。

(4)模型评估

模型评估主要是将测试结果转化为混淆矩阵,表2-1image.png展示了测试结果的4种情况。使用准确率、召回率等进行评估。

说明:

TP(True Positive,真正):被模型预测为正的正样本。

FP(False Positive,假正):被模型预测为正的负样本。

FN(False Negative,假负):被模型预测为负的正样本。

TN(True Negative,真负):被模型预测为负的负样本。

模型评估的测试结果如图2-3所示,实心点代表正类、空心点代表负类,用椭圆标识被选中的元素。

image.png

图2-3 模型评估混淆矩阵图

准确率就是找得对,也叫作查准率,是针对预测结果而言的,它表示预测为正的样本中有多少是真正的正样本。

准确率(Precision)P:P=TP/(TP+FP)

召回率就是找得全,也叫作查全率,是针对原来的样本而言的,它表示样本中的正例有多少被预测正确了。

召回率(Recall Rate)R:R=TP/(TP+FN)

其他模型评估的相关方法,在具体章节中详细叙述。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。