K-Means 聚类算法在 Python 中

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 聚类算法的结果可能受到初始质心选择的影响。为了提高聚类性能,可以尝试多次随机初始化质心,并从中选取最优的聚类结果。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注