K-means 算法 简介

聚类算法是无监督学习算法.

无监督就是事先并不需要知道数据的类别标签,而只是根据数据特征去学习,找到相似数据的特征,然后把已知的数据集划分成不同的类别。

K-means 算法

对于n个样本点来说,根据距离公式(如欧式距离)去计算它们的远近,距离越近越相似。按照这样的规则,我们把它们划分到 K 个类别中,让每个类别中的样本点都是最相似的。

聚类就是相似度很高的样本点的集合.

聚类中心,也就是质心(Centroid), 每个质心的坐标就是这个聚类的所有样本点的中心点,也就是均值。

K 值的确定,一般来说要取决于个人的经验和感觉,没有一个统一的标准。

  1. 第一步,随机选取任意 K 个数据点作为初始质心;
  2. 第二步,分别计算数据集中每一个数据点与每一个质心的距离,数据点距离哪个质心最近,就属于哪个聚类;
  3. 第三步,在每一个聚类内,分别计算每个数据点到质心的距离,取均值作为下一轮迭代的质心;
  4. 第四步,如果新质心和老质心之间的距离不再变化或小于某一个阈值,计算结束。

RFM

RFM 作为用户价值划分的经典模型,就可以解决这种分群的问题,RFM 是客户分析及衡量客户价值的重要模型之一。其中 ,R 表示最近一次消费(Recency),F 表示消费频率(Frequency),M 表示消费金额(Monetary)。

  • R (Recency) 客户最近一次交易时间的间隔
    • 评估用户忠诚度
  • F (Frequency) 客户最近一段时间内交易的次数
    • 评估用户活跃度
  • M (Monetary) 客户最近一段时间内的金额
    • 评估用户价值度

客户分类:

  • 重要价值客户 - R 高 - F 高 - M 高
  • 重要发展客户 - R 高 - F 低 - M 高
  • 重要保持客户 - R 低 - F 高 - M 高
  • 重要挽留客户 - R 低 - F 低 - M 高
  • 一般价值客户 - R 高 - F 高 - M 低
  • 一般发展客户 - R 高 - F 低 - M 低
  • 一般保持客户 - R 低 - F 高 - M 低
  • 一般挽留客户 - R 低 - F 低 - M 低

文本聚类

文本聚类:根据文档内容或主题对文档进行聚类。

  • 售前辅助:根据用户的通话、短信和在线留言等信息,结合用户个人资料,帮助公司在售前对客户做更多的预测。
  • 风险监测:在金融风控场景中,在没有先验知识的情况下,通过无监督方法对用户行为做异常检测。

K-means 聚类算法的优点:

  • 程序容易实现
  • 运算效率高
  • 可解释性强
  • 能处理绝大多数聚类问题
  • 不需要样本的标注信息 (无监督学习)

K-means 聚类算法的缺点:

  • 不能利用样本的标注信息, 准确度比不上监督类算法
  • 受噪声影响较大

K-means 聚类算法的适用数据样本:

  • 值型数据
    • K-means 算法主要适用于数值型数据,因为它通过计算数据点之间的距离来确定簇中心。这使得它对于数值特征的数据,如身高、重量、温度等,非常有效。
  • 连续型数据
    • K-means 在处理连续型数据方面表现良好。对于具有相对均匀分布的数据,K-means 聚类能够有效地将数据点分配到簇中。
  • 凸形簇
    • K-means 对于凸形簇(球形或近似球形的簇)的数据效果最好。如果数据呈现类似圆形或球形的分布,K-means 能够很好地识别并形成紧凑的簇。
  • 相对均匀大小的簇
    • K-means 对簇的大小和形状敏感,因此适合处理相对均匀大小的簇。如果簇的大小差异很大,可能需要使用其他聚类算法。
  • 数据不包含噪声
    • K-means 对噪声敏感,因此在数据中包含大量噪声或异常值时,可能会对聚类结果产生不良影响。在这种情况下,可能需要先对数据进行清理或考虑使用对噪声更为鲁棒的聚类算法。
  • 数据分布相对均匀
    • K-means 假设簇的几何形状相对均匀,因此对于分布较为均匀的数据效果较好。对于非均匀分布的数据,可能需要考虑其他聚类算法。

