在SciPy中,可以使用scipy.cluster.vq.kmeans
函數(shù)來實(shí)現(xiàn)K均值聚類。下面是一個(gè)簡單的例子:
from scipy.cluster.vq import kmeans, vq
import numpy as np
# 生成一些隨機(jī)數(shù)據(jù)
data = np.random.rand(100, 2)
# 定義要聚類的簇的數(shù)量
k = 3
# 使用kmeans函數(shù)進(jìn)行聚類
centroids, distortion = kmeans(data, k)
# 使用vq函數(shù)將數(shù)據(jù)分配到不同的簇中
clusters, _ = vq(data, centroids)
print(clusters)
在上面的例子中,首先生成了一些隨機(jī)數(shù)據(jù),然后定義了要聚類的簇的數(shù)量。接下來使用kmeans
函數(shù)進(jìn)行聚類,得到聚類的中心點(diǎn)和畸變度,最后使用vq
函數(shù)將數(shù)據(jù)分配到不同的簇中。