机器学习基础之《回归与聚类算法(7)—无监督学习K-means算法》

一、什么是无监督学习

1、没有目标值—无监督学习
一家广告平台需要根据相似的人口学特征和购买习惯将美国人口分成不同的小组,以便不同的用户采取不同的营销策略。
Airbnb需要将自己的房屋清单分组成不同的社区,以便用户能更轻松地查阅这些清单(对房屋进行分类)。
一个数据科学团队需要降低一个大型数据集的维度的数量,以便简化建模和降低文件大小(比如PCA降维)。

二、无监督学习包含算法

1、聚类
K-means(K均值聚类)

2、降维
PCA

三、K-means原理

1、K-means的聚类效果图
一开始拿到的数据是这样的

要把它分成三个堆:

2、K-means聚类步骤
(1)随机设置K个特征空间内的点作为初始的聚类中心
K值:超参数

K值如何确定?
1)根据需求,比如公司要求把客户分成三个类别,那么K值就取3
2)如果没有需求,可以做网格搜索,调节超参数,选择最合适的K值

PS:超参数是指在训练模型之前需要手动设置的参数。用户可以自己设定的参数,就叫超参数。

第一步就是随机找到3个点作为初始聚类中心

(2)对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别
计算每个点到聚类中心的距离,取距离最近的那个把它颜色标记成一样的颜色

(3)接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值)
对每个堆重新求一个中心点,得到新的3个聚类中心

(4)如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行第二步过程
定标准的时候如果只是相近,没有完全重合,我们也可以终止聚类

3、KNN和K-means的区别
一个是预测的样本计算和每个样本的距离,然后根据每个样本的分类选择合适的K,来预测要预测的样本的类别。
这个是选择合适的K个样本。然后计算n-K的样本到这个K个样本的距离,近的就归哪个。
虽然都是物以群分。但是,一个是有目标值,一个没有。

4、3个堆的中心点怎么求
A(a1, b1, c1)
B(a2, b2, c2)
...
Z(a26, b26, c26)

比如有A到Z个样本,分别有a、b、c特征值

中心点的坐标,中心点(a平均, b平均, c平均)

四、K-means API

1、sklearn.cluster.KMeans(n_clusters=8, init='k-means++')
k-means聚类
n_clusters:开始的聚类中心数量(K值有几个)
init:初始化方法,默认为'k-means++'(对k-means的优化方法)
labels_:默认标记的类型,可以和真实值比较(不是值比较)。用完之后用点属性查看

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

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

相关文章

【PyTorch教程】如何使用PyTorch分布式并行模块DistributedDataParallel(DDP)进行多卡训练

本期目录 1. 导入核心库2. 初始化分布式进程组3. 包装模型4. 分发输入数据5. 保存模型参数6. 运行分布式训练7. DDP完整训练代码 本章的重点是学习如何使用 PyTorch 中的 Distributed Data Parallel (DDP) 库进行高效的分布式并行训练。以提高模型的训练速度。 1. 导入核心库 D…

基于SSM的OA办公管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

Oracle数据库、实例、用户、表空间和表之间的关系

一、Oracle数据库中数据库、实例、用户、表空间和表(索引、视图、存储过程、函数、对象等对象)之间的关系。 1、Oracle的数据库是由一些物理文件组成:数据文件控制文件重做日志文件归档日志文件参数文件报警和跟踪日志文件备份文件。 2、实…

MHA:故障切换

MHA: masterhight availabulity:基于主库的高可用环境下:主从复制 故障切换 主从的架构。 MHA:最少要一主两从 mysql的单点故障问题,一旦主库崩溃,MHA可以在0-30秒内自动完成故障切换。 工作原理&#…

上机实验四 图的最小生成树算法设计 西安石油大学数据结构

实验名称:图的最小生成树算法设计 (1)实验目的: 掌握最小生成树算法,利用kruskal算法求解最小生成树。 (2)主要内容: 利用kruskal算法求一个图的最小生成树,设计Krus…

社区论坛小程序系统源码+自定义设置+活动奖励 自带流量主 带完整的搭建教程

大家好啊,又到了罗峰来给大家分享好用的源码的时间了。今天罗峰要给大家分享的是一款社区论坛小程序系统。社区论坛已经成为人们交流、学习、分享的重要平台。然而,传统的社区论坛往往功能单一、缺乏个性化设置,无法满足用户多样化的需求。而…

「Verilog学习笔记」优先编码器Ⅰ

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 分析编码器的功能表: 当使能El1时,编码器工作:而当E10时,禁止编码器工作,此时不论8个输入端为何种状态&…

【rl-agents代码学习】02——DQN算法

文章目录 Highway-env Intersectionrl-agents之DQN*Implemented variants*:*References*:Query agent for actions sequence探索策略神经网络实现小结1 Record the experienceReplaybuffercompute_bellman_residualstep_optimizerupdate_target_network小结2 exploration_polic…

【吐血总结】前端开发:一文带你精通Vue.js前端框架(七)

文章目录 前言1️⃣事件处理器2️⃣表单3️⃣总结 前言 上一篇中我们学习了vue.js 的条件语句、循环语句等知识点.,现在让我们接着Vue系列的学习。 Vue中事件处理器、表单等在开发中的作用不可或缺,本文将基于实例进行以上知识点的讲解。 1️⃣事件处理器…

交换机堆叠 配置(H3C)

堆叠用来干什么? 一台交换机网口有限,无法满足网络需求; 无法达到网络要求,为了扩展核心设备的转发要求,不改变原来网络, 可以使用新交换机和原来交换机组成IRF。 配合聚合可以达到备用作用,防…

爆款元服务!教你如何设计高使用率卡片

元服务的概念相信大家已经在 HDC 2023 上有了很详细的了解,更轻便的开发方式,让开发者跃跃欲试。目前也已经有很多开发者开发出了一些爆款元服务,那么如何让你的元服务拥有更高的传播范围、更高的用户使用率和更多的用户触点呢?设…

Java实现音频转码,WAV、MP3、AMR互转

1.背景 最近在集成一款产品支持语音双向对讲,首先是采集小程序的音频下发给设备端,然后可以控制设备录音生成音频链路让小程序播放。在这个过程中发现,设备除了AMR格式的音频外,其他的音频都不支持,而微信小程序有不支…