数据分析综合实训报告1.docx

上传人:b****7 文档编号:9895889 上传时间:2023-02-07 格式:DOCX 页数:15 大小:24.10KB
下载 相关 举报
数据分析综合实训报告1.docx_第1页
第1页 / 共15页
数据分析综合实训报告1.docx_第2页
第2页 / 共15页
数据分析综合实训报告1.docx_第3页
第3页 / 共15页
数据分析综合实训报告1.docx_第4页
第4页 / 共15页
数据分析综合实训报告1.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据分析综合实训报告1.docx

《数据分析综合实训报告1.docx》由会员分享,可在线阅读,更多相关《数据分析综合实训报告1.docx(15页珍藏版)》请在冰豆网上搜索。

数据分析综合实训报告1.docx

数据分析综合实训报告1

数据分析综合实训报告

(1)

经济管理学院

数据分析综合实训课程设计

课设题目大数据精准营销项目

专业班级信息管理与信息系统专业181班

学号姓名周博*****XX28

指导教师刘紫玉、瞿英、张娜萍

2020年12月20日

指导教师评语及成绩

指导教师评语

成绩

签字:

年月日

?

1项?

背景与?

1.1项?

背景

1.2项标

2客户数据预处理与客户交易?

为分析

2.1数据集介绍

2.2数据预处理

2.3客户交易?

为分析

3客户标签体系构建

3.1客户标签体系介绍

3.2事实类标签构建

3.3规则类标签构建

3.4预测类标签构建

3.5?

本类标签构建

3.6典型客户画像分析

4精准营销应?

4.1商品兴趣排?

榜的构建

4.2?

标客户的筛选

5项?

总结与?

得体会

5.1项?

总结

5.2项得

1项目背景与目标

1.1项目背景

该项目是针对客户所进行的分析报告,再报告中根据不同的角度,对确定目标客户以及客户对商品的选择等方面进行了一系列的分析。

面对越来越多的竞争者,如何将商品销售出去是面临的首要问题,现代的销售模式不同于以往的经营模式,从大批量的采购货物再进行销售,逐渐转变为有目标性的采购并进行有目标性的营销,确定目标客户,并通过统计等进行分析,采取一系列的有利于企业的措施,增加最终的利润。

1.2项目目标

该项目的目标是通过对顾客行为分析的研究,找出符合要求的客户,锁定目标客户。

在进行过程中,将理论的知识与实际的知识相结合,通过实践对老师所讲的内容进行深入的理解。

2客户数据预处理与客户交易?

为分析

2.1数据集介绍

该项目用到了四个数据集,数据集的分类汇总分别为data,dbo,user_too,user_labels。

(1)data数据集:

在data数据集中,涉及到的属性是用户的ID,不同用户交易的数额和时间,以及用户进行交易时所采用的具体方式。

(2)dbo数据集:

该数据集表示用户是否为潜在客户,1表示是,0表示否。

(3)user_too数据集:

在此数据集中,用户的交易额度,交易方式,进行交易的时间以及次数,平均消费水平,具体消费是哪一项商品,且在该商品上消费的金额等详细信息有具体的统计。

(4)user_labels数据集:

包括了用用户交易的最大金额数,交易的频率,是否使用网络进行交易等信息。

2.2数据预处理

对客户数据进行格式转换,保证程序正常进行。

2.2.1统计分析

2.2.2异常值处理

检测异常值并对其进行处理

正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配,利用正则表达式对数据进行异常值处理。

(1)交易时间

Unix时间戳是指格林尼治时间1970年01月01日00时00分00秒起至现在的总秒数。

?

Unix时间戳通常为10位数字(如果精确到毫秒为13位),我们使用正则表达式对数据进行匹配,发现有一些异常值。

对交易异常值进行处理:

(2)交易金额

2.2.3缺失值处理

缺失值是指某一数据集由于信息缺失等主客观因素导致的字段记录的缺失,遗漏等现象,本项目中的交易附言字段存在数据缺失的情况。

交易记录中存在交易附言为空的行,但其交易金额与交易时间都是完整的,这部分数据可以描绘一些客户的消费习惯,我们不进行删除。

2.2.4数据格式转换

(1)时间和时区

对时间格式进行转换,将时间戳转换成“年-月-日时:

分:

秒”的格式?

对时区进行转换,将格林威治时间转换为北京时间。

(2)量纲转换

交易金额(payment)字段以分为单位,为了符合我们的观察习惯,我们将其量纲改为元。

