kmeans 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
kmeans 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 MIT
开发语言 Google Go 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发数学计算
开发厂商
地区 不详
提 交 者 达尔文
适用人群 未知
收录时间 2016-09-16

软件简介

kmeans 算法,即k 均值聚类算法(k-means clustering algorithm),是一种迭代求解的聚类分析算法。其步骤是,预将数据分为 K 组,则随机选取 K 个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。

kmeans,Go 的现用 Kmeans 算法包:

package mainimport (    
    "fmt"
    "github.com/salkj/kmeans")
func main() {    
    data := []kmeans.Point{}
    data = append(data, kmeans.Point{[]float64{1.0,3.0,5.0,2.0}})
    data = append(data, kmeans.Point{[]float64{43.0,7.0,12.0,7.0}})
    data = append(data, kmeans.Point{[]float64{2.0,12.0,5.0,8.0}})
    data = append(data, kmeans.Point{[]float64{12.0,1945.0,34.0,65.0}})
    fmt.Println(kmeans.KMEANS(data, 2, 0.001))
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2019/04/17 11:11

Kmeans

import numpy as np import pandas as pd import matplotlib.pylab as plt import matplotlib from sklearn import datasets matplotlib.rcParams['font.sans-serif'] = ['SimHei'] data=pd.read_csv('010-data_multivar.csv',header=None) # print(data) #拆分数据 dataset_X,dataset_y=data.iloc[:,:-1],data.iloc[:,-...

0
0
发表了博客
2015/03/11 09:01

Kmeans

算法流程: 选取K个点作为初始类中心 将每个点指派到最近的类中心,形成k个簇 重新计算每个簇的类中心 直到簇不发生变化或达到最大迭代次数 时间复杂度:O(tkmn) --- t为迭代次数,k为簇的数目,m为样本数,n为维数 问题: K如何确定: 1、与层次聚类的结合 首先采用层次聚类算法决定结果中簇大概的数目,并找到一个初始...

0
0
发表了博客
2018/08/10 14:09

Kmeans、Kmeans++和KNN算法比较

K-Means介绍 K-means算法是聚类分析中使用最广泛的算法之一。它把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。其聚类过程可以用下图...

0
0
发表于云计算专区
2016/11/26 17:03

mahout kmeans

Mahout实战 Mahout是apache Soft Foundation旗下的一个开源项目 提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷的创建智能应用程序 Mahout的许多实现,包括聚类,分类,推荐过滤,频繁子项目挖掘,此外,通过使用Apache Hadoop库 Mahout可以有效的扩展到云中 运行Mahout自带的kmeans算法同时...

0
0
发表了博客
2019/10/31 16:53

Kmeans应用

1、思路 应用Kmeans聚类时,需要首先确定k值,如果k是未知的,需要先确定簇的数量。其方法可以使用拐点法、轮廓系数法(k>=2)、间隔统计量法。若k是已知的,可以直接调用sklearn子模块cluster中Kmeans方法,对数据进行切割。 另外如若数据集不规则,存在量纲上的差异,也需要对其进行标准化处理。 2、数据的标准化处理 ...

0
0
发表了博客
2019/10/30 22:48

Kmeans算法

1、概述 该方法属于无监督学习算法(无y值)。根据已有的数据,利用距离远近的思想将目标数据集聚为指定的k个簇。簇内样本越相似,聚类的效果越好。需要注意的是如若数据存在量纲上的差异,必须先进行标签化处理。或者数据集中含有离散型字符变量,需先设置成哑变量或进行数值化。对于未知簇个数的数据集,需要先确定簇数...

0
0
发表了博客
06/30 10:54

Kmeans学习

背景 我们目的是将样本分成k个类,其实说白了就是求每个样例x的隐含类别y,然后利用隐含类别将x归类。由于我们事先不知道类别y,那么我们首先可以对每个样例假定一个y吧,但是怎么知道假定的对不对呢?怎么评价假定的好不好呢?我们使用样本的极大似然估计来度量,这里是就是x和y的联合分布P(x,y)了。如果找到的y能够使P...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
1 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部