Python中有很多聚類庫可供使用,其中最常用的是scikit-learn,它包含了多種聚類算法,如K-Means、Agglomerative Clustering、Spectral Clustering等。下面是一個使用K-Means進行聚類的示例:
from sklearn.cluster import KMeans import numpy as np X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]]) kmeans = KMeans(n_clusters=2, random_state=0).fit(X) print(kmeans.labels_)
以上代碼中,首先導入KMeans類,然后生成一個包含六個樣本的二維數組X。接下來使用KMeans類進行聚類,在這里指定聚類數量為2,并使用fit方法擬合X。最后使用labels_屬性獲取每個樣本所屬的類別編號。
除了scikit-learn之外,還有一些其他的聚類庫可供選擇,如PyClustering、hdbscan等。這里以hdbscan為例:
import hdbscan import numpy as np X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]]) clusterer = hdbscan.HDBSCAN(min_cluster_size=2) clusterer.fit(X) print(clusterer.labels_)
以上代碼中,導入hdbscan庫后,與scikit-learn類似地生成一個二維數組X。接下來使用HDBSCAN類進行聚類,在這里指定最小聚類數量為2,并使用fit方法擬合X。最后使用labels_屬性獲取每個樣本所屬的類別編號。與K-Means不同的是,HDBSCAN不需要事先指定聚類數量,算法會自動選擇合適的聚類數量。
下一篇css圖片加陰影圓角