python利用kmeans一维聚类和二维聚类

        利用python的sklearn库做kmeans一维聚类和二维聚类。

        网上找了找,记录下,在做直方图聚类。

一、kmeans一维聚类

        这个主要在于一个reshape(-1, 1)。kmeans聚类一般是搞二位聚类的,需要一维就得变换下。这个也是自带的提示:

         a是一个一维array列表。代码是:

from sklearn.cluster import KMeans

x = a.reshape(-1,1)
myKmeans = KMeans(n_clusters = 3)     # 聚类成3团
myKmeans.fit(x)
centers = list(myKmeans.cluster_centers_)
print(centers)

        注意,列表list是没有reshape的,可以用np.array()转换下:

a = np.array(a)

二、kmeans二维聚类

        这个主要是要有二维列表。二维列表和二维array应该都行。

python利用kmeans一维聚类和二维聚类_第1张图片

         代码变换不大:把二维列表赋给x就行

from sklearn.cluster import KMeans

x = 二维列表
myKmeans = KMeans(n_clusters = 3)     # 聚类成3团
myKmeans.fit(x)
centers = list(myKmeans.cluster_centers_)
print(centers)

        结果应该是点对:

 

你可能感兴趣的:(python,聚类,kmeans)