文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-02 11:02

关注

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

选取并构建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())

标准化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聚类分析代码:

客户价值分析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代表平均折扣系数。

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

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

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