定义: 

聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程,聚类就是一种发现这种内在结构的技术,聚类技术经常被称为无监督学习。

k均值聚类是最著名的划分聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使用的。给定一个数据点集合和需要的聚类数目k,k由用户指定,k均值算法根据某个距离函数反复把数据分入k个聚类中。

数据源准备:

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
0.2 0.2 0.2
0.3 0.4 0.2
0.5 0.2 0.5
0.6 0.6 0.6
0.7 0.7 0.7
0.2 0.2 0.2
0.2 0.2 0.2

Demo:

object KMeansdemo {def main(args: Array[String]): Unit = {//创建SparkContextval conf = new SparkConf().setMaster("local[4]").setAppName("KMeans")val sc = new SparkContext(conf)//加载数据val path = "kmeans_data.txt"val data = sc.textFile(path)val parsedData = data.map(s => Vectors.dense(s.split(' ').map(_.toDouble))).cache()//通过KMeans将数据分成两个阵营val numClusters = 2val numIterations = 20val clusters = KMeans.train(parsedData, numClusters, numIterations)//输出当前的聚类中心clusters.clusterCenters.foreach(println _)val index = clusters.predict(Vectors.dense(Array(8.9,7.2,9.0)))println(s"Vector[8.9, 7.2, 9.0] 属于聚类索引为:${index} 中心坐标为:${clusters.clusterCenters(index)} 的簇")//计算误差平方和val WSSSE = clusters.computeCost(parsedData)println("误差平方和 = " + WSSSE)sc.stop()}
}

Sparkmllib scala KMEANS demo相关推荐

  1. sparkmllib scala GBDT Demo

    定义 GBDT(Gradient Boosting Decision Tree)是一种迭代的决策树算法,由多棵决策树组成,所有树的结论累加起来作为最终答案.GBDT是boosting算法的一种,按照b ...

  2. sparkmllib scala NaiveBayes Demo

    定义  贝叶斯方法 贝叶斯方法是以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类.由于其有着坚实的数学基础,贝叶斯分类算法的误判率是很低的.贝叶斯方法的特点是结合先验概率和后验概率,即避免了 ...

  3. Sparkmllib scala svm demo

    简介: 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized l ...

  4. 基于IntelliJ Idea的Scala开发demo一Spark开发demo

    顺着之前SBT的HelloWorld案例(具体请参考我的另外一篇博文<基于IntelliJ Idea的Scala开发demo-SBT包管理demo>) 今天给出一个基于Scala的spar ...

  5. python spark kmeans demo

    官方的demo from numpy import array from math import sqrtfrom pyspark import SparkContextfrom pyspark.ml ...

  6. Sparkmllib scala逻辑回归

    logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域.例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等.以胃癌病 ...

  7. Sparkmllib scala线性回归

    在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性 ...

  8. MATLAB | kmeans聚类如何绘制更强的聚类边界(决策边界)

    本篇文章主要解决对于kmeans聚类结果,怎样绘制更强的聚类边界: 不过在此之前先讲解如何绘制聚类效果.聚类边界,最后再展示上图所示更强的聚类边界.代码其实不需要写下面那么长,但是为了画图好看就写长点 ...

  9. More than React(一)为什么ReactJS不适合复杂交互的前端项目?

    <More than React>系列的文章会一共分为五篇和一则附录.本文是第一篇,介绍用 ReactJS开发时遇到的种种问题.后面四篇文章的每一篇将会分别详细讨论其中一个问题,以及Bin ...

最新文章

  1. 【廖雪峰python入门笔记】tuple_创建
  2. nmake构建Geos库
  3. 2019 surf project for a milestone
  4. 高清壁纸:60款可爱的圣诞节电脑桌面壁纸《下篇》
  5. django处理静态文件
  6. 为什么有人说开车时,最能看出一个人的情商和潜力?
  7. 有没有和我一样从来不和亲戚联系的人?
  8. arma模型matlab代码_DCC GARCH模型
  9. [转载] python改写二分搜索算法_二分搜索算法模板python实现
  10. webstorm2017.1.3破解教程
  11. 定义枚举类型时指定其使用的大小 (C++,C#)
  12. Mac电脑如何添加管理员账户?
  13. Vue:错误Component template should contain exactly one root element解决
  14. 2019年PMP考试模拟题(附答案解析)
  15. 中文文字校对和文档对比合并开源工具调研
  16. 2021年下软考高项信息系统项目管理师真题试卷答案解析
  17. 二分插入排序(折半插入排序)--排序算法(六)
  18. 解决java中html转word文档,转成功后的word文档在断网情况下无法显示图片问题
  19. 第三次作业(尤心心)
  20. 解决网页微信扫码登录报40163

热门文章

  1. 病毒汇编逆向分析实例赏析
  2. 人生苦短,Let's Go!
  3. 【Matlab】你想知道在图表标题中显示变量的一切
  4. USTC English Club Note20171023
  5. 十九、“文捷笔妙活如水,气定神闲稳若山。”(2021.6.7)
  6. 云炬Android开发笔记 10主界面-首页UI与数据解析器开发(RecyclerView)
  7. dev c++怎么调试_「正点原子NANO STM32开发板资料连载」第十八章 USMART 调试组件...
  8. c#下简单的文件读写
  9. MySQL数据库中导入导出方法以及工具介绍
  10. ASP.NET中生成缩略图的代码