- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
;本章主要讲述SparkMLlib算法库、逻辑回归实现用户分类。;通过学习本节将能够学习SparkMLlib算法库、逻辑回归实现用户分类。
通过本节学习可以:
理解机器学习的基本概念
理解MLlib的概念以及算法
掌握MLlib算法的基本调用
掌握MLlib实现逻辑回归算法
掌握MLlib模型评价方法
;了解Mllib算法库
机器学习概念、机器学习常用算法、算法与算法包
以逻辑回归实现用户分类
分析思路、数据处理、Mllib实现Logisti回归、代码实现
;1.背景
“泰迪杯”数据挖掘竞赛网站作为一个竞赛型的网站,不仅发布了很多竞赛的相关信息,除此之外还有很多其他类型的网页信息,其中就包括公司主营的业务培训的相关信息。每个网页都属于某一类网页标签,例如“培训”“竞赛”“项目”等,用户对于某个网页的访问可以转化为用户对某类标签的访问记录。现有一份记录了用户对各网页标签的统计数据,如图所示,这份数据包括用户对“泰迪杯”数据挖掘竞赛网站中各个网页标签的访问记录。表中的第1列id,代表用户id。标签列“status”,标识了用户是否访问过培训标签相关的网页。如果访问过,则值为1,表示此用户对于培训有参加的意向;反之其值为0,表示此用户对于培训没有参加的意向。其他的标签列共有30个它们的值各自表示了用户访问该网页标签的访问次数。比如,标签列“项目”的值为3,则表示用户访问项目标签相关的网页共有3次。如果根据标签列“status”进行简单分类,则所有用户被分成了两类:有意向培训用户和无意向培训用户。
;2.分析目标
建立分类模型,识别出有意向培训用户。原始数据需要被分为两部分:训练数据及测试数据。使用训练数据训练预测模型,使用测试数据来预测用户是否有培训意向,从而达到验证模型的目的。这里使用样本数据中的标签列“status”作为模型的目标列,其他30个标签列的数据作为属性列来构建一个分类模型。应用分类模型就可以对用户进行分类,从而推测出新用户是否有培训意向。使用MLlib中的逻辑回归算法包实现用户分类,包括以下几个步骤
构建模型数据
训练模型
模型分类及结果优化
;3.分析思路
针对案例步骤和调用算法流程,基本步骤包含以下几个方面
数据清理后将原始数据处理成算法需要的模型数据
找到SparkMLlib关于Logistic回归的算法包,了解如何导入算法包
明确算法包所需模型参数的含义,设置合适的参数
建立模型
利用Spark已有的或自己实现的评估算法评估模型效果
根据评估结果选择是否要修改模型参数进行调优
选择调试出来的较好的模型参数重新训练模型,预测测试集的分类
将输出结果输出到HDFS
;3.数据处理
;3.数据处理
;4.MLlib实现Logistic回归
MLlib的逻辑回归类有两个:LogisticRegressionWithSGD和LogisticRegressionWithLBFGS,前者基于随机梯度下降,只支持2分类,后者基于LBFGS优化损失函数,支持多分类。LBFGS的性能比SGD更好一些,因此选择LBFGS建模。
为了测试模型的效果,将数据按照8:2的比例分成两部分,80%作为训练数据,20%作为测试数据。
;4.MLlib实现Logistic回归
MLlib的逻辑回归类有两个:LogisticRegressionWithSGD和LogisticRegressionWithLBFGS,前者基于随机梯度下降,只支持2分类,后者基于LBFGS优化损失函数,支持多分类。LBFGS的性能比SGD更好一些,因此选择LBFGS建模。
为了测试模型的效果,将数据按照8:2的比例分成两部分,80%作为训练数据,20%作为测试数据。
;4.MLlib实现Logistic回归
调用MLlib中的相关类,包括实现模型的LogisticRegressionWithLBFGS,加载模型的LogisticRegressionModel类,输入数据类型LabeledPoint类,以及用于评估的BinaryClassificationMetrics对象
;4.MLlib实现Logistic回归
读取数据集,转化成模型需要的LabeledPoint类型,并且根据8:2比例分割数据得到训练集和测试集
采用LogisticRegressionWithLBFGS类来训练模型,有一个参数setNumClasses(),用于设置分类个数,这里设置分类个数为2,然后通过run()方法加载训练集到模型中,并且设置分类阈值为0.5(默认也是0.5)
;4.MLlib实现Logistic回归
;4.MLlib实现Logistic回归
precision和recall的结果如图所示,这里是以默认阈值0.5做为阈值来进行0跟1分类的,分到1
您可能关注的文档
- 《Python人工智能》第5章-深度学习与神经网络.pptx
- 《Spark应用开发技术》课件——02_了解GraphX常用API.pptx
- 《Spark应用开发技术》课件——02_掌握DataFrame基础操作.pptx
- 《Spark应用开发技术》课件——02_掌握Dstram编程模型.pptx
- 《Spark应用开发技术》课件——03_Spark Streaming实时更新热门博文.pptx
- 初级社会工作综合能力-第三节小组工作的过程.docx
- 初级社会工作综合能力-第四节社区工作的常用技巧.docx
- 2024-2025学年小学音乐五年级上册花城版(2024)教学设计合集.docx
- 甘肃省兰州市第一中学2024-2025学年高三上学期11月月考语文试题(含答案).docx
- 2024-2025学年小学音乐五年级上册苏少版(2024)教学设计合集.docx
文档评论(0)