K-Means 聚类算法在 Python 中的实现可以使用 scikit-learn 库。以下是一个简单的 K-Means 聚类示例:
“`python
导入所需库
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
加载数据集
iris = load_iris()
X = iris.data
y = iris.target
划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
初始化 K-Means 算法参数
kmeans = KMeans(n_clusters=3, random_state=42)
训练模型
kmeans.fit(X_train)
预测测试集数据
y_pred = kmeans.predict(X_test)
绘制聚类结果
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, cmap=’viridis’)
plt.xlabel(‘Petal Length’)
plt.ylabel(‘Petal Width’)
plt.title(‘Iris Dataset Clustered by K-Means’)
plt.show()
输出每个簇的质心
print(“Cluster centroids:”)
print(kmeans.cluster_centers_)`` 在这个示例中,我们首先导入了所需的库和数据集。然后,使用
train_test_split划分数据集为训练集和测试集。接下来,初始化 K-Means 算法参数,包括聚类数量(3 个簇)和随机种子(42)。 训练模型后,使用
predict` 方法对测试集数据进行预测。最后,绘制聚类结果并输出每个簇的质心。
需要注意的是,K-Means 聚类算法的结果可能受到初始质心选择的影响。为了提高聚类性能,可以尝试多次随机初始化质心,并从中选取最优的聚类结果。