首页 > 代码库 > 机器学习笔记——K-means
机器学习笔记——K-means
K-means是一种聚类算法,其要求用户设定聚类个数k作为输入参数,因此,在运行此算法前,需要估计需要的簇的个数。
假设有n个点,需要聚到k个簇中。K-means算法首先从包含k个中心点的初始集合开始,即随机初始化簇的中心。随后,算法进行多次迭代处理并调整中心位置,知道达到最大迭代次数或中性收敛于固定点。
k-means聚类实例。选择三个随机点用作聚类中心(左上),map阶段(右上)将每个点赋给离其最近的簇。在reduce阶段(左下),取相互关联的点的均值,作为新的簇的中心位置,得到本轮迭代的最终布局(右下)。在每一轮迭代结束后,最终布局将被反馈给同样的循环过程,直到聚类中心的位置不再移动。
使用weka进行聚类:
public static void main(String[] args) throws Exception { // 读入样本数据 Instances data = http://www.mamicode.com/new Instances(new BufferedReader(new FileReader("E://Weka-3-6//data//contact-lenses.arff")));>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。