尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
用Python进行机器学习(4)K-Means算法
K-Means算法即K均值算法, 它属于一种经典的聚类算法, 何为聚类算法呢, 就是将数据集中样本划分成若干组, 这里的组又被称作簇, 英文名是。聚类算法是一种无监督学习技术, 故而它无需给数据打标签, 完全依据数据自身的特征来进行分组的。最早于1956年被给出的算法是K-Means算法, 在1967年首次有了“K-Means”这个名称的确定, 很容易造成初学者将KNN和K-Means弄混淆的情况, 这里针对两者的不同来做一下解释:首先, KNN属于监督学习算法, 因而它要借助训练数据预先进行打标签这一操作, 然而, K-Means是依据数据自身所具备的特征去自动开展分类工作的, 它归属于无监督学习算法, 进而, 它是不需要提前进行打标签的。首先, 第二点, KNN常常被运用在分类以及回归方面, 它属于聚类算法, 但是并且, 其所能够抵达的效果也全然不一样, 存在差异。首先, 第三点, KNN里的K, 属于数据周边的K个数据, 其次, K - Means当中的K, 是用于将数据划分成K个簇, 然后, 尽管这两种算法都存在K, 然而, K的意义全然不一样。然后介绍下K-Means算法的基本流程一开始, 随机去初始化K个中心点, 当然这K个中心点不会彼此距离太近, 不然可就很难开展聚类操作了。第二步, 距离概念在此处涉及, 要将每一数据点分配至离其最近的中心点, 如此最初的簇便形成了, 此处所涉及的距离和KNN算法里的距离是同一回事, 例如可选择曼哈顿距离, 或者欧氏距离, 又或者切比雪夫距离等。首先是第三步, 要对每个簇的中心点重新进行计算, 而这个中心点又被叫做质心, 在此处, 乃是借助求均值的操作来达成的, 这也正好就是K-Means中的Means这个名字的由来。瞧, 请来看有一个具体的范例, 比如说, 好像我们打算要去得到四个簇, 接着这里具有 300 个样本, 那么此时我们便能够去使用如同下面这样子的代码:import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_blobs from sklearn.cluster import KMeans # 生成示例数据 X, y make_blobs( n_samples300, # 样本数量 centers4, # 簇的数量 cluster_std0.60, # 簇的标准差 random_state0 # 随机种子 ) # 创建 KMeans 模型并拟合数据 kmeans KMeans(n_clusters4, initk-means, max_iter300, n_init10, random_state0) # 训练模型并预测每个样本所属的簇 pred_y kmeans.fit_predict(X) # 可视化聚类结果 plt.scatter(X[:, 0], X[:, 1], cpred_y, s50, cmapviridis) # 绘制聚类中心 plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s200, cred, alpha0.7, labelCluster Centers) plt.title(K-Means Clustering) plt.xlabel(feature 1) plt.ylabel(feature 2) plt.legend() plt.show()因为核心功能全都标注有注释,因而此处便不再阐述代码的用途了。能够瞧见我们生成了四个簇, 那些簇依靠不同颜色展开区分, 并且运用红色对簇的中心予以标明, 情况如下:鉴于K-Means无需预先给数据打标签, 故而它颇适用于大规模数据, 并且其可解释性颇为突出, 毕竟簇的中心即为特征代表, 正因如此该算法适于譬如客户分群、图像分割、异常检测等场景。
RELATED

相关推荐

每天60秒读懂世界|2026年8月30日

每天60秒读懂世界|2026年8月30日

🔥 个人主页: 杨利杰YJlio ❄️ 个人专栏: 《Windows 疑难杂症与工单复盘案例库》 《Sysinternals实战教程》 《WINDOWS教程》 《Windows PowerShell 实战》 《IOS插件分析测试》 《超简单:用Python让Excel飞起来》…

📅 2026/9/11 20:30:00
Nucleo-WB09KE连接问题全解析:从USB调试到BLE射频

Nucleo-WB09KE连接问题全解析:从USB调试到BLE射频

Nucleo-WB09KE的Connection issues,几乎每个碰过这块板子的人都会撞上一次。插上USB线,电脑没反应;STM32CubeProgrammer打开后连不上目标芯片;或者手机就放在板子旁边,BLE扫描列表里却始终干干净净,一个名字…

📅 2026/9/5 2:53:09
AI辅助FPGA开发第一步:VSCode环境搭建与配置实践

AI辅助FPGA开发第一步:VSCode环境搭建与配置实践

FPGA 逻辑设计的开发环境,常常被低估。很多人一开始觉得,装一个 VSCode 有什么好讲的?可实际上,AI 辅助 FPGA 开发这条路,第一步最容易被卡住的地方,恰恰就是编辑器环境。我见过不止一位工程师遇到这样的场…

📅 2026/10/10 8:26:33
MORE NEWS

更多资讯

📰

智能体硬件三块短板:GPU、KV缓存与CPU调度优化实战

1. 智能体浪潮下被忽视的硬件真相过去一年,我身边做智能体开发的朋友越来越多,从coze、dify这类低代码平台,到基于hermes智能体框架自己撸代码的团队,大家都在讨论同一个话题:智能体什么时候能真正跑起来、跑得稳。但聊…

📰

AMD 7900 XTX跑27B模型:hipEngine与llama.cpp实测,我为何没换引擎

上周一时兴起,给手头那张 7900 XTX 装了社区里反复刷屏的 hipEngine,拿 27B 模型跑了几轮正经对比。折腾到凌晨两点半,最后的决定是:显卡没换,引擎没换,原来的 27B 部署方案原样保留。这不是一篇“hipEngin…

📰

AI辅助漏洞挖掘门槛塌方:PS5大神退圈背后的技术信号

1. 从“大神退圈”说起:一个信号,而不是一条新闻PS5 Linux 大神被“定点狙击”后愤而退圈,这事在圈子里炸开锅的时候,我正在调试一块 RK3588 的板子。消息弹出来,我第一反应不是惋惜,而是——这套剧本我见过…

📰

基于AT89S52与模糊PID的恒温水箱温控系统设计

简介:面向自动化、机电一体化等专业课程设计与毕业设计场景的恒温控制系统参考资料,围绕模糊PID算法在温度控制中的应用展开,适合需要完成单片机控制系统方案、撰写设计文档或对比传统PID与模糊控制思路的读者。压缩包仅含1个doc文档&#xf…

📰

Grok4.7高分却退订?真实用户的AI订阅体验与选型反思

Grok4.7在评测榜上连续几周霸占前排,多个头部榜单把它排在“通用助手第一梯队”。我当初也是看着这个排名入了手,月费不算便宜,但想着“排第一的模型总不会差”,就订了。结果用了一个多月,我不仅没有感受到“第一梯队”…

📰

从实时全模态交互到自主智能体:端侧大模型如何迈向真正的端侧智能?

最近在准备明年的端侧技术选型,翻到CNCC2026的技术论坛议题《从实时全模态交互到自主智能体,端侧大模型如何迈向真正的端侧智能?》,一下子戳中了我们团队这一年多来最头疼的问题——大模型确实塞进了手机、PC、车载盒子&#xff0…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