k-means python代码
def fun_dis (x,y,n):
return sum (map (lambda v1,v2:pow(abs(v1-v2),n), x,y))
def distance (x,y):
#return fun_dis (x,y,2)
return fun_dis (x,y,1)
def min_dis_center(center, node):
min_index = 0
min_dista = distance (center[0][1],node)
for i in range (1,len(center)):
tmp = distance (center[i][1],node)
if (tmp < min_dista):
min_dista = tmp
min_index = i
return min_index
# input [[x1,y1,z1..],[x2,y2,z2..]..]
# return
def k_means (info,k=5):
center = [[1,info[i]] for i in range(k)]
result = [[i] for i in range(k)]
width = len (info[0])
for i in range(k,len(info)):
min_center = min_dis_center (center,info[i])
for j in range(width):
center[min_center][1][j] = (center[min_center][1][j] * center[min_center][0] + info[i][j])/ (1.0+center[min_center][0])
center[min_center][0] += 1
result[min_center].append (i)
return result,center
test_data = [[1,100,300,9],
[9,200,400,20],
[2,102,305,10],
[3,103,299,9],
[3,105,299,11],
[3,105,299,11],
[9,200,400,20],
[2,102,305,10],
[11,220,409,20]]
data = k_means (test_data,2)
print data[0]
print data[1]
分享到:
相关推荐
K-means python代码
基于python的k-means聚类算法的实现代码,不是调用sklearn库的实现方式,步骤清晰且比较详细!如有错误,欢迎批评指出,谢谢!
k-means 聚类算法思想先随机选择k个聚类中心,把集合里的元素与最近的聚类中心聚为一类,得到一次聚类,再把每一个类的均值作为新的聚类中心重新聚类,迭代n次得到最终结果分步解析 一、初始化聚类中心 首先随机...
主要介绍了python基于K-means聚类算法的图像分割,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。...本代码提供了k-means算法的python实现,并使用matlibplot可视化算法结果
k-means代码
K-means聚类模型Python代码
数据挖掘k-means k-medoids python代码实现 含测试数据
通过k-means实现聚类,本例给出的数据集是testSet,用户下载代码以后,修改fileIn = open('F:/python/testSet.txt') 这句代码为自己文件的存放位置,即可运行。
主要为大家详细介绍了Python实点云分割k-means,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
kmeans聚类算法python实现
此处基于Bisecting K-means算法处理Iris数据集 bisecting_kmeans.py模块: import numpy as np class KMeansClassifier(): """初始化KMeansClassifier类""" def __init__(self, k=3, initCent='random', max_iter...
主要介绍了Python用K-means聚类算法进行客户分群的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
python实现k-means聚类,利用的库有numpy sklearn,利用matplot绘图
基于萤火虫优化的加权 K-means 算法