《Spark机器学习进阶实战》——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-1展示了测试结果的4种情况。使用准确率、召回率等进行评估。
说明:
TP(True Positive,真正):被模型预测为正的正样本。
FP(False Positive,假正):被模型预测为正的负样本。
FN(False Negative,假负):被模型预测为负的正样本。
TN(True Negative,真负):被模型预测为负的负样本。
模型评估的测试结果如图2-3所示,实心点代表正类、空心点代表负类,用椭圆标识被选中的元素。
图2-3 模型评估混淆矩阵图
准确率就是找得对,也叫作查准率,是针对预测结果而言的,它表示预测为正的样本中有多少是真正的正样本。
准确率(Precision)P:P=TP/(TP+FP)
召回率就是找得全,也叫作查全率,是针对原来的样本而言的,它表示样本中的正例有多少被预测正确了。
召回率(Recall Rate)R:R=TP/(TP+FN)
其他模型评估的相关方法,在具体章节中详细叙述。
- 点赞
- 收藏
- 关注作者
评论(0)