千家信息网

怎么用python进行客户价值分析

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,今天就跟大家聊聊有关怎么用python进行客户价值分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一个完整的数据分析项目由如下几个步骤组成:
千家信息网最后更新 2024年11月26日怎么用python进行客户价值分析

今天就跟大家聊聊有关怎么用python进行客户价值分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一个完整的数据分析项目由如下几个步骤组成:

1)数据获取:分为本地文本文件、数据库链接、爬虫技术等方式获取数据;

2)数据存储:存到本文本文件、数据库、分布式文件系统等;

3)数据预处理:据经验,占80%的工作量。可以使用Numpy和Pandas这两个工具库;

4)建模与分析:这一阶段首先要清楚数据的结构,结合项目需求来选取模型,常见的数据挖掘模型有如下图所示:

该阶段常用工具库分为如下两个:

(1)scikit-learn-适用Python实现的机器学习算法库。scikit-learn可以实现数据预处理、分类、回归、降维、模型选择等常用的机器学习算法。

(2)Tensorflow-适用于深度学习且数据处理需求不高的项目。

5)可视化分析:Python目前主流的可视化工具有Matplotlib、Seaborn、Pyecharts等。

在整个数据分析流程,无论是数据提取、数据预处理、数据建模和分析,还是数据可视化,Python目前已经可以很好地支持我们的数据分析工作。有了python入门基础后,我们接下来我们以"航空公司客户价值分析为例",体验简要实际分析过程。

假设数据是之前已将采集或记录好的,那我们从将数据导入和预处里开始。

1、缺失及异常数值的处理,代码如下:

import numpy as np

import pandas as pd

airline_data = pd.read_csv('../data/air_data.csv', encoding='gb18030') #导入航空数据

print('原始数据的形状为:',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,:]

print('删除缺失记录后数据的形状为:',airline_notnull.shape)

#只保留票价非零的,或者平均折扣率不为0且总飞行公里数大于0的记录。

index1 = airline_notnull['SUM_YR_1'] != 0

index2 = airline_notnull['SUM_YR_2'] != 0

index3 = (airline_notnull['SEG_KM_SUM']> 0) & \

(airline_notnull['avg_discount'] != 0)

airline = airline_notnull[(index1 | index2) & index3]

print('删除异常记录后数据的形状为:',airline.shape)

2、 选取并构建LRFMC模型的特征

## 选取需求特征

airline_selection = airline[["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:]],axis = 1)

print('构建的LRFMC特征前5行为:\n',airline_features.head())

3、标准化LRFMC模型的特征

from sklearn.preprocessing import StandardScaler

data = StandardScaler().fit_transform(airline_features)

np.savez('../data/airline_scale.npz',data)

print('标准化后LRFMC五个特征为:\n',data[:5,:])

以上三段代码我们归结为数据预处理,从这个阶段可以看出,其中最重要环节是"选取需求特征",因此分析前提是要明确需求,需求调研和选取特征是我们所有工作的根本。所以我们还需懂得领域知识或由这个方面的人员或领域专家协助分析工作。标准化后,另存一份,一遍后续进行各类测试时,避免所有数据从头再来。

用某种算法,对客户数据进行客户分群,如下航空客户价值分析K-Means聚类分析代码:

4、客户价值分析K-Means聚类分析代码

import numpy as np

import pandas as pd

from sklearn.cluster import KMeans #导入kmeans算法

airline_scale = np.load('../data/airline_scale.npz')['arr_0']

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_ #查看样本的类别标签

kk=kmeans_model.cluster_centers_ #查看聚类中

cc_exp = np.savetxt('../data/renwu/cc.txt',kk,fmt="%.18e")

cc.txt文件内容如下:

[[ 0.05184321 -0.22680493 -0.00266815 2.19136467 -0.23125594]

[-0.31368082 -0.57402062 1.68627205 -0.1733275 -0.53682451]

[ 0.48333235 2.48322162 -0.7993897 0.30863251 2.42474345]

[-0.7002121 -0.16114387 -0.41489162 -0.25513359 -0.16095881]

[ 1.16067608 -0.08691922 -0.37722423 -0.15590586 -0.09484481]]

#统计不同类别样本的数目

r1 = pd.Series(kmeans_model.labels_).value_counts()

print('最终每个类别的数目为:\n',r1)

3 24659

4 15740

1 12125

2 5336

0 4184

将以上数据结合特征属性、领域知识进行分析后聚类结果如下。其中L代表入会时间,R代表最近乘机距进的时间长度,F代表飞行次数,M代表总飞行历程,C代表平均折扣系数。

从以上案例可以看出,一个数据分析案例中,数据采集和预处理按70%-80%左右工作量或时间。数据准备好了后的重点是模型和训练阶段,该阶段代码量不多但需要懂得什么算法适合什么场景,选择统计学算法还是机器学习类算法,也是考研一个数据分析是内功的阶段。选择对了合适的算法挖掘其中价值有很大的帮助。最后阶段领域知识综合应用和分析,当然领域知识的掌握或领域专家的参与贯穿到整个分析过程,回过头来还是明确分析需求是重中之重。

在学习数据挖掘的过程中,我们也体会到算法很多,专门学习也需要较长的时间。根据个人的体会,如果不再是学生是阶段,正确学习方法也许是先明确需求,根据算法用途再确定合适的算法,接下来就只针对该算法深入学习研究并应用。

看完上述内容,你们对怎么用python进行客户价值分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

数据 分析 算法 特征 模型 阶段 需求 学习 客户 价值 代码 代表 数据分析 知识 领域 工作 预处理 内容 文件 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全的简笔画是不 软件开发创业需要几年 更新数据库删除数据库的语句是 江苏通信网络安全防护方案设计 关注网络安全班会主题 数据库自动生成序号怎么弄 服务器怎样判断硬盘损坏 2018网络安全考试 数据库删除所有数据 qq飞车手游大数据库 上海普瓦互联网科技有限公司 我的世界惊变100天服务器怎么开 网络安全与新技术 apple软件开发服务费 深圳小贰网络技术有限公司 web代理服务器设置 滨州工厂库存软件开发 无锡服务器工控机品牌 台州大规模软件开发解决方案 web软件开发毕业设计题目 查看数据库是否被创建的命令 2020年汉中网络安全周 数据库技术与应用叶明全 数据库删除所有数据 锦州互助盘软件开发设计 我的世界剑客服务器在哪里 外国服务器里的中国红军 网络安全大赛赛程 软件开发渐进式模型的缺点 长春深信服服务器销售
0