数据-R语言-图表-决策-Linux-Python

【R语言 第1篇】K-means聚类分析客户价值实战

2016-07-31  本文已影响2082人  晟文刀

本篇主要以《R语言数据分析与挖掘实战》中的第7章案例讲起。
首先我们拿到的经加工的数据有:

观测窗口:已过去某个时间点为结束时间,某一时间长度为宽度,得到历史时间范围内的一个时间段。

会员卡号,入会时间,第一次飞行日期,性别,会员卡级别,工作地城市,工作地省份,工作地所在国家

飞行次数,观测窗口的结束时间,最后一次乘机时间至观测窗口结束时长,平均折扣率,观测窗口内的票价收入,观测窗口内的总飞行公里数,末次飞行日期,平均乘机时间间隔,最大乘机时间间隔

积分兑换次数,促销积分,合作伙伴积分,总累计积分,非乘机的积分变动次数,总基本积分

根据这些信息我们将实现以下目标:

分析方法与过程

数据抽取

数据探索分析

datafile=read.csv('E:……\示例程序\data\air_data.csv',header=T)
col=c(15:18,20:29)
summary(datafile[,col])

得出导入62988条数据,但发现票价收入字段有空值,票价收入最小值为0,平均折扣率最小值为0,而总飞行里程最小值大于0。
由于原始数据量大,这类数据所占比例较小,对于问题影响不大,因此对其做丢失处理。

数据清洗

1、丢弃票价为空的记录
2、丢弃票价为0、平均折扣率不为0、总飞行里程大于0的记录
3、保持清晰后的数据

delet_na=datafile[-which(is.na(datafile$SUM_YR_1)|is.na(datafile$SUM_YR_2)),]
col=c(15:18,20:29)
summary(delet_na[,col])
index=((delet_na$SUM_YR_1==0&delet_na$SUM_YR_2==0)(delet_na$avg_discount!=0)(delet_na$SEG_KM_SUM>0))
deletdata=delet_na[-which(index==1),]

col=c(15:18,20:29)
summary(deletdata[,col])
cleanedfile=deletdata

属性规约

原始数据中的属性太多,根据LRFMC模型。选择相关的属性:观测窗口的结束时间,入会时间,最后一次乘机时间至观测窗口结束时长,飞行次数,总飞行总里数,平均折扣率。

数据变换

L=观测窗口结束时间-入会时间;
R=最后一次乘机时间至观测窗口结束时长;
F=飞行次数;
M=总飞行总里数;
C=平均折扣率
由于5个指标取值范围数据差异比较大,需要做数据标准化处理。

zscoredata=scale(datafile2)
colnames(zscoredata)=c('ZL','ZR','ZF','ZM','ZC')

构建模型

result=kmeans(inputfile,5)
type=result$cluster
table(type)
centervec=result$center

客户价值分析

针对聚类结果进行特征分析,明确该类用户的营销方案。

上一篇 下一篇

猜你喜欢

热点阅读