简介
K-Means聚类是一种非监督的聚类方式,原理参看数据挖掘十大算法 | k-means。
代码
import sys
import random
import numpy as np
from sklearn.decomposition import IncrementalPCA
imgNum = 10 # 几张图片
KNum = 2 # 分成几类
n = 2 # 每张图片都是n×n
dimension = 2016 # 每张图片的维数
dst_dimension = 10 # 想降到的维数
bound = 10 # 前后两次迭代结果之差小于这个时可以停止
maxRecurseTime = 10 # 最多迭代次数
centroids = [] # 存放KNum个质心的n维坐标向量
last_centroids = [] # 上一次递归得到的质心坐标们
ori_dots = [] # 存放每个点的n维坐标向量
dots = [] # 降维之后的点的坐标
clusters = [] # 存放每个类中有哪些点, clusters[i]中存放的是第i类中的点的下标,第i类的中心是centroids[i]
selected = []
Distance = lamb