package Spark_MLlibimport org.apache.spark.ml.clustering.KMeans
import org.apache.spark.sql.SparkSession
import org.apache.spark.ml.linalg.{Vector, Vectors}/*** K均值*/
case class features_schema(features:Vector)
object 聚类__KMeans {val spark=SparkSession.builder().master("local[2]").getOrCreate()import spark.implicits._def main(args: Array[String]): Unit = {val data=spark.sparkContext.textFile("file:///home/soyo/桌面/spark编程测试数据/soyo2.txt").map(_.split(",")).map(x=>features_schema(Vectors.dense(x(0).toDouble,x(1).toDouble,x(2).toDouble,x(3).toDouble))).toDF()data.show()val KMeansModel=new KMeans().setK(7).setFeaturesCol("features").setPredictionCol("prediction").fit(data)val results=KMeansModel.transform(data)results.show(150)//模型所有的聚类中心(指最后生成的聚类中心,K是几就有几组)的情况KMeansModel.clusterCenters.foreach(println)//集合内误差平方和(选取K的大小可以参照,使用场景+最大的集合内误差平方的值=较合适的K)val cost=KMeansModel.computeCost(data)println(cost)}
}

结果:

+-----------------+
|         features|
+-----------------+
|[5.1,3.5,1.4,0.2]|
|[4.9,3.0,1.4,0.2]|
|[4.7,3.2,1.3,0.2]|
|[4.6,3.1,1.5,0.2]|
|[5.0,3.6,1.4,0.2]|
|[5.4,3.9,1.7,0.4]|
|[4.6,3.4,1.4,0.3]|
|[5.0,3.4,1.5,0.2]|
|[4.4,2.9,1.4,0.2]|
|[4.9,3.1,1.5,0.1]|
|[5.4,3.7,1.5,0.2]|
|[4.8,3.4,1.6,0.2]|
|[4.8,3.0,1.4,0.1]|
|[4.3,3.0,1.1,0.1]|
|[5.8,4.0,1.2,0.2]|
|[5.7,4.4,1.5,0.4]|
|[5.4,3.9,1.3,0.4]|
|[5.1,3.5,1.4,0.3]|
|[5.7,3.8,1.7,0.3]|
|[5.1,3.8,1.5,0.3]|
+-----------------+
only showing top 20 rows

+-----------------+----------+
|         features|prediction|
+-----------------+----------+
|[5.1,3.5,1.4,0.2]|         0|
|[4.9,3.0,1.4,0.2]|         0|
|[4.7,3.2,1.3,0.2]|         0|
|[4.6,3.1,1.5,0.2]|         0|
|[5.0,3.6,1.4,0.2]|         0|
|[5.4,3.9,1.7,0.4]|         0|
|[4.6,3.4,1.4,0.3]|         0|
|[5.0,3.4,1.5,0.2]|         0|
|[4.4,2.9,1.4,0.2]|         0|
|[4.9,3.1,1.5,0.1]|         0|
|[5.4,3.7,1.5,0.2]|         0|
|[4.8,3.4,1.6,0.2]|         0|
|[4.8,3.0,1.4,0.1]|         0|
|[4.3,3.0,1.1,0.1]|         0|
|[5.8,4.0,1.2,0.2]|         0|
|[5.7,4.4,1.5,0.4]|         0|
|[5.4,3.9,1.3,0.4]|         0|
|[5.1,3.5,1.4,0.3]|         0|
|[5.7,3.8,1.7,0.3]|         0|
|[5.1,3.8,1.5,0.3]|         0|
+-----------------+----------+
only showing top 20 rows

[5.005999999999999,3.4180000000000006,1.4640000000000002,0.2439999999999999]
[6.8538461538461535,3.076923076923076,5.715384615384614,2.0538461538461537]
[5.883606557377049,2.740983606557377,4.388524590163936,1.4344262295081966]
78.94506582597859

转载于:https://www.cnblogs.com/soyo/p/7799422.html

聚类-----KMeans相关推荐

  1. K-均值聚类(K-Means) C++代码实现

