目录
一、聚类分析
1、基本原理:
(1)根据K个中心将数据集按到中心值距离分簇
(2)将已分的数据集,根据平均向量再确定中心值
(3)重复1、2步骤,直至中心值不再移动(每次的差值与上次相同)
来源:scipy实现k-means算法_昆兰.沃斯 的博客-优快云博客_scipy实现kmeans聚类
2、示例
import numpy as np
from scipy.cluster.vq import vq, kmeans, whiten
import matplotlib.pyplot as plt
fe = np.array([[1.9,2.0],
[1.7,2.5],
[1.6,3.1],
[0.1,0.1],
[0.8,0.3],
[0.4,0.3],
[0.22,0.1],
[0.4, 0.3],
[0.4,0.5],
[1.8,1.9]])
book = np.array((fe[0], fe[1]))
print(type(book))
print("book: \n",book)
codebook, distortion = kmeans(fe, book)
# 可以写kmeans(wf,2), 2表示两个质心,同时启用iter参数
print("codebook:", codebook)
print("distortion: ", distortion)
plt.scatter(fe[:,0], fe[:,1], c='g')
plt.scatter(codebook[:, 0], codebook[:, 1], c='r')
plt.show()
运行结果:红色为聚类中心
二、图像色彩聚类
(1)用PIL生成小尺寸的图片,用resize或者thumbnail(缩略图)聚类
(2)取出图像的色