基于C4.5决策树算法的特定用户挖掘系统及其方法与流程

文档序号:13761041阅读:382来源:国知局
基于C4.5决策树算法的特定用户挖掘系统及其方法与流程

本发明涉及直播网站数据挖掘领域,具体涉及一种基于C4.5决策树算法的特定用户挖掘系统及其方法。



背景技术:

近些年来,在直播行业飞速发展的同时,直播网站的用户也呈爆炸式增长。如何快速有效的将具有潜力的用户从全站用户中筛选出来,方便运营人员针对特定用户做进一步的精细化营销方案,提高用户的付费转化率,是每一个直播网站不可逃避的问题。

目前,传统的用户兴趣度挖掘多为人工提取、根据个人经验组合有效行为特征来人工筛选用户兴趣度。然而上述人工筛选的方法往往带有较大程度的主观性,另外,在海量数据的场景下,数据往往维度多、数据量大,靠人工是很难将用户兴趣度相关指标统计全面的。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于C4.5决策树算法的特定用户挖掘系统,其基于决策树挖掘算法能全面的统计用户兴趣度相关指标,挖掘特定用户。

为达到以上目的,本发明采取的技术方案是:一种基于C4.5决策树算法的特定用户挖掘系统,包括:

样本选择模块,其用于选择用户样本,所述用户样本根据类标签分为付费用户样本和未付费用户样本;

行为属性统计模块,其用于统计所述用户样本的分类属性的属性值;

样本处理模块,其用于将所述分类属性的属性值归一化处理作为训练样本数据;以及

算法平台,其用于接收所述训练样本数据,所述算法平台包括所述C4.5决策树算法,并为所述C4.5决策树算法提供算法接口,且所述算法平台基于所述训练样本数据和C4.5决策树算法训练C4.5决策树模型。

在上述技术方案的基础上,所述分类属性包括观看时长、观看次数、发弹幕数、送出虚礼礼物数、领取虚礼礼物数、关注房间数、关注分区数。

在上述技术方案的基础上,所述算法平台为Spark平台,所述Spark平台包括算法组件Spark MLlib,所述Spark MLlib包括算法库,所述算法库内设有所述C4.5决策树算法,且所述Spark MLlib为所述C4.5决策树算法提供算法接口。

在上述技术方案的基础上,所述算法平台基于C4.5决策树算法找出分类属性中信息增益率最大的分类属性,并将其作为待分裂的分类属性,所述算法平台还用于找出所述待分裂的分类属性的最佳分裂位置,并将所述训练样本数据在所述待分裂的分类属性的最佳分裂位置进行分裂,针对分裂后所得到的每一类数据,所述算法平台基于C4.5决策树算法在剩下的分类属性中各自再次确定待分裂的分类属性,再各自确定每一类数据各自的最佳分裂位置,最后对每一类数据在各自的最佳分裂位置按照再次确定待分裂的分类属性进行分裂,直到所有分类属性全部用完。

与此同时,本发明还提供一种基于决策树挖掘算法能全面的统计用户兴趣度相关指标,挖掘特定用户的方法。

为达到以上目的,本发明采取的技术方案是:一种利用上述特定用户挖掘系统挖掘特定用户的方法,包括以下步骤:

S1.样本选择模块选择用户样本,用户样本根据类标签分为付费用户样本和未付费用户样本;

S2.行为属性统计模块统计用户样本的分类属性的属性值;

S3.样本处理模块将分类属性的属性值归一化处理得到训练样本数据D;

S4.算法平台接收训练样本数据D,并训练C4.5决策树模型;

S5.C4.5决策树模型训练完毕后,将新的用户的分类属性的属性值按步骤S3归一化处理后输入训练好的C4.5决策树模型,结束。

在上述技术方案的基础上,所述训练C4.5决策树模型包括以下步骤:

S41.计算训练样本数据D的信息熵,其中pi表示第i个类别在训练样本数据D中出现的概率,i=1,2,...m,m的值与类标签的数量相等;

S42.记A为所有分类属性的属性集,分类属性Aj为属性集A中的一个元素,分类属性Aj将训练样本数据D分为v个不相交的子集{D1,D2...,Dv},计算按照分类属性Aj划分后的个子集的信息熵加权和,其中v的值与类标签的数量相等,Dj表示将D分为v类后第j类所对应的训练样本数据;

S43.计算属性集A中的每一个分类属性的信息增益,

S44.计算分类属性A中的每一个分类属性的信息增益率,其中是考虑分裂信息的度量,其中v的值与类标签的数量相等,Dj表示将D分为v类后第j类所对应的训练样本数据;

S45.找出属性集A中信息增益率最大的分类属性,并将其作为待分裂的分类属性;