    K-均值聚类(K-Means)简介可以参考: http://blog.csdn.net/fengbingchun/article/details/79276668 以下是K-Means的C++实现,c ...

  2. R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据

    R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据 目录 R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据

  3. R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据

    R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据 目录 R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据

  4. 算法杂货铺——k均值聚类(K-means)

    算法杂货铺--k均值聚类(K-means) 2010-09-20 20:05 by T2噬菌体, 57998 阅读, 48 评论, 收藏, 编辑 4.1.摘要 在前面的文章中,介绍了三种常见的分类算法 ...

  5. OpenCV k均值聚类kmeans clustering的实例(附完整代码)

    OpenCV k均值聚类kmeans clustering的实例 OpenCV k均值聚类kmeans clustering的实例 OpenCV k均值聚类kmeans clustering的实例 # ...

  6. C语言实现聚类K-means cluster算法(附完整源码)

    聚类K-means cluster算法 实现聚类K-means cluster算法的完整源码(定义,实现,main函数测试) 实现聚类K-means cluster算法的完整源码(定义,实现,main ...

  7. 【Python数据分析学习笔记Day3】(三)数据分析工具pandas,数据清洗,聚类K-Means

    Pandas学习 https://blog.csdn.net/qq_41251963/article/details/103904044 Pandas数据结构 import pandas as pd ...

  8. 12.【基础】手写体数字图像聚类--KMeans

    本文所有实现代码均来自<Python机器学习及实战> #-*- coding:utf-8 -*-#分别导入numpy.matplotlib.pandas,用于数学运算.作图以及数据分析 i ...

  9. 基于划分的聚类----K-means算法使用(R语言)

    library(amap)#这个包里有kmeans函数 library(R2SWF) library(animation)#导入包,后两个是作动画的包 customer <- read.csv( ...

  10. 聚类算法-层次(系统)聚类 Kmeans聚类 两步聚类

    一.距离定义 1.1 点-点 距离 距离用来衡量观测变量的属性,第iii个特征的观测值Xi=(xi1,xi2,...,xip)X_{i}=(x_{i1},x_{i2},...,x_{ip})Xi​=( ...

最新文章

  1. 免费超高速卡片式病人基本信息列表控件
  2. Python3搭建Django框架浅析
  3. MVC3中的tempdata,viewdata,viewbag总结
  4. Net中如何操作IIS
  5. kali中wireshark打开后错误
  6. php libxml 宝塔,宝塔编译安装各个版本php无法安装
  7. 【实践】js实现随机不重复抽取数组中元素
  8. jdk8 bug_JDK Bug系统浪费时间
  9. spring aop示例_Spring Profile模式示例
  10. 使用反射+抽象工厂的数据访问(1)
  11. ucinet计算聚类系数大于1怎么办_ucinet6聚类分析
  12. 软件工程造价师好考吗?
  13. 大文件怎样实现快速上传?
  14. 【洛谷试炼场】普及练习场——排序
  15. win10自带功能 进行磁盘分区
  16. 2021年杭州行政区划调整方案与远景轨道线网概念图
  17. 08Spring Boot自定定义配置
  18. php创蓝253四要素认证_Thinkphp5.1使用创蓝API接口进行实名认证-人证核验
  19. 转:长篇小说《七月七日晴》(超感人的)(上)
  20. 从0到1Python数据科学之旅

热门文章

  1. 如何隐藏Windows7 系统保留分区
  2. 利用Python下载网络小说并保存到本地文件
  3. 28. (附加)字符串的组合(C++版本)
  4. SpringBoot引入Redis
  5. Spring之IOC容器
  6. 每天一道剑指offer-链表中环的入口节点
  7. 单点登陆_规避单点故障,MySQL 8.0 MGR软负载怎么选?
  8. FISCO BCOS(五)———部署安装jdk1.8
  9. css radio 垂直居中显示,CSS表单元素垂直居中完美解决方案
  10. Eclipse2019开发javaweb应用的配置(解决eclipse中没有Server配置选项和没有Dynamic Web Project项目类型)