K-means 聚类算法的案例:

  • 市场细分
    • K-means 可以用于对市场进行细分,帮助企业理解不同市场细分的特点和需求,以制定更有针对性的市场策略。
  • 客户分群
    • 在营销领域,K-means 可以用于将客户分成不同的群组,根据他们的购买行为、偏好和特征制定个性化的营销策略。
  • 图像压缩
    • K-means 被用于图像压缩,通过将图像中的颜色聚类成几个中心,可以实现图像的有损压缩,减少颜色数量而保持图像的主要特征。
  • 新闻主题分类
    • K-means 可以用于对新闻文章进行主题分类。通过聚类相似的文章,可以帮助用户更轻松地浏览并找到感兴趣的主题。
  • 网络攻击检测
    • 在网络安全领域,K-means 被用于检测异常网络流量,通过聚类正常和异常的网络行为,识别潜在的网络攻击。
  • 基因表达数据分析
    • 在生物信息学中,K-means 被应用于基因表达数据的分析,以发现基因表达模式,识别不同基因表达簇。
  • 地理位置分析
    • K-means 可以用于地理位置数据的聚类,例如根据商店的地理位置将城市划分为商业区、住宅区等,有助于空间分析和规划。
  • 商品库存管理
    • 在零售业中,K-means 可以用于对商品进行聚类,帮助进行库存管理和优化供应链。

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

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

相关文章

7+非肿瘤+线粒体+PPI+机器学习+实验,多套路搭配干湿结合

今天给同学们分享一篇生信文章“Identification of mitochondrial related signature associated with immune microenvironment in Alzheimers disease”,这篇文章发表在J Transl Med期刊上,影响因子为7.4。 结果解读: 在ND和AD样本中鉴定差…

vscode调用HTML文件

vscode实现对HTML文件调用 创建html文件下载拓展内容点击拓展查找需要的拓展 导入html代码设置默认打开浏览器运行结果参考文献 做数据库课设的内容,尝试一些自己没有接触过的东西,了解如何创建一个网站以及数据库的一个应用 创建html文件 创建一个html的文件,加入后缀名 下…

Hive04_DDL操作

