K-means算法

 新闻资讯     |      2018-05-05 17:52

此算法用于聚类

给你一些数据,他们的属性已经被数字化,你这么对他们进行聚类呢?

k-means是这么做的

其实只要一条数据是数字化的,就可以把他们看成一个点。我们把这些记录看成一个点群。

我们对一些事物进行分类,其实就是看他们距离的远近,正所谓物以类聚,人以群分嘛。

比如,我们想把他们聚成3类,我们可以随机的选三个不同点,然后把每个测试数据与这三个点求距离,这个测试数据与三个点中哪个距离最近,它就属于哪一类。一次迭代完成后,分成了三个群。但是,往往一次迭代就取结果是不科学的,因为,那三个点是你随机选的。你可以再进行迭代,这次再选三个点,这次这三个点怎么选呢?

这样,刚才不是分成了三个群(A,B,C)吗?假如这些记录只有两个纬度(x,y),我们把A群的所有点(n个)的x坐标相加/n,y坐标相加/n。这样就形成了一个新的点a1,其他群也是如此,然后形成了新的三个点a1,b1,c1。然后再让这些记录与一一的与这三个点求距离,与哪个点最近就归为哪一类。经过这一次迭代后,又产生了三个群,如果你想要更好的效果,就多进行几次迭代,直到那三个点再也不会发生变化,这时候就会产生最优的聚类结果。

 

 

本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:zixun-group@service.aliyun.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关资讯

Azkaban实战

 关键词: java Azkaban job描述文件

Azkaba内置的任务类型支持command、java Command类型单一job示例 1、创建job描述文件 vi command.job command.job type=command command=echo ‘hello’ 2、将job资源文件打包成zip文件 zip command.job 3、通过azkaban的web管理平台创建project并上传job压缩包 首先创建pr...

工作流调度器azkaban安装

 关键词: 安装 Azkaban 工作流调度器

概述 2.1.1为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序、hive脚本等 各任务单元之间存在时间先后及前后依赖关系 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行; 例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤如下所示: ...

HadoopArchives指南

 关键词: 文件系统目录 归档文件 HadoopArchives

Hadoop Archives指南 概述 Hadoop archives是一种归档文件。按照官网的说法,一个Hadoop archive对应一个文件系统目录。 那么为什么需要Hadoop Archives呢?因为hdfs并不擅长存储小文件,文件在hdfs上以block的形式存储,而这些block会在namenode中保存其索引等元数据,这些元数据在namenode启动后被加载至内存。如果存在...

spark的应用场景和基本原理

 关键词: Spark spark特点

摘要: spark的优势:(1)图计算,迭代计算(训练机器学习算法模型做广告推荐,点击预测,同时基于spark的预测模型能做到分钟级)(2)交互式查询计算(实时) spark的主要应用场景:(1)推荐系统,实时推荐 (2)交互式实时查询 spark特点:(1)分布式并行计算框架(2)内存计算,不仅数据加载到内存,中间结果也存储内存(中间结果不需要落地到hdfs) 还有一个特点:Spark在做...

libvmi编译问题

 关键词: 执行 编译 libvmi

fatal error: json-c/json.h: No such file or directory ---解决方法: sudo apt-get install libjson-c-dev 然后重新执行./autoconf ./configure make 即可