一种基于AdaBoost算法的微信公众号用户分类方法

文档序号:8412586阅读:440来源:国知局
一种基于AdaBoost算法的微信公众号用户分类方法
【技术领域】
[0001] 本发明涉及数据处理技术领域,具体地说是一种实用性强、基于AdaBoost算法的 微信公众号用户分类方法。
【背景技术】
[0002] 分类是指通过对已有数据的分析和学习,发现隐藏在数据内的规律,并利用这些 规律去对未来的数据进行预测和判断。在信息社会高速发展的今天,面对海量的数据,分类 技术就显得尤为重要,分类也是机器学习、数据挖掘领域的一个重要方法。已有的经典分类 算法,例如:KNN、贝叶斯算法、神经网络算法、支持向量机算法、集成学习等,都取得了广泛 的应用,并获得良好的效果。
[0003] 在移动互联时代,微信公众号的广泛推广为营销开拓了方向,而大量的用户信息 也比较分散。也就是数据集中某个类别的样本数量远远少于其他类别的样本数量,即数据 集分布是式不平衡的。
[0004] 因为传统的算法假设数据集的分布基本均衡,并以总体分类精度作为目标,这将 导致在对不平衡数据集分类过程中分类器对数量上占优势的多数类存在明显的偏好:提高 了多数类的分类精度,而对少数类的分类精度较低。
[0005] AdaBoost算法是一种比较常用的提升算法,其基本思想是:初始时赋予样本集中 每个样本相同的权重,并使用一个弱分类器进行训练,之后根据本次的分类结果对样本权 重重新进行调整,减小正分的样本权重,增加错分的样本权重,即更加注重错分的样本,经 过多次迭代后,错分样本权重越来越大,最后的分类结果由强分类器根据多个弱分类器加 权投票产生。
[0006] 通常在一个数据集中,边界的数据对于分类结果影响比较大,但是较难分类,即容 易被错分。在AdaBoost算法中,这些难分的边界数据权重会随着迭代过程的进行越来越 大。因而,我们使用AdaBoost算法训练数据集,经过多次的迭代,这些难分的数据权重较 大,使用这些边界数据进行过抽样。基于此,现提供一种基于AdaBoost算法的微信公众号 用户分类方法。

【发明内容】

