机器学习笔记-聚类分析之K-means算法案例及其Python实现

引言:
数据挖掘的本质是“计算机根据已有的数据做出决策”,其对社会的价值不必多言,相关的应用已经有很多,包括垃圾邮件拦截、客户价值分析等。
尽管数据挖掘实现过程的细节千差万别,但是从思路来说,主要包括两个方面:1、创建数据集;2、建模调整算法。
算法是数据挖掘最核心的部分,作为一名学习新人,在参考《数据挖掘导论》、《Python数据分析与挖掘实战》、《Python数据挖掘入门与实战》等前辈的书籍下,谨以此博客帮助自己梳理知识点,错误遗漏之处,请各位前辈多多指教~

聚类分析 之 K-means算法

【先抛出一个情景问题】:
航空公司怎么样对客户分群,区分高价值客户、无价值客户等,对不同的客户群体实施个性化的营销策略,实现利润最大化?
对于该类情景题,可使用聚类分析方法。

【聚类分析相关概念】
是在没有给定划分类别的情况下,根据数据的相似度进行分组的一种方法,分组的原则是组内距离最小化而组间距离最大化。

K-means算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础上将数据划分为预定的K类别,采用距离作为相似性的评级指标,即认为两个对象的距离越近,其相似度越大。

算法过程
1、从N个样本数据中随机选取K个对象作为初始的聚类质心。
2、分别计算每个样本到各个聚类中心的距离,将对象分配到距离最近的聚类中。
3、所有对象分配完成之后,重新计算K个聚类的质心。
4、与前一次的K个聚类中心比较,如果发生变化,重复过程2,否则转过程5.
5、当质心不再发生变化时,停止聚类过程,并输出聚类结果。
K-Means算法示意图

【情景问题的模型建立】
根据航空公司目前积累的大量客户会员信息和其乘坐的航班记录,可以得到包括姓名、乘坐次数、价格等十几条属性信息。

本情景案例是想要获取客户价值,识别客户价值应用的最广泛的模型是RFM模型,三个字母分别代表recency(最近消费时间间隔)、frequency(消费频率)、消费金额(monetary)这三个指标。结合具体情景,最终选取客户关系长度L、消费时间间隔R、消费频率F、飞行里程M、折扣系数的平均值C这5个指标作为航空公司识别客户价值的指标,记为LRFMC模型。

所以本案例通过对LRFMC模型的五个指标进行K-means聚类分析来识别出最优价值的客户。

航空客运数据挖掘流程

主要步骤如上图所示,主要包括:
1、对数据集进行数据探索分析与预处理,包括数据缺失与异常处理、数据属性的规约、清洗和变换。
2、利用步骤1中完成预处理的数据,基于LRFMC模型进行客户分群,对各个客户群进行特征分析,识别出有价值的客户。
3、针对不同价值的客户进行不同的营销手段,个性化服务。

Python实现代码:

【步骤一】数据清洗,删除票价为空的记录;删除票价为0、平均折扣率不为0、总飞行公里数大于0的记录

  • 67
    点赞
  • 622
    收藏
    觉得还不错? 一键收藏
  • 116
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 116
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值