当前位置: 首页 > news >正文

【人工智能-初级】第7章 聚类算法K-Means:理论讲解与代码示例

文章目录

    • 一、K-Means聚类简介
    • 二、K-Means 聚类的工作原理
      • 2.1 初始化簇中心
      • 2.2 分配簇标签
      • 2.3 更新簇中心
      • 2.4 迭代重复
      • 2.5 K-Means 算法的目标
    • 三、K-Means 聚类的优缺点
      • 3.1 优点
      • 3.2 缺点
    • 四、K 值的选择
    • 五、Python 实现 K-Means 聚类
      • 5.1 导入必要的库
      • 5.2 生成数据集并进行可视化
      • 5.3 创建 K-Means 聚类模型并进行训练
      • 5.4 可视化聚类结果
      • 5.5 选择最佳 K 值——肘部法则
      • 5.6 使用轮廓系数评估聚类质量
    • 六、总结
      • 6.1 学习要点
      • 6.2 练习题

一、K-Means聚类简介

K-Means 是一种广泛使用的无监督学习算法,主要用于数据聚类任务。它的目标是将数据集中的样本分为多个簇(Cluster),使得每个簇内的样本尽可能相似,而不同簇之间的样本尽可能不同。K-Means 非常适合探索性数据分析,可以帮助我们发现数据中的隐藏模式。

在 K-Means 中,“K” 表示预先设定的簇的数量,算法的目标是最小化各样本到其所属簇中心的距离之和。K-Means 算法被广泛用于客户分类、图像分割、市场分析等领域。

二、K-Means 聚类的工作原理

K-Means 算法的基本思想是通过迭代地更新簇中心和样本的簇分配,找到使得簇内样本相似度最大、簇间样本相似度最小的分组方案。具体地,K-Means 聚类的工作过程可以分为以下几个步骤:

2.1 初始化簇中心

首先随机选择 K 个数据点作为初始簇中心(Centroids),这些中心点将作为初始的簇的代表。

2.2 分配簇标签

对于每个数据点,计算它到所有簇中心的距离(通常使用欧氏距离),并将其分配给最近的簇中心。

相关文章:

【人工智能-初级】第7章 聚类算法K-Means:理论讲解与代码示例

文章目录 一、K-Means聚类简介二、K-Means 聚类的工作原理2.1 初始化簇中心2.2 分配簇标签2.3 更新簇中心2.4 迭代重复2.5 K-Means 算法的目标三、K-Means 聚类的优缺点3.1 优点3.2 缺点四、K 值的选择五、Python 实现 K-Means 聚类5.1 导入必要的库5.2 生成数据集并进行可视化…...

HOT 100 技巧题(136/169/75/31/287)

136. 只出现一次的数字 技巧类型题目,通过异或运算实现 169. 多数元素 三种常见解法:1. 哈希2. 排序3. 投票法 75. 颜色分类 单指针 两次遍历:第一次遍历把所有0都交换到前面,记录最后一个0的位置index,第二次遍…...

什么是时间戳?怎么获取?有什么用?

在 JavaScript 中,时间戳通常表示为自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。我们可以使用 Date 对象来获取当前时间的时间戳,或者将特定的日期转换为时间戳。在JavaScript中,时间戳通常以毫秒为单位表示。 如何获取时间戳 在Java…...

LeetCode:459重复的子字符串

给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。示例 2: 输入: s "aba" 输出: false示例 3: 输入: s "abcabcabcabc" 输…...

【含开题报告+文档+PPT+源码】基于SSM的旅游与自然保护平台开发与实现

开题报告 围场县拥有丰富的自然景观和野生动植物资源,同时面临着旅游业发展和自然保护之间的平衡问题,通过强调自然保护,这个平台可以教育游客如何尊重和保护当地的生态环境。同时,平台还可以提供关于生态保护的信息,…...

【ANTs】医疗影像工具ANTs多种安装方式教程