Hive DDL操作 1 DDL 数据定义 1.1 创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, ...)];[IF NOT EXISTS] :判断是否存在 [COMMENT database_c…

手写一个vuex?

前言 vuex是一种专为Vue.js应用程序开发的状态管理模式,挂载在全局中,具有响应式特性 vuex的实现原理主要包括以下几个方面: 是一个对象,vuex有两个属性,一个是Store类,一个是install方法。Store类&#x…

procise纯PL流程点灯记录

procise纯PL流程点灯记录 一、概述 此篇记录使用procise工具构造JFMQL15T 纯PL工程,显示PL_LED闪烁; 硬件说明如下: 时钟引脚 Pl_CLK: U2 ,IO_L14P_T2_SRCC_34 PL_LED1 : E2, IO_L17P_T2_AD5P_35 PL_LED2: D6, IO_L2N_T0_AD8N_35 PL_LED3 :…

.NET CORE 无法调试 当前不会命中断点

多个项目直接可以设置项目的属性->生成->输出的配置文件输出地址 然后路径统一输入该项目的bib/debug/.netcorex.x就可以了

【JAVA】黑马MybatisPlus 学习笔记【终】【插件功能】

4.插件功能 MybatisPlus提供了很多的插件功能,进一步拓展其功能。目前已有的插件有: PaginationInnerInterceptor:自动分页TenantLineInnerInterceptor:多租户DynamicTableNameInnerInterceptor:动态表名OptimisticL…

197. 上升的温度

197. 上升的温度 表: Weather ---------------------- | Column Name | Type | ---------------------- | id | int | | recordDate | date | | temperature | int | ---------------------- id 是该表具有唯一值的列。 该表包含特定日期的温度信息 编写解决方案…

【Linux】生产者消费者模型(阻塞队列与环形队列)和POSIX信号量

文章目录 一、生产者消费者模型二、基于BlockingQueue的生产者消费者模型1.BlockQueue.hpp2.Task.hpp3.main.cc 三、POSIX信号量四、基于环形队列的生产消费模型1.RingQueue.hpp2.Task.hpp3.main.cc 一、生产者消费者模型 我们这里举一个例子,来解释生产者消费者模…

【数据结构和算法】寻找数组的中心下标

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 前缀和的解题模板 2.1.1 最长递增子序列长度 2.1.2 寻找数组中第 k 大的元素 2.1.3 最长公共子序列…

雷盛红酒和云仓酒庄的优势

多国家采购、多葡萄酒品种、多价位区间的全系列整体品牌形式的雷盛(LEESON)红酒云仓酒庄,具有以下优势: 1.明星代言。雷盛(LEESON)品牌系列葡萄酒有幸邀请著名导演张纪中先生担任品牌代言人,为…

什么是天线OTA,怎么通过OTA数据评估产品射频环境情况

1.1 验证项目 产品的器件布局、走线是否合理、电源输入输出设计、纹波控制,铺地回流设计等是否合理. 通过验证产品的天线OTA_TIS项目来作为评估当前的设计是否合理之一,重点验证低频部分,如Band8段数据. 1.2 什么是天线OTA 是指某无线产品…

Vue3使用的Compostion Api和Vue2使用的Options Api有什么不同?

我们介绍Compostion Api和Options Api的区别之前,先来说一下为什么会推出来Composition Api,解决了什么问题? Vue2开发项目使用Options Api存在的问题 代码的可读性和维护性随着组件的变大业务的增多而变得差代码的共享和重用性存在缺点不支…

【Linux】进程查看|fork函数|进程状态

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

H.264宏块(Macroblock)概念(运动估计、变换编码、环路滤波)

参考文章:音视频高手课系列5-h264编码基础(宏块原理) 参考文章:切片slice与宏块,运动矢量 文章目录 使用videoEye分析视频宏块示例H.264宏块概念1. 宏块的定义2. 运动估计3. 变换编码4. 环路滤波5. 注意:宏块的概念既适用于帧内编…

基于Java Swing的图书管理系统

一、项目总体架构 本项目基于Java Swing框架,数据库采用的是MySQL。项目文件夹如下: 二、项目截图 1.登录和注册界面 2.用户界面 3.管理员管理图书类别 4.管理员管理书籍 5.管理员管理用户 项目总体包括源代码和课程论文,需要源码的…

Go语言实现KV存储系统:前言

文章目录 前言前提条件持久索引并发总结 前言 你好,我是醉墨居士,最近想做一些存储方面的东西玩玩,我第一时间就想到了能不能自己开发一个保存键值对的存储系统 我找了些资料,准备使用Go语言实现一下,想着有想法咱就…

通过MobaXterm远程连接Anolis

目录 前言: 一.设置ip 二.远程连接 前言: 小编已经阐述了如何安装Anolis系统,如果有不了解的小伙伴可以查看这一篇博客Anolis安装 这篇博客将会讲述如何远程连接Anolis系统。各位看官拿好板凳! 一.设置ip 打开网卡所在位…

西门子PLC通过PROFINET协议与多功能电表通讯

西门子PLC通过PROFINET协议与多功能电表通讯 项目要求 西门子S71200PLC需要通过PROFINET协议和多功能电表通讯,读取线电压、相电压、线电流、相电流、有功功率、无功功率等参数。 项目实施 采用网关NET90-PN-MBT(以下简称“网关”)&#…

Java开发框架和中间件面试题(9)

102.你了解秒杀吗?怎么设计? 1.设计难点:并发量大,应用,数据库都承受不了。另外难控制超卖。 2.设计要点: 将请求尽量拦截在系统上游html尽量静态化,部署到cdn上面。按钮及时设置为不可用&…