kmeans= KMeans(n_clusters=n_clusters, random_state=0).fit(image_array_sample) kmeans.cluster_centers_ labels=kmeans.predict(image_array) labels.shape image_kmeans=image_array.copy()foriinrange(w*h): image_kmeans[i]=kmeans.cluster_centers_[labels[i]] image_kmeans pd.DataFrame(image_k...
# 第二个for循环是聚类中心的移动,即:对于每一个类,重新计算该类的质心 for cent in range(k): # recalculate centroids # nonzero函数是numpy中用于得到数组array中非零元素的位置(数组索引)的函数。 # 它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素...
图像探索完毕,我们了解了,图像现在有9W多种颜色。我们希望来试试看,能否使用K-Means将颜色压缩到64种,还不严重损耗图像的质量。为此,我们要使用K-Means来将9W种颜色聚类成64类,然后使用64个簇的质心来替代全部的9W种颜色,记得质心有着这样的性质:簇中的点都是离质心最近的样本点。 为了比较,我们还要画出随机压...