java如何做聚类分析_K-means算法的Java实现 聚类分析681个三国武将

人工智能67

一,k-means算法介绍:

k-means算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个"中心对象"(引力中心)来进行计算的。k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

k-means算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数。k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

二,k-means算法基本步骤:

(1) 从 n个数据对象任意选择 k 个对象作为初始聚类中心;

(2) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;

(3) 重新计算每个(有变化)聚类的均值(中心对象);

(4) 计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2),不断重复直到标准测度函数开始收敛为止。(一般都采用均方差作为标准测度函数。)

三,k-means算法的java实现:

一共有七个类,General.java代表武将对象, Distance.java距离类计算各个武将到中心武将之间的距离, Cluster.java聚类对象包含一个中心武将和该聚类中所有武将, Kmeans.java核心的聚类算法类, Tool.java工具类用于转换武将的星级为数字等操作, TestKmeans.java测试类即入口文件, DomParser.java用于读取xml中的681个武将。

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
人工智能

知识图谱构建技术

知识图谱的构建技术包括知识抽取、知识融合、知识加工和知识更新等。 图1 知识图谱构建技术流程图 1.1 知识抽取 知识抽取就是自动化或半自动化的从原始数据中获得实体、关系及属性等可用知识单元。早期是基...
人工智能

微信语音的测试

测试用例评审总结:1、微信语音聊天功能测试 2、随便拿 一个物体进行测试。 1、确定需求,解决需求疑问。2、了解被测试功能 的全过程,从细节了解每一个步骤和点。 小任务:按住说话,每一个步骤 操作写成...
人工智能

ML Collections的介绍(一)

在看一篇论文的源码时,看到import ml_collections这行代码,系统报错,经过寻找之后发现并不是源码中的一个文件,之后感觉应该是一个深度学习的安装包,然后就在网上搜索这个包的安装过程,却...
人工智能

关于产品UE的胡思乱想

1、产品的目标是 取悦用户 不能只盯着功能实现,而不考虑用户使用。 我们的目标不应该不过让用户使用我们的产品。而是让用户在使用我们产品过程中感到 "愉悦"。 2、用户是SB​ 3、关键是挖掘痛点 绝大...
人工智能

Python语音识别实践【百度AI平台】

这几天想要用Python来体验一下语音识别技术,虽然我知道有很多开源免费的语音识别库,例如,CMU Sphinx,好像以前玩过,但只为了愉快地体验,这次选择百度AI平台来简单实践一下,后期再深入研究开...
人工智能

Windows下安装CPU版的tensorflow2.0版本

在安装过程中遇到很多坑,搞了好几天,在网上也搜了教程,可是却一直出问题,后面也是各种查资料最后成功了。写下博客记录,下次换电脑的时候再装就避免踩坑了。 一、安装anaconda,添加环境变量 首先我装...