sparkmlilib聚类KMeans怎么用
这篇文章主要为大家展示了“spark mlilib 聚类 KMeans怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spark mlilib 聚类 KMeans怎么用”这篇文章吧。
创新互联主打移动网站、做网站、成都网站建设、网站改版、网络推广、网站维护、国际域名空间、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
聚类使用场景
数据聚类是对于静态数据分析的一门技术,在许多领域内都被广泛地应用,包括机器学习、数据挖掘、模式识别、图像分析、信息检索以及生物信息等
运行代码如下
package spark.clustering import org.apache.spark.mllib.clustering.KMeans import org.apache.spark.mllib.linalg.Vectors import org.apache.spark.{SparkContext, SparkConf} /** * 一般来说,分类是指有监督的学习,即要分类的样本是有标记的,类别是已知的; * 聚类是指无监督的学习,样本没有标记,根据某种相似度度量,将样本聚为 K类. * * 聚类KMEANS * 基本思想和核心内容就是在算法开始时随机给定若干(k)个中心,按照距离原则将样本点分配到各个中心点, * 之后按照平均法计算聚类集的中心点位置,从而重新确定新的中心点位置.这样不断地迭代下去直至聚类集内的样本满足一定的阈值为止. * * Created by eric on 16-7-21. */ object Kmeans { val conf = new SparkConf() //创建环境变量 .setMaster("local") //设置本地化处理 .setAppName("KMeans") //设定名称 val sc = new SparkContext(conf) def main(args: Array[String]) { val data = sc.textFile("./src/main/spark/clustering/kmeans.txt") val parsedData = data.map(s => Vectors.dense(s.split(' ').map(_.toDouble))) .cache() val numClusters = 2 //最大分类数 val numIterations = 20 //迭代次数 val model = KMeans.train(parsedData, numClusters, numIterations) model.clusterCenters.foreach(println)//分类中心点 //[1.4000000000000001,2.0] //[3.6666666666666665,3.6666666666666665] } }
kmeans.txt
1 2 1 1 1 3 2 2 3 4 4 3 2 2 4 4
结果如下
以上是“spark mlilib 聚类 KMeans怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
标题名称:sparkmlilib聚类KMeans怎么用
本文链接:http://myzitong.com/article/gsoipg.html