S46.将训练样本数据D中待分裂的分类属性的属性值按照递增排序得到一数据集,将数据集划分为N+1种不同的两个子数据集,对应N+1个划分点,对于位于第一个划分点和最后一个划分点中间的N-1个划分点,通过计算N-1对两两相邻属性值的平均值来确定其位置,并保证待分裂的分类属性的所有属性值位于第一个划分点和最后一个划分点之间,根据N+1种不同的两个子数据集,计算所有划分点的信息增益,将信息增益最大的划分点作为最佳分裂位置,然后将训练样本数据D按照待分裂的分类属性在最佳分裂位置分裂成与类标签的数量相等的类别;

S47.对于训练样本数据D按照待分裂的分类属性在最佳分裂位置分裂成的每一类数据,重复执行步骤S41-S46,在属性集A剩下的分类属性中各自再次确定待分裂的分类属性,再各自确定每一类数据各自的最佳分裂位置,最后对每一类数据在各自的最佳分裂位置按照再次确定待分裂的分类属性进行分裂,直到属性集A中的所有分类属性全部用完。

在上述技术方案的基础上,所述行为属性统计模块统计用户的观看时长、观看次数、送出虚礼礼物数、领取虚礼礼物数、关注房间数、关注分区数。

在上述技术方案的基础上,所述算法平台为Spark平台,所述Spark平台包括算法组件Spark MLlib,所述Spark MLlib包括算法库,所述算法库内设有所述C4.5决策树算法,且所述Spark MLlib为所述C4.5决策树算法提供算法接口并训练C4.5决策树模型。

在上述技术方案的基础上,所述步骤S41中m的取值为2。

在上述技术方案的基础上,所述步骤S42中v的取值为2。

与现有技术相比,本发明的优点在于:

本发明的基于C4.5决策树算法的特定用户挖掘系统包括Spark平台,Spark平台包括算法组件Spark MLlib,Spark MLlib为C4.5决策树算法提供算法接口,基于C4.5决策树算法,能够在数据维度多、数据量大的情况下全面统计用户兴趣度相关指标,便于挖掘特定用户。此外基于Spark的内存计算,在计算速度方面更快,大大缩短了计算周期。

附图说明

图1为本发明中基于C4.5决策树算法的特定用户挖掘系统的结构示意图;

图2为本发明中挖掘特定用户的流程图;

图3为本发明中训练C4.5决策树模型的流程图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

参见图1所示,本发明提供一种基于C4.5决策树算法的特定用户挖掘系统,其包括样本选择模块、行为属性统计模块、样本处理模块和算法平台。

样本选择模块,其用于选择用户样本,用户样本根据类标签分为付费用户样本和未付费用户样本,其中付费用户样本标记为1,未付费用户样本标记为0。

行为属性统计模块,其用于统计用户样本的分类属性的属性值,本发明中统计的分类属性主要包括观看时长、观看次数、发弹幕数、送出虚礼礼物数、领取虚礼礼物数、关注房间数、关注分区数。

样本处理模块,其用于将分类属性的属性值归一化处理作为训练样本数据。因为上述的分类属性的量纲不同。为了避免因分类属性量纲不同,对分类结果造成影响,故对每个分类属性中的每一个属性值按照公式Y=(X-MinValue(X))/(MaxValue(X)-MinValue(X))进行归一化,其中X为某一个分类属性中对应的属性值,MinValue(X)表示这个分类属性中属性值里面的最小值,MaxValue(X)是这个分类属性中属性值的最大值,归一化之后的分类属性的属性值都集中在(0,1]之间。

算法平台,其用于接收训练样本数据,算法平台包括所述C4.5决策树算法,且为C4.5决策树算法提供算法接口,并训练C4.5决策树模型,且算法平台基于训练样本数据和C4.5决策树算法训练C4.5决策树模型。

本发明中的算法平台为Spark平台,Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,其拥有Hadoop MapReduce所具有的优点。但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,基于Spark的内存计算,在计算速度方面更快,大大缩短了计算周期。因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。Spark平台包括算法组件Spark MLlib(Machine Learning Library,机器学习库),Spark MLlib包括算法库,算法库内设有C4.5决策树算法,且Spark MLlib为C4.5决策树算法提供算法接口,并训练C4.5决策树模型。

C4.5决策树算法是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。

本发明中的算法平台基于C4.5决策树算法找出分类属性中信息增益率最大的分类属性,并将其作为待分裂的分类属性。算法平台还用于找出待分裂的分类属性的最佳分裂位置,并将训练样本数据在待分裂的分类属性的最佳分裂位置进行分裂,针对分裂后所得到的每一类数据,算法平台基于C4.5决策树算法在剩下的分类属性中各自再次确定待分裂的分类属性,再各自确定每一类数据各自的最佳分裂位置,最后对每一类数据在各自的最佳分裂位置按照再次确定待分裂的分类属性进行分裂,直到所有分类属性全部用完。

参见图2所示,本发明还提供一种基于C4.5决策树算法的特定用户挖掘系统挖掘特定用户的方法,包括以下步骤:

S1.样本选择模块选择用户样本,用户样本根据类标签分为付费用户样本和未付费用户样本;

