机器学习之聚类学习

news2024/11/20 6:32:22

聚类算法

  • 概念

    • 根据样本之间相似性,将样本划分到不同类别种,不同相似度计算方法,会得到不同聚类结果,常用相似度计算方法为:欧氏距离

    • 目的是在没有先验知识情况下,自动发现数据集种内在结构和模式

    • 无监督学习算法

  • API

    sklearn.cluster.KMeans(n_clusters=8)

    • 参数:n_clusters:开始聚类中序数量

      • 整型状,缺省值=8,生成聚类数,即产生质心(centroids)数

    • 方法

      • estimator.fit(x)

      • estimator.predict(x)

      • estimator.fit_predict(x)

        计算聚类中心并预测每个样本属于哪个类别,相当于先调用fit(x,在调用predict(x)

  • KMeans算法实现流程

    • 先确定一个常数k,该常数意味最终聚类类别数

    • 随机选择k个样本作为初始聚类中心

    • 计算每个样本到k个中心聚类,选择最近聚类中心作为标记类别

    • 根据每个类别样本点,重新计算出新聚类中心点(平均值),若计算出的新中心与原中心点重叠,则停止聚类,否重新进行第2步过程,直到聚类中心不再变化

  • 评估指标

    • SSE(误差平方和)

      SSE越小,表示数据点越接近它们中心,聚类效果越好

      • "肘"方法(Elbow method) - k值确定

        "肘" 方法通过SSE确定n_clusters值

      • 对于n个数据集,迭代计算k from i to n,每次聚类完成后计算SSE

      • SSE是会逐渐变小,因为每个点都是它所在的簇中心本身

      • SSE变化过程中出现一个拐点,下降率突然变缓时即人为是最佳n_clusters值

      • 在决定什么时候停止训练时,肘形判断同样有效,数据通常有更多噪音,在增加分类无法带来更多汇报时,即停止增加类别

      • SC (轮廓系数法)

        轮廓系数法考虑簇内的内聚程度(Cohesion),簇外的分离程度(Separation)

        • 计算过程

          • 对计算每一个样本i到同簇内其他样本平均距离ai,该值越小,说明簇内相似程度越大

          • 计算每一个样本i最近簇j内所有样本平均距离bij,该值越大,说明该样本越不属于其他簇j

          • 根据下方公式计算该样本轮廓系数

          • 计算所有样本平均轮廓系数

          • 轮廓系数范围:[-1,1],SC值越大聚类效果越好

      • CH (聚类效果评估-CH轮廓系数法)

        CH系数考虑簇内的内聚程度、簇外的离散程度、质心的个数

        • 类别內部数据距离平方和越小越好,类别之间距离平方和越大越好。聚类种类数越少越好

    • 简写:

      • 误差平方和SSE

        • 误差平方和值越小越好

        • 主要考量:簇内聚程度

      • 肘部法

        • 下降率突然变缓时即认为是最佳的k值

      • SC系数

        • 取值为[-1,1],其值越大越好

        • 主要考量:簇内聚程度、簇间分离程度

      • CH系数

        • 分数s高则聚类效果越好

        • CH达到的目的:用尽量少类别聚类尽量多的样本,同时获得较好的聚类效果

        • 主要考量:簇内聚程度、簇间分离程度、质心个数

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

撤销最近一次的提交,使用git revert 和 git reset的区别

文章目录 工作区 暂存区 本地仓库 远程仓库需求:已推送到远程仓库,想要撤销操作git revert (添加新的提交来“反做”之前的更改,云端会残留上次的提交记录)git reset(相当于覆盖上次的提交)1.--…

Visual Studio 智能代码插件:CodeGeeX

前言 在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键。 随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具。其中,CodeGeeX作为一款专为Visual Studio设计的免费智能编程助手,凭借其强大…

初识 BPF:从 Hello World 开始的内核编程之旅

Part 1 概述 1. 背景 BPF 技术被列为近些年 Linux 内核领域最火热的新领域之一。它成功的给 Linux 内核赋予了少量的动态可编程性,可以在 Linux 内核运行时,实时修改内核的行为,但不需要重新编译和重启内核。据此,BPF 在 Linux …

java面试(多线程)

线程和进程的区别 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘,网络等设备。进程就是用来加载指令,管理内存,管…

鲲鹏迁移——DevKit

参考文档 鲲鹏DevKit开发套件下载-鲲鹏社区鲲鹏社区是面向鲲鹏合作伙伴、开发者的全产业社区,集学习、实验、认证等功能为一体,是鲲鹏计算产业的官方社区。https://www.hikunpeng.com/developer/devkit/download 鲲鹏社区-官网丨凝心聚力 共创行业新价…

记录一次开源 MaxKey 安装部署

官方文档:https://www.maxkey.top/doc/docs/intro/ 开源代码:https://toscode.mulanos.cn/dromara/MaxKey 发行版:https://toscode.mulanos.cn/dromara/MaxKey/releases 一、准备工作 yum install -y yum-utils yum-config-manager --add-r…

CSS 之 自定义属性(变量)

一、简介 ​ CSS的自定义属性,又称为CSS变量或级联变量,用于定义一个带有值的、可重复使用的CSS属性(变量)。其包含的值可以在其作用域内的任意属性上重复使用,在使用时需要借助var()函数获取自定义属性的值。当自定义…

text-embedding 嵌入模型

为什么使用embedding 计算机只能处理数字,但我们希望它能够理解文字、图片或其他形式的数据。这就是embedding的作用。它将这些复杂的数据转换成数字表示,就像给它们贴上了标签一样。这些数字表示不仅保留了原始数据的重要信息,还能在计算机…

短视频商城全套源码:开启电商新纪元

随着数字媒体的快速发展,短视频平台已经成为人们获取信息、娱乐和社交的重要渠道。在这样一个大背景下,短视频商城的兴起,无疑为电商行业带来了新的机遇和挑战。本文将探讨短视频商城全套源码的重要性,以及它如何助力商家和开发者…

Vulnhub - AI-WEB-1.0靶机教程

目录 站点信息收集 c段扫描 端口扫描 目录扫描 漏洞利用 使用 burp 抓包 查询数据库名 查询数据库下的表 查询表中的字段名 查询字段中的数据 --os-shell 上传一句话木马 下载地址:https://download.vulnhub.com/aiweb/AI-Web-1.0.7z 我们从站点信息收…

2024年区块链,物联网与信息技术国际会议(ICBITIT 2024)

2024年区块链,物联网与信息技术国际会议(ICBITIT 2024) 2024 International Conference on Blockchain, Internet of Things, and Information Technology 会议简介: 2024年区块链,物联网与信息技术国际会议&#xff…

【调试笔记-20240528-Linux-用 OpenWrt-23.05 SDK 编译 frp 软件包】

调试笔记-系列文章目录 调试笔记-20240528-Linux-用 OpenWrt-23.05 SDK 编译 frp 软件包 文章目录 调试笔记-系列文章目录调试笔记-20240528-Linux-用 OpenWrt-23.05 SDK 编译 frp 软件包 前言一、调试环境操作系统:Ubuntu 22.04.4 LTS编译环境调试目标 二、调试步…

java函数编程-黑马学习笔记

第一章 01合格的函数 函数就是一个规则 合格的函数就是只要你输入相同,无论多少次调用,不论什么时间调用,输出是相同的。 函数可以引用外部的数据,但是需要去保证外部的数据不可变 static关键字修饰的静态方法本质上和函数没…

TCP 与 UDP

0. tcp 与 udp 的 异同特性 TCPUDPname传输控制协议用户数据报协议面向连接? 需要 传输数据前建立连接传输完毕后断开连接不需要可靠的传输数据? 可靠 有确认机制(三次握手) 有确认、窗口、重传、拥塞控制的机制保证数据可靠传输…

10Django项目--用户管理系统--改

对应视频链接点击直达 10Django项目--用户管理系统--改 对应视频链接点击直达改a,本质b,修改(更新) 页面相关a,index页面新增操作按钮b,修改(更新)页面c,路由和函数 OVER,不会有人不会吧不会的加Q139400651…

项目9-网页聊天室3(主界面之用户信息)

1.前端页面 CSS: 如何让img里的图片自适应div,且不变形_img自适应div大小 铺满且不变形-CSDN博客 JavaScript/jQuery 如何改变一个img元素的src属性|极客教程 (geek-docs.com) 2.要求 左上角显示用户的昵称和头像. 3.后端代码 3.1 添加拦截器 3.2 注册拦截器 …

深入解析MySQL 8中的角色与用户管理

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 深入解析MySQL 8中的角色与用户管理 前言角色和用户的基础概念用户(User)…

收银系统源码--零售连锁店铺如何选择适合自己的收银系统?

如果你现在还认为小便利店只要简单的收款,只有大型的连锁便利店才需要收银软件和管理软件,那你就错了,连锁品牌的便利店是必须要用到专业的收银软件,但是小微型的便利店更应该要用专门的软件, 在各行各业逐步革新互联网…

【ai】LiveKit Agent 的example及python本地开发模式工程实例

title: ‘LiveKit Agent Playground’ playgroundLiveKit Community playground的环境变量:LiveKit API # LiveKit API Configuration LIVEKIT_API_KEYYOUR_API_KEY LIVEKIT_API_SECRETYOUR_API_SECRET# Public configuration NEXT_PUBLIC_LIVEKIT_URLwss://YOUR_…

计算机网络基础 - 计算机网络和因特网(1)

计算机网络基础 计算机网络和因特网什么是 Internet?具体构造的的角度服务角度网络结构 网络边缘网络核心电路交换分组交换概述排队时延和分组丢失转发表和路由选择协议按照有无网络层的连接 分组交换 VS 电路交换 接入网DSL 因特网接入电缆因特网接入光纤到户 FTTH无线接入网…