下面是一个使用scikit-learn库进行K-Means聚类的示例,包括定义初始质心的部分。
import numpy as np
from sklearn.cluster import KMeans
# 创建示例数据
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# 定义初始质心
init_centroids = np.array([[2, 2], [3, 3]])
# 创建KMeans模型并指定初始质心
kmeans = KMeans(n_clusters=2, init=init_centroids, random_state=0)
# 进行聚类
kmeans.fit(X)
# 打印聚类结果
print(kmeans.labels_)
在上面的代码中,我们首先导入所需的库,然后创建一个包含示例数据的numpy数组X。接下来,我们定义初始质心的numpy数组init_centroids,该数组包含两个初始质心的坐标。然后,我们使用KMeans类创建一个KMeans模型,并将初始质心作为参数传递给init参数。最后,我们使用fit方法对数据进行聚类,并使用labels_属性打印聚类结果。
请注意,init参数接受的初始质心应该是一个形状为(n_clusters, n_features)的数组,其中n_clusters是要创建的聚类数量,n_features是每个样本的特征数量。