[0007] 本发明的技术任务是针对以上不足之处,提供一种实用性强、基于AdaBoost算法 的微信公众号用户分类方法。
[0008] -种基于AdaBoost算法的微信公众号用户分类方法,其具体实现过程为: 当微信公众号用户日常操作与查询时,该操作与查询消息经过边界数据过抽样算法迭 代后,权重大的数据作为边界数据,对该边界数据进行抽样,将用户分类,当用户再次点击 操作时,系统推送热点消息。
[0009] 所述边界数据过抽样算法,按照边界数据的选择方法不同,分为以下两种算法:适 用边界数据权重大的依概率被选择边界数据的随机过抽样算法;强制选择少数类中权重大 的数据的少数类边界数据选择算法。
[0010] 所述随机过抽样算法的详细过程为: 输入原始训练集T :包含η个样本的数据集; 输出分类模型: 对于原始训练集Γ,使用AdaBoost算法做预处理,之后分离Γ中多数类与少数类,分 别存放在集合.V与P中,数量分别为μι与|Ρ| ; 根据集合户的权重,随机选择Μ个样本加入集合A,其中,t为过抽样的 倍数,重复执行,直到满足抽样的倍数A ; 合并所有新生成的少数类加入集合P ; 合并集合P与Γ,形成新的训练集合r ; Γ训练分类器; 算法结束。
[0011] 所述少数类边界数据选择算法的详细过程为: 输入原始训练集T :包含η个样本的数据集; 输出:分类模型; 对于原始训练集Γ,使用AdaBoost算法对其做预处理,之后分离Γ中多数类与少数 类,分别存放在集合-V与户中,数量分别为|別与|Ρ|,并计算户中样本的平均权重,记做 P ; 根据少数类的平均权重P,将少数类集合分为两部分大于平均权重的存入集合评, 数量为,小于平均权重的存入集合SP,数量为|SP| ;合并所有新生成的少数类加入集 合P ; 根据抽样倍数t,随机过抽样集合斯,并将所有新生成的少数类加入集合P ; 合并集合户与Γ,形成新的训练集合Γ ; Γ训练分类器; 算法结束。
[0012] 本发明的一种基于AdaBoost算法的微信公众号用户分类方法,具有以下优点: 本发明提出的一种基于AdaBoost算法的微信公众号用户分类方法,解决微信公众号 用户分类以更精准地推送消息问题,通过使用AdaBoost算法迭代多次后,实验的结果证明 了算法的有效性,可以用于提高用户消息推送精准度,实用性强,易于推广。
【附图说明】
[0013] 附图1是本发明中数据集的性质和k的设置表。
[0014] 附图2为算法在Tp rate的比较表。
[0015] 附图3为算法在F-value的比较表。
[0016] 附图4为算法在G-mean的比较表。
【具体实施方式】
[0017] 下面结合附图和具体实施例对本发明作进一步说明。
[0018] 本发明公开了一种基于AdaBoost算法的微信公众号用户分类方法,通过使用 AdaBoost算法迭代多次后,选择部分权重较大的数据作为边界数据,并对这部分边界数据 过抽样,使数据集趋于平衡,达到提高少数类分类精度的目的;将AdaBoost算法在微信公 众号框架执行,根据用户日常操作与查询信息,将用户分类,以便精准推送招标信息、物价 信息等;用户在点击订阅招标等操作时,系统推送热点信息。
[0019] 其具体实现过程为: 当微信公众号用户日常操作与查询时,该操作与查询消息经过边界数据过抽样算法迭 代后,权重大的数据作为边界数据,对该边界数据进行抽样,将用户分类,当用户再次点击 操作时,系统推送热点消息。
[0020] 所述边界数据过抽样算法,按照边界数据的选择方法不同,分为以下两种算法:适 用边界数据权重大的依概率被选择边界数据的随机过抽样算法;强制选择少数类中权重大 的数据的少数类边界数据选择算法。
[0021] 所述随机过抽样算法简称为B0BA-1算法,其详细过程为: 输入原始训练集T :包含η个样本的数据集; 输出分类模型: 对于原始训练集Γ,使用AdaBoost算法做预处理,之后分离Γ中多数类与少数类,分 别存放在集合Y与P中,数量分别为|糾与|Ρ| ; 根据集合p的权重,随机选择M个样本加入集合A,其中??I,it为过抽样的 倍数,重复执行,直到满足抽样的倍数Jt ; 合并所有新生成的少数类加入集合P ; 合并集合F与Γ,形成新的训练集合:r ; Γ训练分类器; 算法结束。
[0022] 在以上的B0BA-1算法中,可以看出,使用AdaBoost算法做预处理后,易于区分少 数类集合中边界数据与其它数据。边界数据权重较大,被选中的概率也较大,这不仅增加了 少数类数量,而且增加对分类更有帮助的边界数据。在此,我们使用随机过抽样算法而不是 SMOTE算法,是因为我们认为简单的算法在某些情况下效果更好,且更容易验证新算法的可 行性。此算法中,边界数据只是依概率被选择,可能存在某些边界数据不被选中的情况。为 此,我们又设计了下述算法,加强对少数类边界数据的选择,即强制选择少数类中权重较大 的数据,而不是据权重依概率选择。
[0023] 所述少数类边界数据选择算法简称为B0BA-2算法,其详细过程为: 输入原始训练集T :包含η个样本的数据集; 输出:分类模型; 对于原始训练集Γ,使用AdaBoost算法对其做预处理,之后分离Γ中多数类与少数 类,分别存放在集合iV与P中,数量分别为|-¥|与|Ρ|,并计算P中样本的平均权重,记做 P ; 根据少数类的平均权
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1