博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分K-均值算法
阅读量:6183 次
发布时间:2019-06-21

本文共 822 字,大约阅读时间需要 2 分钟。

伪代码:

将所有点看成一个簇当簇数目小于k时对于每一个簇        计算总误差         在给定的簇上面进行k-均值聚类(k=2)         计算将该簇一分为二之后的总误差选择使得误差最小的那个簇进行划分操作
def biKmeans(dataSet,k):    m=np.shape(dataSet)[0]    clusterAssment=np.mat(np.zeros((m,2)))    centroid0=np.mean(dataSet,axis=0).tolist()    centList=[centroid0]    for j in range(m):        clusterAssment[j,1]=distEclud(centroid0, dataSet[j,:])**2    while (len(centList) < k):        lowsetSSE=np.inf        for i in range(len(centList)):            ptsInCurrCluster=dataSet[np.nonzero(clusterAssment[:,0].A==i)[0],:]            centroidMat,splitClusterAss=kMeans(ptsInCurrCluster, 2)            sseSplit=np.sum(splitClusterAss[:,1])            sseNotSplit=np.sum(clusterAssment[np.nonzero(clusterAssment[:,0].A!=i)[0],1])            if sseSplit+sseNotSplit

转载于:https://www.cnblogs.com/sklww/p/3739191.html

你可能感兴趣的文章
django搭建博客网站
查看>>
《linux Shell 脚本攻略》进阶学习(第一部分)
查看>>
java 邮件收发
查看>>
我的友情链接
查看>>
mysql root 管理软件
查看>>
jquery mobile自动弹出popup
查看>>
hash注入神器WCE发布1.4 Beta版本
查看>>
CloudFoundry DEA运作源码分析
查看>>
SQL --索引
查看>>
快速排序
查看>>
在MyEclipse中创建Java Maven依赖项目
查看>>
《我的前半生》观后感
查看>>
高可用性及容灾的几个衡量指标
查看>>
Mysql最后补充+Java连接数据库
查看>>
前台语言与后台语言的本质区别
查看>>
机器学习实战第三章决策树
查看>>
Linux软件包安装和卸载(yum)
查看>>
添加device
查看>>
Kubernetes 之 kubeadm最佳实践
查看>>
计算机硬件系统组成--控制器(上)
查看>>