航空公司客户价值分析Kmeans

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.3 数据变换

由于原始数据没有直接给出LRFMC五个指标,需要自己计算,具体的计算方式为:

(1)L=LOAD_TIME-FFP_DATE

(2)R=LAST_TO_END

(3)F=FLIGHT_COUNT

(4) M=SEG_KM_SUM

(5)C=avg_discount

数据变换的Python代码如下:

1.def reduction_data(datafile,reoutfile):

2.

data=pd.read_excel(cleanoutfile,encoding='utf-8')

3.

data=data[['LOAD_TIME','FFP_DATE','LAST_TO_END','FLIGH T_COUNT','SEG_KM_SUM','avg_discount']]

4.#

data['L']=pd.datetime(data['LOAD_TIME'])-pd.datetime(d ata['FFP_DATE'])

5.#

data['L']=int(((parse(data['LOAD_TIME'])-parse(data['F FP_ADTE'])).days)/30)

6.####这四行代码费了我3个小时

7. d_ffp=pd.to_datetime(data['FFP_DATE'])

8. d_load=pd.to_datetime(data['LOAD_TIME'])

9. res=d_load-d_ffp

10. data['L']=res.map(lambda

x:x/np.timedelta64(30*24*60,'m'))

11. data['R']=data['LAST_TO_END']

12. data['F']=data['FLIGHT_COUNT']

13. data['M']=data['SEG_KM_SUM']

14. data['C']=data['avg_discount']

15. data=data[['L','R','F','M','C']]

16. data.to_excel(reoutfile)

变换结果如下:

4.1客户聚类

采用kMeans聚类算法对客户数据进行客户分组,聚成5组,Python代码如下:

1.import pandas as pd

2.from sklearn.cluster import KMeans

3.import matplotlib.pyplot as plt

4.from itertools import cycle

5.datafile='./tmp/zscore.xls'

6.k=5

7.classoutfile='./tmp/class.xls'

8.resoutfile='./tmp/result.xls'

9.data=pd.read_excel(datafile)

10.kmodel=KMeans(n_clusters=k,max_iter=1000)

11.kmodel.fit(data)

12.# print(kmodel.cluster_centers_)

13.r1=pd.Series(bels_).value_counts()

14.r2=pd.DataFrame(kmodel.cluster_centers_)

15.r=pd.concat([r2,r1],axis=1)

16.r.columns=list(data.columns)+['类别数目']

17.# print(r)

18.# r.to_excel(classoutfile,index=False)

19.r=pd.concat([data,pd.Series(bels_,index=da

ta.index)],axis=1)

20.r.columns=list(data.columns)+['聚类类别']

21.# r.to_excel(resoutfile,index=False)

对数据进行聚类分群的结果如下表所示:

相关文档
最新文档