今天就跟大家聊聊有关怎么用python进行客户价值分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
一个完整的数据分析项目由如下几个步骤组成:
1)数据获取:分为本地文本文件,数据库链接,爬虫技术等方式获取数据;
2)数据存储:存到本文本文件,数据库,分布式文件系统等;
3)数据预处理:据经验,占80%的工作量。可以使用Numpy和熊猫这两个工具库;
4)建模与分析:这一阶段首先要清楚数据的结构,结合项目需求来选取模型,常见的数据挖掘模型有如下图所示:
,
,,,该阶段常用工具库分为如下两个:
,,,(1)scikit-learn -适用Python实现的机器学习算法库.scikit-learn可以实现数据预处理,分类,回归,降维,模型选择等常用的机器学习算法。
,,,(2)Tensorflow -适用于深度学习且数据处理需求不高的项目。
5)可视化分析:Python目前主流的可视化工具有Matplotlib, Seaborn, Pyecharts等。
,,,,,,,在整个数据分析流程,无论是数据提取,数据预处理,数据建模和分析,还是数据可视化,Python目前已经可以很好地支持我们的数据分析工作。有了Python入门基础后,我们接下来我们以“航空公司客户价值分析为例”,体验简要实际分析过程。
假设数据是之前已将采集或记录好的,那我们从将数据导入和预处里开始。
1,缺失及异常数值的处理,代码如下:
进口numpy np
熊猫作为pd导入
airline_data=https://www.yisu.com/zixun/pd.read_csv(. ./数据/air_data.csv,编码=' gb18030 ') #导入航空数据
打印(& # 39;原始数据的形状为:& # 39;,airline_data.shape)
# #去除票价为空的记录
exp1=airline_data [“SUM_YR_1"] .notnull ()
exp2=airline_data [“SUM_YR_2"] .notnull ()
exp=exp1和;exp2
airline_notnull=airline_data.loc [exp:]
打印(& # 39;删除缺失记录后数据的形状为:& # 39;,airline_notnull.shape)
#只保留票价非零的,或者平均折扣率不为零且总飞行公里数大于0的记录。
index1=airline_notnull [& # 39; SUM_YR_1& # 39;] !=0
index2=airline_notnull [& # 39; SUM_YR_2& # 39;] !=0
index3=(airline_notnull [& # 39; SEG_KM_SUM& # 39;]比;0),\
,,,(airline_notnull [& # 39; avg_discount& # 39;] !=0),
航空=airline_notnull [(index1 | index2),index3]
打印(& # 39;删除异常记录后数据的形状为:& # 39;,airline.shape)
2,选取并构建LRFMC模型的特征
# #选取需求特征
airline_selection=航空公司[[“FFP_DATE",“LOAD_TIME",
,,,“FLIGHT_COUNT",“LAST_TO_END",
,,,“avg_discount",“SEG_KM_SUM"]]
# #构建L特征
L=pd.to_datetime (airline_selection [“LOAD_TIME"])——\
pd.to_datetime (airline_selection [“FFP_DATE"])
L=L.astype (“str") .str.split ()。str [0]
L=L.astype (“int")/30
# #合并特征
airline_features=pd。concat ([L airline_selection。iloc[: 2:]],轴=1)
打印(& # 39;构建的LRFMC特征前5行为:\ n # 39;, airline_features.head ())
3标准化LRFMC模型的特征从sklearn
。预处理进口StandardScaler
data=https://www.yisu.com/zixun/StandardScaler () .fit_transform (airline_features)
np.savez(& # 39; . ./数据/airline_scale.npz& # 39;,数据)
打印(& # 39;标准化后LRFMC五个特征为:\ n # 39;,数据[5:])
以上三段代码我们归结为数据预处理,从这个阶段可以看的出,其中最重要环节是“选取需求特征”,因此分析前提是要明确需求,需求调研和选取特征是我们所有工作的根本,所以我们还需懂得领域知识或由这个方面的人员或领域专家协助分析工作。标准化后,另存一份,一遍后续进行各类测试时,避免所有数据从头再来。
用某种算法,对客户数据进行客户分群,如下航空客户价值分析k - means聚类分析代码:
4,客户价值分析k - means聚类分析代码
进口numpy np
熊猫作为pd导入从sklearn
。集群进口KMeans #导入KMeans算法
airline_scale=np.load(& # 39; . ./数据/airline_scale.npz& # 39;) [& # 39; arr_0& # 39;]
k=5 # #确定聚类中心数
#构建模型
kmeans_model=KMeans (n_clusters=k, n_jobs=4, random_state=123)
fit_kmeans=kmeans_model.fit (airline_scale),,#模型训练
kk=kmeans_model。cluster_centers_ #查看聚类中心
kmeans_model。labels_ #查看样本的类别标签