2.2.5重复数据过滤

无重复值的行标记为False,有重复值的行标记为True。

2.3客户交易?

为分析

该过程包括四个方面:

时间维度、交易属性、文本数据预处理和文本数据的分析。

2.3.1时间维度的分析

(1)交易时间和交易金额

#4.1客户交易行为分析

#4.2交易次数随时间的可视化分析

importpandasaspd

importmatplotlib.pyplotasplt

fig=plt.figure(figsize=(12,6))

#绘制折线图

data['pay_time'].dt.date.value_counts().plot()

#设置图形标题

plt.title('不同时间的交易次数分布',size=15)

#设置y轴标签

plt.ylabel('交易次数',size=12)

#设置x轴标签

plt.xlabel('时间',size=12)

#显示汉语标注

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['font.family']=['sans-serif']

plt.show()

#4.3交易金额随时间的可视化分析

importpandasaspd

importmatplotlib.pyplotasplt

fig=plt.figure(figsize=(12,6))

#绘制折线图

abs(data['payment']).groupby(data['pay_time'].dt.date).sum().plot()

#设置图形标题

plt.title('交易金额随时间的分布',fontsize=15)

#设置y轴标签

plt.ylabel('交易金额',fontsize=12)

#设置x轴标签

plt.xlabel('时间',fontsize=12)

#显示汉语标注

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['font.family']=['sans-serif']

#显示汉语标注

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['font.family']=['sans-serif']

plt.show()

由图像可以看出,交易主要集中在20XX年7月至20XX年12月在本项目后续环节,我们选取该时间段的交易记录进行重点分析。

交易时间细分

在对24小时的交易次数进行统计后,发现凌晨1点至7点交易数量较少,其余时间段交易数量分布较为均衡,大部分交易的时间集中在0点附近,这可能是金融机构进行清算的时间段。

2.3.2交易属性

(1)不同客户交易次数

从不同客户的角度出发,我们发现客户的交易次数从0-7000不等,分布主要集中在0-1000在之后的指标构建中,如果在此平台交易记录太少,我们认为此类为休眠客户。

(2)不同客户平均交易金额

我们发现客户的平均交易金额跨度较大,分布主要集中在0~10000,呈长尾分布。

(3)每个客户流入流出次数

我们发现到客户整体的流入流出次数均集中在0-1000次。

(4)每个客户流入流出金额

我们发现流入流出平均金额均集中在0-20XX0之间,金额流入的跨度比金额流出的跨度略大。

2.3.3文本数据预处理

文本预处理过程中,首先进行数据采样,其次使用文本分词,将中文句子切割成有意义的词语,使用到的jieba库可以进行很多中文文本的处理,包括分词、去停用词、关键词抽取和词性标注等。

2.3.4文本数据分析

(1)词云图

词云是一种可视化描绘词语出现在文本数据中频率的方式,以词频数为每个词分配权重,用字体的大小、粗细来表示权重的高低。

#4.11交易附言词云绘制

fromwordcloudimportWordCloud

importmatplotlib.pyplotasplt#数据采样

data=data.sample(20XX0,random_state=22)

#文本拼接

describe_document="".join(data['describe'])

fig=plt.figure(figsize=(20,10))

#创建词云对象(参数中的mask=background_Image设置了词云的背景图片,实训平台的背景图片在后台进行了处理,这里需要自己增加一条语句,把图片加载进来backgroud_Image=plt.imread(‘man.jpg’),自己找一张图片,命名为man.jpg,并将其放到和程序同一路径下)

