初试无监督学习 - K均值聚类算法
文章目录
- 1. K均值聚类算法概述
- 2. k均值聚类算法演示
- 2.1 准备工作
- 2.2 生成聚类用的样本数据集
- 2.3 初始化KMeans模型对象,并指定类别数量
- 2.4 用样本数据训练模型
- 2.5 用训练好的模型生成预测结果
- 2.6 输出预测结果
- 2.7 可视化预测结果
- 3. 实战小结
1. K均值聚类算法概述
- K均值聚类算法是一种迭代的、基于中心的聚类方法,将数据点划分为K个簇。算法通过随机选择初始中心点,然后迭代地分配数据点到最近的簇中心,并更新簇中心为簇内所有点的均值,直到收敛或达到最大迭代次数。它简单、高效,适用于大规模数据集。
2. k均值聚类算法演示
2.1 准备工作
下面的代码导入数据处理和绘图库,设置绘图样式为seaborn-v0_8,格式化NumPy数组输出。

下面两行代码是Python中使用scikit-learn库进行聚类分析的准备工作:
-
from sklearn.cluster import KMeans:这行代码从sklearn.cluster模块中导入KMeans类。KMeans是一种常用的聚类算法,用于将数据点分组成K个簇,使得簇内的点尽可能相似,簇间的点尽可能不同。 -
from sklearn.datasets import make_blobs:这行代码从sklearn.datasets模块中导入make_blobs函数。make_blobs用于生成人造的聚类数据集,这些数据集由若干个“blobs”组成,每个“blob”是一个高密度的数据点集合,它们在特征空间中相对独立,适合用来测试和展示聚类技术的效果。
通常,这两行代码会用在数据分析或机器学习项目的开始阶段,为聚类任务做准备。

-
什么是blobs?在机器学习和数据科学领域,“blobs” 这个词通常用来描述一种特定类型的数据集,这种数据集由聚类算法生成,用于测试和展示聚类技术的效果。“Blobs” 数据集包含若干个 “blob”,每个 “blob” 是一个高密度的数据点集合,它们在特征空间中相对独立。
-
高斯分布:每个 “blob” 通常由高斯(正态)分布生成,这意味着数据点围绕中心点呈钟形分布。
-
分离性:不同的 “blobs” 之间相对分离,这使得它们容易被聚类算法识别和分开。
-
维度:“Blobs” 数据集可以是二维的,用于可视化,也可以是更高维度的,用于更复杂的分析。
2.2 生成聚类用的样本数据集

2.3 初始化KMeans模型对象,并指定类别数量

2.4 用样本数据训练模型

2.5 用训练好的模型生成预测结果

2.6 输出预测结果

2.7 可视化预测结果

