【机器学习算法基础】(基础机器学习课程)-11-k-means-笔记

 

 

 

 

示例案例

为了更好地理解 K-Means 算法,下面通过一个简单的案例进行说明。

假设我们有以下 10 个二维数据点,表示不同商店的销售额(单位:千元)和顾客数(单位:人):

[(10, 100), (20, 80), (30, 70), (40, 60), (50, 50), (60, 40), (70, 30), (80, 20), (90, 10), (100, 5)]

我们希望将这些商店分成 2 个簇(K=2)。

  1. 选择 K 值:K=2。

  2. 初始化簇中心:随机选择两个初始簇中心。假设我们选择 (10, 100) 和 (100, 5)。

  3. 分配数据点

    • 计算每个数据点到 (10, 100) 和 (100, 5) 的距离。
    • 将每个数据点分配给最近的簇中心。
    • 例如,(10, 100) 距离 (10, 100) 为 0,距离 (100, 5) 为 126.49,所以它属于第一个簇。
  4. 更新簇中心

    • 计算每个簇的新中心。
    • 例如,假设第一个簇包含 (10, 100), (20, 80), (30, 70),新中心是这三个点的均值:(20, 83.33)。
  5. 重复分配数据点和更新簇中心

    • 不断重复上面的步骤,直到簇中心不再变化。

最终,我们可能得到如下两个簇:

  • 簇1:[(10, 100), (20, 80), (30, 70), (40, 60), (50, 50)]
  • 簇2:[(60, 40), (70, 30), (80, 20), (90, 10), (100, 5)]

每个簇中心分别为 (30, 72) 和 (80, 21)。

K-Means 的优点和缺点

优点

  • 简单且易于实现。
  • 计算速度快,适用于大规模数据集。
  • 聚类结果易于解释。

缺点

  • 需要事先指定簇的数量 K。
  • 对初始簇中心敏感,不同的初始值可能导致不同的结果。
  • 可能陷入局部最优解。
  • 仅适用于线性可分的数据,对复杂形状的簇效果不佳。

总结

K-Means 聚类算法通过迭代地分配数据点和更新簇中心,将数据集划分成 K 个簇。尽管有一些局限性,但由于其简单性和高效性,K-Means 广泛应用于各种聚类任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/391143.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见cms漏洞之dedecms

DedeCMS是织梦团队开发PHP 网站管理系统,它以简单、易用、高效为特色,组建出各种各样各具特色的网站,如地方门户、行业门户、政府及企事业站点等。 下载地址请网上自行寻找 搭建方式选择php study 首先搭建环境 #前台http://localhost/dedecm…

Java AI伪原创视频创作视频提取文案改写去水印系统小程序源码

🔥AI赋能创作新纪元!伪原创视频文案提取改写去水印全能系统大揭秘 🚀 开篇:创意无界,AI来助力 在这个视觉盛行的时代,视频创作成为了表达自我、传递信息的重要方式。但你是否曾为寻找灵感、撰写文案、处理…

sa-token登录机制以及网关统一鉴权环境搭建

文章目录 1.sa-token1.37集成(基于token)1.文档网址2.**sun-club-auth-application-controller引入依赖**3.application.yml4.sun-club-auth-application-controller测试的controller1.UserController.java2.启动测试1.登录,得到satoken2.验证…

【FPGA】cordic算法实现三角函数

参考资料:https://zhuanlan.zhihu.com/p/638520243https://zhuanlan.zhihu.com/p/638520243

Hadoop学习(三)

一、MapReduce框架原理 1.1InputFormat数据输入 MapTask并行度决定机制 1)数据块(HDFS存储数据单位),物理上把数据分成一块一块 2)数据切片(MapReduce程序计算输入数据的单位):只是在逻辑上…

Lanproxy开箱即用的内网穿透工服务!!

Lanproxy快速上手配置服务器转发到内网!! 本教程云服务器推荐使用的开发环境如下:服务器端配置配置端口登录Web界面 内网客户端配置下载客户端配置客户端端口 最终效果测试 本文主要记录了使用Lanproxy搭建内网穿透服务的过程,其中包括服务端和客户端的详…

CSP2019第二题: 公交换乘

