首页 > 电脑教程 >Python实现K-means聚类算法

Python实现K-means聚类算法

来源:互联网 2026-07-26 12:17:18

K-means聚类是一种无监督学习算法,基于样本距离自动将数据划分为K个互不相交的簇。使用Python实现,利用pandas读取学生成绩数据集,通过scikit-learn的KMeans类建模,指定簇数K为2并训练,得到簇标签。增大K值至3或4后聚类结构更清晰,最优K值需结合肘部法则等评估。

K-means聚类算法概述

K-means聚类是一种典型的无监督学习算法,其核心思路直接明了:根据样本在多个维度上的数值特征,通过计算样本间距离,自动将数据划分为K个互不相交的簇。下面用Python完整走一遍K-means聚类分析的全流程,并介绍几个关键操作要点。

数据读取与导入

首先,使用pandas读取学生学业成绩数据集——该数据集包含数学和英语两门科目的分数。

长期稳定更新的攒劲资源: >>>点此立即查看<<<

接着,从scikit-learn中导入KMeans类,这是实现聚类建模的核心工具。

Python实现K-means聚类算法

数据预处理

数据预处理阶段,如果原始数据中已包含类别标签,可以单独提取出来,用于后续评估聚类效果。但需注意,K-means本身不依赖任何标签信息——它仅基于特征矩阵X完成建模,这正是无监督学习的本质。

Python实现K-means聚类算法

构建KMeans模型

构建KMeans模型时,通过n_clusters参数明确指定期望划分的簇数K,此处设为2。其他超参数保持默认,实际应用中可根据具体问题灵活调整,以优化聚类性能。

Python实现K-means聚类算法

模型训练与聚类结果

调用fit方法对数据进行训练,再使用predictfit_predict获取每个样本所属的簇标签。输出结果显示,所有样本被稳定地分配到了两个不同的簇中。

Python实现K-means聚类算法

可视化聚类效果

基于预测结果,使用matplotlib绘制二维散点图,不同簇用颜色区分。不过,当前样本规模较小,类别边界较为模糊,导致二分类下的聚类结构不够清晰直观。

Python实现K-means聚类算法

调整K值优化聚类

尝试增大K值——例如设为3或4,重新运行聚类并可视化。观察图表可以发现,提升簇数量后,样本分组更加合理,聚类轮廓也明显起来。在实际应用中,最优K值的确定需综合考虑数据规模、业务目标以及评估指标(如肘部法则、轮廓系数等),不能随意设定。

Python实现K-means聚类算法

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。