利用K-均值聚类算法对未标注数据分组

打卡第六周
## 利用K-均值聚类算法对未标注数据分组
一、1.K-均值聚类算法
K-均值算法的伪代码如下:

创建k个点作为起始质心(经常是随机选择)
当任意一个点的簇分配结果发生改变时
对数据集中的每个数据点
对每个质心
计算质心与数据点之间的距离
将数据点分配到距其最近的簇
对每个簇,计算簇中所有点的均值并将均值作为质心
**注意:**质心意味着需要进行某种距离计算,可以选择任意距离度量方法
例子:`# coding=utf-8

from numpy import *

def loadDataSet(fileName) :
dataMat = []
fr = open(fileName)
for line in fr.readlines() :
curLine = line.strip().split(’\t’)
fltLine = map(float, curLine)
dataMat.append(fltLine)
return dataMat

计算两个向量的欧式距离

def distEclud(vecA, vecB) :
return sqrt(sum(power(vecA - vecB, 2)))

为给定的数据集构建一个包含k个随机质心的集合

def randCent(dataSet, k) :
n = shape(dataSet)[1]
centroids = mat(zeros((k,n)))
# 构建簇质心
for j in range(n) :
# 每一维的最小值
min

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值