background_Image=plt.imread('D:

/man.png')

wordcloud=WordCloud(background_color='white',font_path="C:

/Windows/Fonts/simfang.ttf",mask=background_Image,scale=2,collocations=False,random_state=30)

#生成词云

wordcloud.generate(describe_document)

plt.imshow(wordcloud)

plt.axis("off")

plt.show()

(2)文本关键字

在提取关键字中,使用到了tf-idf,这是一种用于信息检索与数据挖掘的加权技术,常用于挖掘文章中的关键词。

在分析的过程中,需要注意词频,其代表了词在文档中的重要程度:

逆文档频率是语料库中文档总数与包含当前词的文档数的比值,如果一个关键词在很少的文本中出现,通过它更容易锁定目标,那么权重较大。

提取关键的关键字和词云的结果基本相同,数据没有出现错误,且证明两者结论相同。

3客户标签体系构建

3.1客户标签体系介绍

客户标签体系是将统计的客户的数据进行人工的分析,在不同层面上进行分析后得出实际性结论,并应用到所需要的项目中。

3.2事实类标签构建

直接从客户交易记录中进行统计和计算的标签例如网购消费、餐饮消费、商旅消费。

#5.4事实类标签的计算(其他)

importpandasaspd

#选取交易金额大于0的交易记录

consume_info=data[data.payment0]

#选取包含消费行为的记录

consume=consume_info[~consume_info["describe"].str.contains('转账|提现|转入|还款')]

print(consume)

#单次最大消费金额

user_features["max_consume_amt"]=consume.payment.groupby(consume['user_id']).max()#consume['payment'].groupby相同

#消费订单比例#consume['user_id'].value_counts()获得有关消费的每个用户的笔数

user_features["consume_order_ratio"]=consume['user_id'].value_counts()/user_features['total_transactions_cnt']

####################其余事实类标签提取展示如下########################

#提取商旅消费的记录

train_bus=consume[consume["describe"].str.contains("车票|火车票|机票")]

travel_hotel=consume[consume["describe"].str.contains("住宿|宾馆|酒店|携程|去哪")]

business_travel=pd.concat([train_bus,travel_hotel])

#商旅消费次数

user_features["business_travel_cnt"]=business_travel.groupby("user_id").size()

#商旅消费总金额

user_features["business_travel_amt"]=business_travel.payment.groupby(business_travel["user_id"]).sum()

#商旅消费平均金额

user_features["business_travel_avg_amt"]=business_travel.payment.groupby(business_travel["user_id"]).mean()

#提取公共事业缴费的记录

public=consume_info[consume_info["describe"].str.contains('水费|电费|燃气费')]

#公共事业缴费总额

user_features["public_pay_amt"]=public.groupby("user_id")['payment'].sum()

print(user_features.head())

3.3规则类标签构建

规则类标签是在事实类标签的基础上,结合人工经验,对客户的某项指标进行的计算或归类。

规则类标签提取方法:

从事实类标签进行延伸,根据RFM模型进行计算。

规则类标签的计算

(2)RFM模型

Frequency(频度):

客户在一段时间内消费的次数。

Monetary(值度):

客户在一段时间内消费的总金额。

Recency(近度):

最近一次消费距离观察点的天数。

(3)RFM总得分计算

最近一次消费(R)按时间得分:

取值越小得分越高

消费频次(F)及消费金额(M)取值越大得分越高

将每个客户对应的三个评分标记相加,作为客户RFM的总得分(Total_Score)

(4)RFM可视化分析

随着总分数的增大,近度的平均值逐渐减小,表示较优质的客户群体,最近一次消费普遍较近,随着总分数的增大,频度、值度的平均值逐渐增大,表示越优质的客户群体,消费频率和消费金额普遍越高。

3.4预测类标签构建

对于此类标签构建,不能够直接使用数据,而是需要借助模型进行处理。

根据提取出的事实类和规则类标签建立模型,对没有客户价值等级标签的客户进行预测。

(1)数据的读取

(2)One_Hot编码

将包含个取值的字符型特征转换成个取值为0或1的二元特征

(3)特征处理

特征处理包括两方面内容:

等距离散化和等频离散化,是根据每个客户的取值相应的划分区间给每一个区间一个标签。

importpandasaspd

#所有数值为连续型的列

continuous_col=['max_consume_amt','consume_order_ratio','mon_consume_frq','online_cnt','online_amt','online_avg_amt','mon_online_frq','dining_cnt','dining_amt','dining_avg_amt','business_travel_cnt','business_travel_amt','business_travel_avg_amt','mon_business_travel_frq','car_cnt','car_amt','phone_fee_cnt','phone_fee_amt','credit_card_repay_cnt','credit_card_repay_amt','cash_advance_cnt','cash_advance_amt','payroll','total_transactions_amt','total_transactions_cnt','withdraw_cnt','withdraw_amt','total_deposit','total_withdraw','transfer_cnt','transfer_amt','transfer_mean','internet_media_cnt','internet_media_amt','public_pay_amt','return_cnt','recency','frequency','monetary']

#对所有连续型数值的列进行等频离散化

user_features_predict[continuous_col]=user_features_predict[continuous_col].apply(lambdax:

pd.qcut(x,q=6,duplicates='drop',labels=False))

print(user_features_predict.head())

(4)划分训练集和测试集

(5)构建模型

SEQ图24_预测类标签的构建\*ARABIC6

(6)得出预测结果

预测类标签的构建

(7)相关系数矩阵可视化

皮尔森相关系数:

用来反映两个变量线性相关程度的统计量,是一种线性相关系数,一般用表示,的取值在-1与1之间,若0,表明两个变量是正相关;若0,表明两个变量是负相关;的绝对值越大表明相关性越强。

热力图是数据可视化中比较常用的显示方式,颜色的深浅表示了描述量的大小。

(8)交叉表

交叉表通常用于频数分布统计对于多重分组计算个数的问题。

得出最终交叉表

3.5?

本类标签构建

首先对数据进行处理

CountVectorizer词频矩阵计算

#5.26CountVectorizer词频矩阵计算

importpandasaspd

fromsklearn.feature_extraction.textimportCountVectorizer

#建立CountVectorizer模型

stop_words_list=['充值','支付宝','转账','淘宝','购物','支付','消费','余额','提现','还款','快捷','有限公司','交易','转账','单次','转入','财付','分行','跨行','在线','信用卡','取款','清算','网购','付款','网银','代付','网络','包邮','退款','支行','正品','代购','深圳市','手机','直付','中心','新款','话费','客服','上海','北京','网转','摇奖','手续费','支取','自动','转账','网上支付','汇款','账单','移动','服务费','银联','多件','订单','存款','代发','信息','退回','此笔','技术','他行','存入','汇入','通科技','编号','描述','快充','中国','自定义','中国农业银行','核算','科技','客户','银行卡','建行','特价','支出','删除','收费','现存','结息','成功','预借','电子商务','转帐','有限','本行','扣款','联通','实时','发奖','京东','流水号','天猫宝','铁道部','利息','票务','工资','献花','退货','现支','现金','短信','分理处','浙江','申请人','全行','最高奖','运费','专属','全国','公司','分公司','商业','官方','山东省','平台','服务','本级','杭州','款项','生活','管理','网上','股份','资金','转网','邀请','信息技术','接入','收入','江苏','银行','管理部','大额','中国电信','营业部','营运','账户','网络科技','广州','深圳','韩国','业务','湖南','通用','农行','山东','夏季','大众','广东','循环','天津','重庆','秋冬','批发','批量','入账','创意','单笔','运行','转存','超级','永不','交行','产品','代收','会员','行部','电信','河北省','浙江省','钱包','连锁','转出','南京','福建','发货','取现','总公司','联动','点评','自助','行内','补贴','商贸','处理','收款','武汉','湖北','热产','现金交易','用户','长沙市','预约','防水','商务','用途','三佰陆','天天','备付','合买','拾度','广州市','贸易','赎回','奖元','河南','优势','专用','核心','营业','三快','狂欢节','特产','中间业务','原装','江苏省','有限责任','cn支付宝','com','hang','qq','zhou','中心消费','中心转账','交易您','交易直付','信息无','充值充值淘宝','充值支付','chn','cny','ml','充值余额','充值信用卡','充值淘宝','卡提现','支付支付','有限公司消费','有限公司转账','支行消费','有限公司支付宝','支付支付宝','有限公司转账','支付淘宝','还款转账','支出转账','支付余额','支付信用卡','支付充值','支付充值在线','支付在线','支付宝消费','支付转账','支行atm','收入转账','还款信用卡','还款充值信用卡','还款充值淘宝','还款支付宝','转入充值余额','转入充值淘宝','转入淘宝','转入转账','转账客户','转账转账','充值提现','充值转账','公支付宝','其它','有限公司atm','有限公司转帐','成功充值','成功淘宝','支付宝网上支付','支付提现','中心转帐','买家','交易充值您','atm','cdm','mdash','zhongguo','充值充值','取款atm','多件充值淘宝','支付付款','支付充值转账','有限公司上海','有限公司北京','有限公司财付','网购支付宝','转入余额','转账支付','转账淘宝','还款淘宝','crs','diy','pos','yfx','充值付款','支付宝atm','本级转帐','汇入他行','赚支付','','','','','','','','','']

count_vec=CountVectorizer(stop_words=stop_words_list,min_df=5,max_df=5000,max_features=100)

#计算词频矩阵

sparse_result_count=count_vec.fit_transform(describe_sum)

#输出稀疏矩阵

print(sparse_result_count)

#输出关键词

print('\nvocabularylist:

\n\n',count_vec.get_feature_names())

#输出关键词编号

pr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1