Spark机器学习算法之KMeans代码+图文讲解(入门)

本文介绍了Spark的KMeans聚类算法,包括概念、数据准备、实现思路和代码实现。通过实例操作展示了如何加载数据、设置参数、执行聚类并评估结果。还提供了完整代码的下载链接。

1.KMeans概念

       KMeans基于划分的聚类方法。给定数据样本集Sample和应该划分的类书K,对样本数据Sample进行聚类,最终形成K个聚类,其相似的度量是某条数据与中心点的“距离”(距离可分为绝对距离、欧氏距离、闵可夫斯基距离。这里说的距离是欧式距离,欧氏距离也称欧几里得距离,它是在m维空间中两个点之间的真实距离)。

2.KMeans算法实例操作

2.1 数据准备

      从官网下载源码时在data文件夹下有mllib文件夹,里面有kmeans_data.txt,内容为:
0.0 0.0 0.0
0.1 0.1 0.1
0.2 0.2 0.2
9.0 9.0 9.0
9.1 9.1 9.1
9.2 9.2 9.2

2.2实现思路

1.设置运行环境;

2.装载kmeans_data.txt数据集;

3.将数据集聚类(聚成2个类),进行20次迭代计算,形成数据模型;
4.在控制台打印数据模型的两个中心点;
5.使用误差平方和评估数据模型;
6.交叉评估1,只返回结果;
7.交叉评估2,返回数据集和结果。

3.用代码说话

     1.设置运行环境

val conf = new SparkConf().setAppName("Kmeans").setMaster("local")
val sc = new SparkContext(conf)

    2.装载数据集

val data = sc.textFile("E:\\spark
学习内容 Spark安装与Spark MLlib 学习目标 掌握Spark的安装及配置过程 掌握Spark MLlib的运行原理 熟悉Spark Mllib程序的撰写、调试及运行 问题设计 (一)Spark安装 1.完成Spark安装及配置相关截图 Spark版本高于2.3,操作系统不限(Windows、Linux均可),配置模式不限(本地模式、伪分布式模式、集群模式均可)过程尽可能详细附图文 2.REPL启动Spark截图 (二)Spark Mllib Spark机器学习官方代码路径位于: Spark文件夹根目录/examples/src/main/scala/org/apache/spark/examples/ml/ 对应数据集请结合代码查找,一般位于 Spark文件夹根目录/data/mllib 在以下回归、分类、聚类、协同过滤任意4种官方案例库中任选2种官方代码进行运行,确保程序可以运行并显示最终结果,并增加相应注释理解程序含义,运行方式不限于Spark REPL、编译打包或IDEA、Eclipse等集成开发环境的直接运行。 (1)线性回归支持向量机算法(LinearSVCExample.scala) (2)决策树分类算法(DecisionTreeClassificationExample.scala) (3)K均值聚类算法KMeansExample.scala) (4)ALS协同过滤算法(ALSExample.scala) 提示: (1)若使用Spark REPL环境请注意,REPL 不支持包(package)声明,需要注释该行;导入文件后需要运行相关单例对象的main方法显示结果 (2)注意相关路径的修改 3.案例1(具体名称)代码注释及解读: 4.案例1(具体名称)运行结果截图 5.案例2(具体名称)代码注释及解读: 6.案例2(具体名称)运行结果截图 学习资源 1、肖芳 , 张良均. Spark大数据技术与应用. 人民邮电教育出版社,2018. 2、井超 樊永生. 大数据技术基础及应用教程(Linux+Hadoop+Spark). 机械工业出版社,2022. 3、Spark MLlib的官方文档: https://spark.apache.org/docs/latest/ml-guide.html 4、学习通视频资源及资料安装包 https://mooc1.chaoxing.com/mooc-ans/mycourse/teacherstudy?chapterId=939002910&courseId=233206758&clazzid=122270315 https://mooc1.chaoxing.com/mooc-ans/mycourse/teacherstudy?chapterId=939003922&courseId=233206758&clazzid=122270315 学习过程 (一)Spark安装 1.完成Spark安装及配置相关截图 2.REPL启动Spark截图 (二)Spark Mllib 3.案例1(具体名称)代码注释及解读 4.案例1(具体名称)运行结果截图 5.案例2(具体名称)代码注释及解读 6.案例2(具体名称)运行结果截图
最新发布
06-20
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值