用户流量分析模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

版本:1.0 安徽联通用户流量分析模型

2012年01月12日

文件建立/修改记录

一、工具选择与算法选择

选用Clementine建模工具里面的决策树算法C5.0对本网用户的流量使用情况进行分析,类别划分。

二、决策树算法介绍

决策树算法构造决策树来发现数据中蕴涵的分类规则.如何构造精度高、规模小的决策树是决策树算法的核心内容。决策树构造可以分两步进行。第一步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。第二步,决策树的剪技:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修下的过程,主要是用新的样本数扼集(称为测试数据集)中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。

1)树以代表训练样本的单个结点开始。

2)如果样本都在同一个类.则该结点成为树叶,并用该类标记。

3)否则,算法选择最有分类能力的属性作为决策树的当前结点.

4)根据当前决策结点属性取值的不同,将训练样本数据集tlI分为若干子集,每个取值形成一个分枝,有几个取值形成几个分枝。匀针对上一步得到的一个子集,重复进行先前步骤,递4'I形成每个划分样本上的决策树。一旦一个属性出现在一个结点上,就不必在该结点的任何后代考虑它。

6)递归划分步骤仅当下列条件之一成立时停止:

①给定结点的所有样本属于同一类。

②没有剩余属性可以用来进一步划分样本.在这种情况下.使用多数表决,将给定的结点转换成树叶,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该结点样木的类别分布,

③如果某一分枝tc,七砰如恤卜a*没有样本,则以样.本的多数类创建一个树叶。

决策树构造的输入是一组带有类别标记的例子,构造的结果是一棵二叉树或多叉树。二叉树的内部节点(非叶子节点)一般表示为一个逻辑判断,如形式为a=aj的逻辑判断,其中a是属性,aj是该属性的所有取值:树的边是逻辑判断的分支结果。多叉树(ID3)的内部结点是属性,边是该属性的所有取值,有几个属性值就有几条边。树的叶子节点都是类别标记。

由于数据表示不当、有噪声或者由于决策树生成时产生重复的子树等原因,都会造成产生的决策树过大。因此,简化决策树是一个不可缺少的环节。寻找一棵最优决策树,主要应解决以下3个最优化问题:①生成最少数目的叶子节点;②生成的每个叶子节点的深度最小;③生成的决策树叶子节点最少且每个叶子节点的深度最小。

三、数据预处理及准备

首先关联本网用户资料信息表,联通用户资料半年汇总表,3G业务资料表,统计出用户收入,用户增值费用,用户年龄,用户在网时长与用户使用流量的关系,及按流量使用量,套餐内流量使用情况,套餐内流量剩余流量将用户分档统计(详细见附件)。后将用户资料11月份数据清洗(除去离网用户,测试卡用户,上网卡用户)后作为模型数据来源。取数sql如下:

create table spss_flow as (

select er_id,

a.phone_no,

a.online_dura,

(a.addval_fee + a.call_fee + a.month_fee) as arpu,

a.addval_fee,

NVL(_flow, 0) / (case

WHEN trim(a.prodt_cde) = '42221'THEN

150

ELSE

p.RUN_COUNT_IN

END) as shiyonglv,

((case

WHEN trim(a.prodt_cde) = '42221'THEN

150

ELSE

p.RUN_COUNT_IN

END) - NVL(_flow, 0)) / (case

WHEN trim(a.prodt_cde) = '42221'THEN

150

ELSE

p.RUN_COUNT_IN

END) as shengyulv,

b.age_level_code,

_flow

from tb_b_ft_prd_inst partition(p201111) a

left join tb_b_dim_prd_3g p on trim(p.offer_id) = trim(a.PRODT_CDE) left join tb_b_ft_prd_inst_bn b on trim(er_id) = er_id where a.online_user_flag = '1'

and a.ceshi_user_flag <> '1'

AND A.PRODT_CDE NOT IN

('14419', '44364', '25924', '63155', '63160', '63399', '42221') );

四、建模过程及流文件说明

首先将建模数据导出为CSV文件并保存在一个路径

然后打开clementine工具,在面板下方找到文件节点:,打开它,然后选中CSV文件路径即可导入数据文件:

,选择字段选项下的过滤节点,拖入工作区,将电话号码及USER_ID过滤掉,选择字段选项下的填充节点,选择需要去null的字段,将null值和无效值置换为0,选择字段选项下的类型节点,选择字段选项下的导出节

点,编辑导出节点,在导出为选项中选择标志,编辑公式编辑器,输入流量数大于0作为条件,测试成功后点击确定,再选择类型节点,设置输入输出参

数,将是否产生流量作为输出,在网时长,年龄,收入,增值用作为输入参数,

最后在建模下拖入C5.0模型节点,编辑节点,设置输出类型,决策树方式,剪枝程度100,确定后执行节点。

并点击按钮,弹出执行界面:

如果执行过程中,想终止执行,点击:即可,模型正常执行完成后,执行界面会消失,此时可在面板右方:

找到模型最终执行结果:,右键点击该模型节点的浏览选项查看模型即可.结果:

相关文档
最新文档