K-Means 算法是一种经典的聚类算法,它通过迭代的方式将数据集分成 K 个簇,使得每个簇内的数据点尽可能接近,而不同簇之间的数据点尽可能远。
算法步骤
- 选择 K 个中心点:随机选择 K 个数据点作为初始中心点。
- 分配数据点:将每个数据点分配到最近的中心点所在的簇中。
- 更新中心点:计算每个簇中所有数据点的均值,并将中心点更新为均值。
- 重复步骤 2 和 3:重复步骤 2 和 3,直到中心点不再变化或达到预设的迭代次数。
优势
- 简单易实现:K-Means 算法原理简单,易于实现。
- 效率高:K-Means 算法计算速度快,适合处理大规模数据集。
应用场景
- 市场细分:根据消费者的购买行为进行市场细分。
- 图像识别:将图像数据聚类,用于图像分类。
- 文本聚类:将文本数据聚类,用于主题建模。
代码示例
以下是一个使用 Python 实现 K-Means 算法的简单示例:
from sklearn.cluster import KMeans
# 创建 KMeans 对象
kmeans = KMeans(n_clusters=3)
# 拟合数据
kmeans.fit(X)
# 预测
y_pred = kmeans.predict(X)
相关链接
更多关于 K-Means 算法的知识,可以参考以下链接:
图片
中心点:
数据点:
簇: