当前位置:   article > 正文

【数据分析实战经验】航空公司客户价值分析 LRMFC 模型(K-means聚类,工具python)_lrfmc模型

lrfmc模型

简单介绍

聚类算法属于无监督学习的一种,而其中KMeans算法是比较常用的聚类算法。

主要思想是:
1、在给定K值和K个初始类簇中心点的情况下,把每个点(亦即数据记录)分到离其最近的类簇中心点所代表的类簇中。
2、 所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值)。
3、再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。

本文数据量:62988,
共有44个客户属性,其中包含了会员卡号、入会时间、性别、年龄、会员卡级别、在观测窗口内的飞行公里数、飞行时间等

第一步:数据探索

拿到数据集,先进行整体上的观察

import pandas as pd
import numpy as np
df = pd.read_csv( 'air_data.csv', encoding = 'utf-8') #读取原始数据,指定UTF-8编码(需要用文本编辑器将数据装换为UTF-8编码)
print(df.shape)
print(df.info)
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
看看前5行

df.head()
  • 1

在这里插入图片描述
简单加工一下44属性名称
在这里插入图片描述
进行空值,最小,最大值的计算

ex = df.describe(percentiles = [], include = 'all').T #包括对数据的基本描述,percentiles参数是指定计算多少的分位数表(如1/4分位数、中位数等);T是转置,转置后更方便查阅
ex['null'] = len(df)- ex['count'] #describe()函数自动计算非空值数,需要手动计算空值数
ex = ex[['null', 'max', 'min']]
ex.columns = [u'空值数', u'最大值', u'最小值'] #表头重命名
ex
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
发现数据集存在票价为空,总飞行公里数大于0的脏数据

具体处理方法如下:
删去票价为0的数据 及票价为0,折扣率不为0,总飞行公里数大于0的记录

第二步:数据清洗

df= df[df['SUM_YR_1
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/780019
    推荐阅读
    相关标签
      

    闽ICP备14008679号