介绍ANTs的几种简单的安装教程 基于Releases的安装 Github上选择适配自己操作系统的安装包,链接: link 一般使用最新版本。这里官方操作说明,支持Ubuntu、MacOS、CentOS,但是windows有安装包,不知道怎么用。。。 下载后有两个文件夹,bin和lib,bin里面长这样(图示wind…...

想要音频里的人声,怎么把音频里的人声和音乐分开?

在音频处理领域,将音频中的人声和音乐分开是一个常见需求,尤其对于音乐制作、影视后期以及个人娱乐应用来说,这种分离技术显得尤为重要。随着科技的发展,现在已经有多种方法可以实现这一目的。 一、使用专业音频处理软件 市面上有…...

python代码中通过pymobiledevice3访问iOS沙盒目录获取app日志

【背景】 在进行业务操作过程中,即在app上的一些操作,在日志中会有对应的节点,例如,下面是查看设备实时视频过程对应的一些关键节点: 1、TxDeviceAwakeLogicHelper:wakeStart deviceId CxD2BA11000xxxx …...

Spring AOP 使用方法总结

AOP切面编程的最佳应用场景 记录日志性能监控事务管理处理异常数据验证,验证传入参数的正确性(一般不用这个方法做,而是用拦截器) spring提供了以下注解供开发者使用,编写AOP程序 Aspect 申明切面Pointcut 切点&#…...

LeetCode 每日一题 2024/10/21-2024/10/27

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 10/21 910. 最小差值 II10/22 3184. 构成整天的下标对数目 I10/23 3185. 构成整天的下标对数目 II10/24 3175. 找到连续赢 K 场比赛的第一位玩家10/25 3180. 执行操作可获得…...

不到1500元的I卡可以玩转3A大作吗?撼与科技Intel Arc A750显卡游戏性能实

一、前言 还记得2022年10月的时候,英特尔发布了Arc A750和A770显卡,和此前所发布的DG1、A380不同,这两张显卡可以说是真正意义上的游戏显卡。不知不觉间,两年已经过去了,在这两年期间,英特尔不仅在积极地打…...

STK与MATLAB互联——仿真导航卫星与地面用户间距离和仰角参数

文章目录 构建GPS星座创建单个PRN的GPS卫星创建GPS星座,并为其添加发射机 北斗星座构建搭建低轨铱星星座构建一颗轨道高度为800km/1000km/1200km的低轨卫星构建一颗轨道高度为800km/1000km/1200km的低轨卫星建立地面站,可见性分析确定地面站坐标分析单颗…...

js面试问题笔记(一)

一.热门js面试 1.简述同步和异步的区别? 同步: 浏览器访问服务器请求,用户看到页面刷新 ,重新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下一步操作 异步: 浏览器访问服务器请求,用户正常操作,浏览器后端进行请求,等请求完,页面不刷新,新内容也会出现,用户看到…...

pip 和 pipx 的主要区别?

特性pippipx用途用于安装Python库或命令行应用程序,可以安装带entry points的库专门用于安装和管理Python命令行工具,每个工具都在隔离的虚拟环境中运行虚拟环境不自动创建虚拟环境,需要手动使用 venv 或 virtualenv 创建自动为每个安装的工具…...

4457M数字示波器

_XLT新利通_ 4457M数字示波器 带宽500MHz到3GHz 4457M系列数字示波器产品,包含4457DM/EM/FM/GM四个产品型号,模拟通道数4、8个,带宽500MHz到3GHz,最高采样率10GSa/s,垂直分辨率8bit,最大存储深度2Gpts。…...

【永中软件-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...

Tomcat作为web的优缺点

文章目录 优点缺点 优点 开源:Tomcat是Apache软件基金会的一个项目,这意味着它是免费且开放源代码的。这为开发者提供了高度的自由度来修改和扩展其功能。 轻量级:与一些全功能的Java EE应用服务器(如IBM WebSphere, Oracle WebL…...

conda虚拟环境中安装cuda方法、遇到的问题

conda虚拟环境中安装cuda方法、遇到的问题 文章目录 conda虚拟环境中安装cuda方法、遇到的问题conda虚拟环境中安装cudacuda.h和cuda_runtime.hpytorch运行时的CUDA版本其他问题检查包冲突nvcc -V和nvidia-smi显示的版本不一致cuda路径 conda虚拟环境中安装cuda 参考文章&…...

【CPN TOOLS建模学习】设置变迁的属性

使用Tab键在属性之间进行切换 与一个变迁相关联的四个铭文,均为可选项: 变迁名称守卫(Guard)时间代码段 变迁延迟必须是一个正整数表达式。该表达式前面加上,这意味着时间铭文的形式为 delayexpr。在添加时间铭文之前,铭文的默…...

一个简单的例子,说明Matrix类的妙用

在Android、前端或者别的平台的软件开发中,有时会遇到类似如下需求: 将某个图片显示到指定的区域;要求不改变图片本身的宽高比,进行缩放;要求最大限度的居中填充到显示区域。 以下示意图可以简单描绘该需求 以Androi…...

【C++】类和对象(四):析构函数

大家好,我是苏貝,本篇博客带大家了解C的析构函数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1. 概念2. 特性 1. 概念 通过前面构造函数的学习,我们知道一个对象是怎么来的…...

linux中各目录作用及介绍

目录 1 /usr 1 /usr /usr 是 Unix-like 操作系统中的一个重要目录之一,代表可共享的用户资源(User System Resources)或 Unix Software Resource(UNIX 软件资源)。 /usr 目录通常包含了系统的许多可共享资源&#xf…...

v4.7版本使用线下付款方式不给管理员发送新订单通知问题修复

在app/api/controller/v1/order/StoreOrderController.php文件中,将红框内的代码注释,加上绿框的代码即可修复 if ($this->services->setOrderTypePayOffline($order[order_id])) {event(NoticeListener, [$order, admin_pay_success_code]);retur…...

vue3中mitt和pinia的区别和主要用途,是否有可重合的部分?

在 Vue 中,Mitt 和 Pinia 是两个不同的工具,它们的主要用途和功能有所不同,但在某些方面也存在重合的部分。 区别 Mitt: Mitt 是一个简单而强大的事件总线库,用于在组件之间进行事件的发布和订阅。 它提供了一种简洁…...

飞书文档解除复制限制

解除飞书文档没有编辑器权限限制复制功能方法 方法一:使用插件 方法二: 通过调试工具删除所有的copy事件 使用插件 缺点: 只有markdown格式,如果需要其他格式需要再通过Typora等markdown编辑器转pdf,word等格式 安装插件 Cloud Do…...

vue3中ref和reactive的用法,区别和优缺点,以及使用场景

写在前头: reactive定义的数据只能修改里面的属性,不能将整个数据替换,实在要替换请使用 Object.assign(obj1, obj2);举个例子 这种写法无法直接改变obj1 let obj1 reactive({name: 猫,age: 2, });obj1 {name: 猪,age: 2, } 正确的写法…...

电脑技巧:Rufus——最佳USB启动盘制作工具指南

目录 一、功能强大,兼容性广泛 二、界面友好,操作简便 三、快速高效,高度可定制 四、安全可靠,社区活跃 在日常的电脑使用中,无论是为了安装操作系统、修复系统故障还是进行其他需要可引导媒体的任务,拥…...

vue的基本使用

简介 vue组件 三个部分组成:结构、样式、逻辑文本插值 类似于java的spel表达式属性绑定 綁定是单向绑定的,修改输入框无法改变原本的,只能读,不能写 <input :value="name" placeholder="Type your name"><script> export default {name: H…...

C#高级:利用 CancellationToken 实现方法超时控制,提升应用响应性

完整版&#xff1a; using System; using System.Threading; using System.Threading.Tasks;public class Program {public static async Task Main(){var cts new CancellationTokenSource();// 设置超时时间为10秒cts.CancelAfter(TimeSpan.FromSeconds(3));try{var resul…...

Java Lock LockSupport 总结

前言 相关系列 《Java & Lock & 目录》&#xff08;持续更新&#xff09;《Java & Lock & LockSupport & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Java & Lock & LockSupport & 总结》&#xff08;学习总结/最新…...

做网站需要哪些步骤/百度网盘电脑版下载

2019独角兽企业重金招聘Python工程师标准>>> linux系统查看所有服务的命令 以前用过这么命令运行后可以在linux系统查看所有服务的命令是什么&#xff0c;有一个文本菜单&#xff0c;可以很方面的选择启动或者停止服务&#xff0c;诸如ftp, ssh, telnet之类的但是我…...

重庆怎么做网站?/b站推广入口

Oracle 常用初始化命令--创建一个表空间CREATE TABLESPACE MYSPACE DATAFILE D:/MYSPACE.DBF SIZE 10M AUTOEXTEND ON--指定某个用户的默认的表空间是MYSPACEALTER USER SYSTEM IDENTIFIED BY NIIT DEFAULT TABLESPACE MYSPACE QUOTA UNLIMITED ON MYSPACECOMMIT--删除表空间DR…...

网站可以做话筒台标吗/网络广告联盟

在上一篇《用于修改配置的存储过程 | 全方位认识 sys 系统库》中&#xff0c;我们介绍了sys 系统库中用于修改配置的存储过程&#xff0c;利用这些存储过程可以代替修改performance_schema配置表的DML语句等操作&#xff0c;本期的内容讲介绍用于查看performance_schema配置信息…...

app界面设计欣赏网站/推广普通话绘画

The information in this article applies to:- Microsoft SQL Server 7.0,2000数据库日志文件丢失时的恢复步骤Revision History:VersionDateCreatorDescription1.0.0.12003-3-25郑昀草稿 Implementation Scope&#xff1a;本文是用于向Microsoft SQL Server维护人员描述我误删…...

四川住房和城乡建设九大员网站/宁德市人社局

小学语文“三学小组”模式口语交际课型教学流程及基本要求一、教学流程小学语文口语交际课“三学小组”模式&#xff0c;即每一个口语交际的学习有三个阶段&#xff1a;预学、互学、评学。预学有“了解话题、体验情境”两个学习环节&#xff1b;互学有“研究话题、展示交际”两…...

网站建设中 很快回来/双11各大电商平台销售数据

工作中常会用到数据分析&#xff0c;可能是月数据分析&#xff0c;也可能是年&#xff0c;因为从事的岗位是运营&#xff0c;所以运营少不了都会汇总数据&#xff0c;然后通过数据分析&#xff0c;得出结论&#xff0c;再根据结论思考运营的新方向。所以几乎每日&#xff0c;每…...