本发明中的类标签有两个,即付费和未付费。

S2.行为属性统计模块统计用户样本的分类属性的属性值;

本发明中统计的用户的分类属性包括观看时长、观看次数、发弹幕数、送出虚礼礼物数、领取虚礼礼物数、关注房间数、关注分区数。

S3.样本处理模块将分类属性的属性值归一化处理得到训练样本数据D;

由于用户的分类属性的量纲不同。为了避免因分类属性量纲不同,对分类结果造成影响,故对每个分类属性中的每一个属性值按照公式Y=(X-MinValue(X))/(MaxValue(X)-MinValue(X))进行归一化,其中X为某一个分类属性中对应的属性值,MinValue(X)表示这个分类属性中属性值里面的最小值,MaxValue(X)是这个分类属性中属性值的最大值,归一化之后的分类属性的属性值都集中在(0,1]之间。

S4.算法平台接收训练样本数据D,并训练C4.5决策树模型;

本发明中的算法平台为Spark平台,Spark平台包括算法组件Spark MLlib,Spark MLlib包括算法库,算法库内设有所述C4.5决策树算法,且Spark MLlib为所述C4.5决策树算法提供算法接口,并训练C4.5决策树模型。参见图3所示,本发明中的算法平台训练C4.5决策树模型包括以下步骤:

S41.计算训练样本数据D的信息熵,其中pi表示第i个类别在整个训练样本数据中出现的概率,i=1,2,...m,m的值与类标签的数量相等;本发明中m的取值为2。

S42.记A为所有分类属性的属性集,分类属性Aj为属性集A中的一个元素,分类属性Aj将训练样本数据D分为v个不相交的子集{D1,D2...,Dv},计算按照分类属性Aj划分后的个子集的信息熵加权和,其中v的值与类标签的数量相等,Dj表示将D分为v类后第j类所对应的训练样本数据;本发明中v的取值为2。

S43.计算属性集A中的每一个分类属性的信息增益,

S44.计算分类属性A中的每一个分类属性的信息增益率,其中是考虑分裂信息的度量,其中v的值与类标签的数量相等,Dj表示将D分为v类后第j类所对应的训练样本数据;

S45.找出属性集A中信息增益率最大的分类属性,并将其作为待分裂的分类属性;

S46.将训练样本数据D中待分裂的分类属性的属性值按照递增排序得到一数据集,将数据集划分为N+1种不同的两个子数据集,对应N+1个划分点,对于位于第一个划分点和最后一个划分点中间的N-1个划分点,通过计算N-1对两两相邻属性值的平均值来确定其位置,并保证训练样本数据D中待分裂的分类属性的所有属性值位于第一个划分点和最后一个划分点之间。N+1个划分点将数据集划分为N+1种不同的两个子数据集,然后利用步骤S41-S43中所述的方式计算所有划分点的信息增益,将信息增益最大的划分点作为最佳分裂位置,然后将训练样本数据D按照待分裂的分类属性在最佳分裂位置分裂成与类标签的数量相等的类别;

本发明为了保证训练样本数据D中待分裂的分类属性的所有属性值位于第一个划分点和最后一个划分点之间,将第一个记录的属性值减1作为第一个划分点的位置,将最后一个记录的属性值加1作为最后一个划分点的位置。

S47.对于训练样本数据D按照待分裂的分类属性在最佳分裂位置分裂成的每一类数据,重复执行步骤S41-S46,在属性集A剩下的分类属性中再次确定待分裂的分类属性,再确定每一类数据各自的最佳分裂位置,最后对每一类数据在各自的最佳分裂位置按照再次确定待分裂的分类属性进行分裂,直到属性集A中的所有分类属性全部用完。

需要指出的是,重复执行步骤S41的过程中,其计算的是分裂后每一类数据的信息熵,而不是训练样本数据D的信息熵。

具体的,本发明的分类属性包括观看时长、观看次数、发弹幕数、送出虚礼礼物数、领取虚礼礼物数、关注房间数、关注分区数。若步骤S45确定了观看时长为待分裂的分类属性,则通过步骤S46确定最佳分裂位置,然后便将训练样本数据D按照待分裂的分类属性在最佳分裂位置分裂成的两类数据(因为本发明的类标签为2),然后针对这两类数据各自重复执行步骤S41-S46,此时在除观看时长外的分类属性中,再次确定这两类数据各自的待分裂的分类属性,然后再分别确定这两类数据各自的最佳分裂位置,然后完成分裂,分裂一直持续到所有分类属性全部用完为止。

S5.C4.5决策树模型训练完毕后,将新的用户的分类属性的属性值按步骤S3归一化后输入训练好的C4.5决策树模型,结束。

因为C4.5通过学习找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。故将新的用户数据按训练样本数据的格式输入训练好的C4.5决策树模型,就能得到预测的新用户的类别,得到用户兴趣度相关指标,从而判断其是否是特定用户。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1