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 可以用于对商品进行聚类,帮助进行库存管理和优化供应链。

你可能感兴趣的:(算法,kmeans,机器学习)