CSP 2019 公交换乘 题目来源:牛客网 题目:* 示例1 输入 6 0 10 3 1 5 46 0 12 50 1 3 96 0 5 110 1 6 135输出 36题意: 根据输入,计算地铁花费不能用到优惠券的公交车的花费 知识点: 结构体 思路&#xff1…

谷粒商城实战笔记-vagrant避坑指南

文章目录 一,虚拟机磁盘空间不足问题原因解决方案 二,虚拟机导致C盘空间不足 一,虚拟机磁盘空间不足 使用vagrant管理虚拟机的过程中遇到了一个问题,虚拟机安装完成后,很快磁盘dev/sda1就满了,40G的空间&a…

Linux网络-小结

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络…

【Python】数据类型之字符串

本篇文章将继续讲解字符串其他功能: 1、求字符串长度 功能:len(str) ,该功能是求字符串str的长度。 代码演示: 2、通过索引获取字符串的字符。 功能:str[a] str为字符串,a为整型。该功能是获取字符…

Java语言程序设计——篇十一(4)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

嵌入式初学-C语言-练习三

#部分题目可能在之前的博客中有&#xff0c;请谅解&#xff0c;保证常见题型均被发出# 1.计算n以内所有正奇数的和 ? n值通过键盘输入 代码&#xff1a; 1 /*2 需求&#xff1a;计算n以内所有正奇数的和 ? n值通过键盘输入3 */4 #include <stdio.h>5 6 int main()7 …

HarmonyOS NEXT——奇妙的调用方式

注解调用一句话总结Extend抽取特定组件样式、事件&#xff0c;可以传递参数Style抽取公共样式、事件&#xff0c;不可以传递参数Builder抽取结构、样式、事件&#xff0c;可以传递参数BuilderParams自定义组件中传递UI组件多个BuilderParams自定义组件中传递多个UI组件 Extend…

【练习】使用DevEco Studio编写计数器案例

效果展示 默认状态 点击加号 点击减号 知识点 类型转换&#xff08;数字 和 字符串&#xff09; 字符串转数字 方法说明例子Number()字符串 直接转数字&#xff0c;转换失败返回NaN&#xff08;字符串包含非数字&#xff09; let str1: string 1.1 console.log(Number(str1)…

数论——线性同余方程、扩欧求解线性同余方程、线性组合、原根求解

线性同余方程 线性同余方程是形如 的方程&#xff0c;其中a 、b、m 为给定的整数&#xff0c;x 是未知整数。 扩欧求解线性同余方程 void mod_slover(int a, int b, int n) {int d, x, y, x0;d extend_gcd(a, n, x, y);if (b % d ! 0)cout << "no answer";…

Linux系统驱动(二)字符设备驱动

文章目录 一、ioctl函数&#xff08;一&#xff09;函数格式&#xff08;二&#xff09;ioctl命令码的组成1. 命令码的组成2. 自己封装命令码2. 内核提供了封装命令码的宏 &#xff08;三&#xff09;使用示例1. 驱动2. 应用 一、ioctl函数 Linux内核开发者想要将数据的读写和…

LabVIEW与CANopen实现自动化生产线的设备控制与数据采集

在某工厂的自动化生产线上&#xff0c;多个设备通过CANopen网络进行通信和控制。这些设备包括传感器、执行器和PLC&#xff0c;它们共同负责监测和控制生产过程中的关键参数&#xff0c;如温度、压力、速度等。为了实现对整个生产线的集中监控和管理&#xff0c;工厂决定使用La…

计算机毕业设计选题推荐-校园服务系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

小程序开发_02项目构成

一、项目的基本结构 二、小程序的页面组成部分 三、json配置文件 ① project.config.json文件 作用&#xff1a;项目的配置文件&#xff0c;用来记录对小程序开发工具所作的个性化配置 ② sitemap.json 作用&#xff1a;是否允许被微信引擎搜索,不希望被搜索dis ③ app.jso…

AI图文创作革命:10步快速掌握自动化内容生成技巧

1.背景 新媒体时代&#xff0c;内容变得非常容易传播&#xff0c;主题及内容的质量直接影响访问量&#xff0c;如果按传统方式写一篇好的文章及配图&#xff0c;至少2天。 Ai 既然有海量的数据&#xff0c;且能够自动生成图文&#xff0c;我们需要给作者提供一个工具&#xff…