一旦训练了如 KMeans之类的算法,它就可以预测新样本 ( 之前未见过的样本 ) 所属的类别。假设我们在描述银行潜在债务人和实际债务人的特征数据集上训练这种算法,它可以通过生成两个类别来了解潜在债务人的信誉度,将新的潜在债务人归类为两个类别之一:“信誉良好”与“信誉不佳”。
3. 实战小结
通过本次实战,我们深入理解并应用了K均值聚类算法,这是一种广泛应用于数据科学领域的无监督学习方法。我们首先导入了必要的库,包括数据处理的NumPy、数据分析的Pandas以及数据可视化的Matplotlib,并设置了绘图样式以提升图表美观度。接着,我们利用make_blobs函数生成了模拟数据,为聚类分析提供了基础数据集。
在初始化KMeans模型时,我们指定了类别数量,这在实际应用中需要根据数据特性和业务需求来确定。通过训练模型并生成预测结果,我们成功地将数据点划分为不同的簇。最后,通过可视化预测结果,我们直观地展示了聚类效果,进一步验证了模型的准确性。
此外,我们还探讨了"blobs"的概念,即由聚类算法生成的高密度数据点集合,它们在特征空间中的相对独立性为聚类算法提供了理想的测试环境。通过本次实战,我们不仅掌握了K均值聚类算法的实现流程,还学会了如何通过数据可视化来评估聚类效果,为解决实际问题打下了坚实基础。
相关文章:
初试无监督学习 - K均值聚类算法
文章目录 1. K均值聚类算法概述2. k均值聚类算法演示2.1 准备工作2.2 生成聚类用的样本数据集2.3 初始化KMeans模型对象,并指定类别数量2.4 用样本数据训练模型2.5 用训练好的模型生成预测结果2.6 输出预测结果2.7 可视化预测结果 3. 实战小结 1. K均值聚类算法概述…...
捉虫笔记(七)-再探谁把系统卡住了
捉虫笔记(七)-再探谁把系统卡住 1、内核调试 在实体物理机上,内核调试的第一个门槛就是如何建立调试链接。 这里我选择的建立网络连接进行内核调试。 至于如何建立网络连接后续文章再和大家分享。 2、如何分析 在上一篇文章中,我们…...
【Linux课程学习】:《简易版shell实现和原理》 《哪些命令可以让子进程执行,哪些命令让shell执行(内键命令)?为什么?》
🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 打印命令行提示符(PrintCommandLin…...
2024年11月27日Github流行趋势
项目名称:screenshot-to-code 项目维护者:abi clean99 sweep-ai kachbit vagusX项目介绍:通过上传截图将其转换为整洁的代码(支持HTML/Tailwind/React/Vue)。项目star数:62,429项目fork数:7,614…...
Java中的线程池使用详解
文章目录 Java中的线程池使用详解一、引言二、线程池的创建与使用1、线程池的创建1.1、FixedThreadPool(固定大小线程池)1.2、CachedThreadPool(可缓存线程池)1.3、SingleThreadExecutor(单线程化线程池)1.…...
Redis(概念、IO模型、多路选择算法、安装和启停)
一、概念 关系型数据库是典型的行存储数据库,存在的问题是,按行存储的数据在物理层面占用的是连续存储空间,不适合海量数据存储。 Redis在生产中使用的最多的是用作数据缓存。 服务器先在缓存中查询数据,查到则返回,…...
计算机网络 第4章 网络层
计算机网络 (第八版)谢希仁 第 4 章 网络层4.2.2 IP地址**无分类编址CIDR**IP地址的特点 4.2.3 IP地址与MAC地址4.2.4 ARP 地址解析协议4.2.5 IP数据报的格式题目2:IP数据报分片与重组题目:计算IP数据报的首部校验和(不正确未改) …...
Java学习笔记--继承方法的重写介绍,重写方法的注意事项,方法重写的使用场景,super和this
目录 一,方法的重写 二,重写方法的注意事项 三,方法重写的使用场景 四,super和this 1.继承中构造方法的特点 2.super和this的具体使用 super的具体使用 this的具体使用 一,方法的重写 1.概述:子类中有一个和父类…...
高级java每日一道面试题-2024年11月27日-JVM篇-JVM的永久代中会发生垃圾回收么?
如果有遗漏,评论区告诉我进行补充 面试官: JVM的永久代中会发生垃圾回收么? 我回答: 在Java虚拟机(JVM)的历史版本中,确实存在一个称为“永久代”(Permanent Generation, 或者简称PermGen)的内存区域。永久代主要用…...
Spring Boot教程之十: 使用 Spring Boot 实现从数据库动态下拉列表
使用 Spring Boot 实现从数据库动态下拉列表 动态下拉列表(或依赖下拉列表)的概念令人兴奋,但编写起来却颇具挑战性。动态下拉列表意味着一个下拉列表中的值依赖于前一个下拉列表中选择的值。一个简单的例子是三个下拉框,分别显示…...
基于混合ABC和A*算法复现
基于混合ABC和A*算法复现 一、背景介绍二、算法原理(一)A*算法原理(二)人工蜂群算法原理(三)混合ABC和A*算法策略 三、代码实现(一)数据准备(二)关键函数实现…...
狂野飙车8+(Asphalt 8+) for Mac 赛车竞速游戏 安装教程
Mac分享吧 文章目录 狂野飙车8(Asphalt 8) for Mac 赛车竞速游戏软件 效果图展示一、狂野飙车8(Asphalt 8) 赛车竞速游戏 Mac电脑版——v2.1.11️⃣:下载软件2️⃣:安装软件2.1 左侧安装包拖入右侧文件夹中,等待安装完成,运行软件…...
网络技术-VRRP(虚拟路由冗余协议)部署介绍
一、VRRP的含义 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种高度可靠的路由器备用协议,用于在局域网内部提供路由器冗余。 其部署方式主要是通过多个路由器组成一个虚拟路由器组,通过协议选…...
C语言解决空瓶换水问题:高效算法与实现
标题:C语言解决空瓶换水问题:高效算法与实现 一、问题描述 在一个饮料促销活动中,你可以通过空瓶换水的方式免费获得更多的水:3个空瓶可以换1瓶水。喝完这瓶水后,空瓶会再次变为空瓶。假设你最初拥有一定数量的空瓶&a…...
day2全局注册
全局注册代码: //文件核心作用:导入App.vue,基于App.vue创建结构渲染index.htmlimport Vue from vue import App from ./App.vue //编写导入的代码,往代码的顶部编写(规范) import HmButton from ./components/Hm-But…...
鸿蒙多线程应用-taskPool
并发模型 并发模型是用来实现不同应用场景中并发任务的编程模型,常见的并发模型分为基于内存共享的并发模型和基于消息通信的并发模型。 Actor并发模型作为基于消息通信并发模型的典型代表,不需要开发者去面对锁带来的一系列复杂偶发的问题,同…...
【失败经验】将算法模型封装为安卓应用
背景:不懂安卓开发,希望能使用大模型编码完成安卓应用生成,调用算法模型进行预测。 模型准备: pip方案安装pcnn; 然后需要将pytorch训练完成的算法模型保存为torchscript模型,然后使用pcnn转换为ncnn的模…...
ABAP OOALV模板
自用模板,可能存在问题 一、主程序 *&---------------------------------------------------------------------* *& Report ZVIA_OO_ALV *&---------------------------------------------------------------------* REPORT ZVIA_OO_ALV.INCLUDE ZVI…...
YOLOv8-ultralytics-8.2.103部分代码阅读笔记-autobatch.py
autobatch.py ultralytics\utils\autobatch.py 目录 autobatch.py 1.所需的库和模块 2.def check_train_batch_size(model, imgsz640, ampTrue, batch-1): 3.def autobatch(model, imgsz640, fraction0.60, batch_sizeDEFAULT_CFG.batch): 1.所需的库和模块 # Ultraly…...
SycoTec 4060 ER-S德国高精密主轴电机如何支持模具的自动化加工?
SycoTec 4060 ER-S高速电主轴在模具自动化加工中的支持体现在以下几个关键方面: 1.高精度与稳定性:SycoTec 4060 ER-S锥面跳动小于1微米,确保了加工过程中的极高精度,这对于模具的复杂几何形状和严格公差要求至关重要。高精度加工…...
雷电模拟器安卓7+抓包失败原因与Burp证书配置方案
1. 为什么在雷电模拟器上装Burp证书会反复失败?你是不是也遇到过这种情况:在雷电模拟器里打开App,Burp Suite明明开着代理、手机网络也设好了,可就是抓不到任何HTTPS流量?App要么直接报错“网络异常”,要么…...
DeepSeek LeetCode 2617. 网格图中最少访问的格子数 Java实现
以下是 LeetCode 2617「网格图中最少访问的格子数」的 Java 实现,采用 BFS TreeSet 优化,保证每个格子只被访问一次,时间复杂度 O(mn log(mn))。java class Solution {public int minimumVisitedCells(int[][] grid) {int m grid.length, n…...
安卓高版本APP抓包失败原因与BurpSuite+雷电模拟器9实战绕过指南
1. 为什么高版本安卓APP抓包变得像拆弹——从Android 7到12的证书信任机制演进你有没有试过把BurpSuite的CA证书拖进雷电模拟器9里,双击安装,弹出“已安装但无法启用”的提示?或者App一启动就报“网络连接异常”,连登录页都打不开…...
卖电子元器件怎么找客户?下游工厂在哪里
卖电子元器件找客户,本质是找用这些元器件的下游工厂——即需要采购连接器、继电器、电容、电阻、变压器等被动及结构件的整机或 PCBA 生产企业。核心难点不是"不知道哪些行业用",而是无法把这些下游工厂的名单、规模和采购联系人系统地整理出…...
告别黑屏!手把手教你为OpenEuler 22.03 LTS配置漂亮的XFCE桌面(附LightDM背景修复)
告别黑屏!手把手教你为OpenEuler 22.03 LTS配置漂亮的XFCE桌面(附LightDM背景修复)第一次在OpenEuler上看到XFCE桌面时,那种"服务器变工作站"的惊喜感至今难忘。但默认安装后的黑屏登录界面和简陋的桌面环境,…...
跟着 MDN 学CSS day_13 :(深入理解CSS中的元素尺寸调整)
在网页布局的世界里,尺寸控制是一切视觉呈现的基础。一个元素到底应该占据多大的空间,是由内容决定还是由我们手动设定,在不同的设备和视口下又该如何自适应,这些问题贯穿于每一个 CSS 开发者的日常工作。MDN 的"在 CSS 中调…...
智能体系统设计简明教程
曾经有一段时间,软件系统大多在等待。 它们等待请求,等待输入,等待工程师已经知道系统应该执行的操作序列而编写的明确指令。 即使是大规模分布式系统,在很大程度上也是在同一个假设下运行的。复杂性来自于规模、并发和协调——…...
免费获取Grammarly高级版Cookie:5分钟开启专业写作体验 ✨
免费获取Grammarly高级版Cookie:5分钟开启专业写作体验 ✨ 【免费下载链接】autosearch-grammarly-premium-cookie 免费白嫖使用Grammarly Premium高级版 项目地址: https://gitcode.com/gh_mirrors/au/autosearch-grammarly-premium-cookie 还在为Grammarly…...
[简化版 GAMES 101] 计算机图形学 10:反走样与深度缓冲核心解析
[简化版 GAMES 101] 计算机图形学 10:反走样与深度缓冲核心解析Bilibili 同步视频📝 课前小记:作业与学习指南🔄 上节回顾:光栅化的本质🧩 采样理论:走样从何而来?✂️ 反走样&#…...
Legacy iOS Kit:让旧款iPhone/iPad重获新生的终极指南
Legacy iOS Kit:让旧款iPhone/iPad重获新生的终极指南 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...
