掌桥专利:专业的专利平台
掌桥专利
首页

一种基于XGBoost算法的异常用户识别方法、设备及计算机可读存储介质

文献发布时间:2023-06-19 11:22:42


一种基于XGBoost算法的异常用户识别方法、设备及计算机可读存储介质

技术领域

本发明涉及人工智能领域,尤其涉及一种基于XGBoost算法的异常用户识别方法、系统及设备。

背景技术

随着大数据时代发展,通信行业运营商之间的竞争也在增大,为吸收更多用户,运营商进行一些营销活动吸引从各种渠道注册的新用户,然而这种营销活动中会存在一些异常注册的用户,办理了手机卡不使用或者养卡、诈骗等风险用户,为识别这些异常用户,运营商利用用户每天都产生的大量数据,例如用户基本信息、上网行为数据、通信消费数据以及位置数据建立算法模型分类识别出异常用户。

目前,通信行业异常用户的识别,主要通过单一属性数据以及单一算法进行检测,数据方面主要是网络数据和移动位置数据;算法方面主要是基本的描述统计分析异常用户以及基于基础算法模型分析检测异常用户。

现有的通信行业异常用户检测技术存在以下问题:

(1)数据单一,覆盖不全。

行业现有异常用户检测技术单依赖于用户位置数据或者单依赖于用户上网数据进行网元检测,在大数据背景下,用户的行为越来越多样性,兴趣偏好也越来越多样化,使用单一维度数据进行分析检测往往识别率不高,准确率较低。

(2)检测方法较为基础,泛化能力较弱。

现有技术采用描述统计,通过统计用户各指标数据的均值、方差等难以识别异常用户,采用基础的机器学习算法对数据格式限制较高,部分模型不可用离散型数据,部分模型不可用连续型数据,采用的技术模型容易出现过拟合、欠拟合,模型不稳定,泛化能力弱,模型输出表现效果较差。

(3)计算复杂,资源占用大。

现有技术对数据和模型的处理步骤繁多复杂,因而计算量大,模型递归、迭代的执行效率低,占用计算机资源较大。

发明内容

为了克服现有技术的不足,本发明提供一种基于XGBoost算法的异常用户识别方法、设备及计算机可读存储介质,目的在于充分利用移动大数据,以适用更广泛、全面的业务场景,解决数据单一,覆盖不全的问题;使用集成算法,集成了弱学习器,提升模型泛化能力以及模型输出的表现效果,特征粒度并行优化,提升算法效率,减少计算量。

本发明采用的技术方案是:一种基于XGBoost算法的异常用户识别方法,具体实现步骤如下:

S1、数据预处理和特征选择:批量获取所需识别的用户在指定的一段时间内的用户数据,通过数据清洗与特征工程进行数据预处理,输出特征向量和类别标签;

S2、模型建立:将处理好的特征向量和类别标签作为模型输入的样本集D构造集成分类模型,模型计算预测值

S3、模型参数调优和模型验证:优化模型参数,通过对训练后的模型进行多次评估验证,取验证中检测效果最好的参数,输出该模型。

作为优选的,所述的用户数据包括:用户个人信息、用户是否实名、实名年龄、归属地、入网时长、激活时间、开机时长、apru值、主叫次数、被叫次数、总通话次数、网站访问次数、APP访问次数、使用流量、使用时段、访问IP、常驻小区基站、驻留小区的字段。

优选的,所述的步骤S1中,数据预处理的具体实现步骤如下:

A1、数据清洗:将提取的用户数据去除重复值、根据不同类别的数据处理缺失值、数据字段格式统一处理;

A2、特征工程:将清洗的数据进行标准化处理、对分类变量进行编码,转为哑变量,对定量字段特征进行二值化、将文本数据转换为数值型数据从而构建模型的特征向量。

优选的,所述的步骤S2,其具体实现的步骤如下:

B1、构造模型:将处理好的特征构造成样本集D={(x

B2、模型初始化:利用常量p初始化权重ω

B3、迭代并计算预测值:特征x

B4、迭代并计算误差:目标函数

B5、完成模型:采用梯度下降法,得到最优值ω′

优选的,所述的步骤S3中,模型评估的方法步骤如下:

C1、混淆矩阵:混淆矩阵用列表示预测类别,用列的总数表示预测为该类别的数据总数,用行表示样本的真实归属类别,行的总数表示该类别的数据实例总数,如下表1。

表1混淆矩阵

精准率Precision=TP/(TP+FP),值越高效果越好,召回率recall=TP/(TP+FN),值越高模型效果越好,其中TP表示正类预测为正类的数,真实为0,预测也为0,FN表示正类预测为负类的数,真实为0,预测为1,FP表示将负类预测为正类数,真实为1,预测为0,TN表示负类预测为负类数,真实为1,预测也为1;

C2、ROC曲线和AUC值:ROC曲线是混淆矩阵中以假正率为横坐标,真正率为纵坐标表示两个变量增长的关系的曲线,给定一个阈值,将大于阈值的样本划分为正类,小于阈值的样本划分为负类,ROC曲线越陡越好。AUC值是ROC曲线下的面积,AUC值越大,模型的性能越好,AUC=1对应的是理想模型。

一种基于XGBoost算法的异常用户识别设备,包含储存装置与处理器,所述储存装置用于存储一个或多个程序,当所述一个或多个程序被所述处理器执行时,所述处理器实现如上述一种基于XGBoost算法的异常用户识别方法,所述设备还可以优选地包括通信接口,所述通信接口用于与外部设备进行通信和数据交互传输。

一种基于XGBoost算法的异常用户识别计算机可读存储介质,包含计算机可读存储介质,其存储有至少一个程序,当所述程序被处理器执行时,实现上述一种基于XGBoost算法的异常用户识别方法。

本发明的有益效果是:集成弱学习器加强了模型表现效果,输入用户各个纬度的特征指标,建立XGBoost模型,利用泰勒二阶求导计算损失函数,调整权重矩阵,提升了模型表现效果以及识别率;同时可以通过自定义损失函数,根据不同业务场景输入特征变量,定义合适的损失函数,从而根据不同业务场景调整到合适的权重矩阵,以便适用更多业务场景的用户识别,提高政府、企业各类异常用户识别能力。

具体有益效果如下:

(1)通过使用多维度用户数据,提取用户更多特征,挖掘用户更多规律,使系统对数据的覆盖更全面;

(2)算法选择的弱学习器是CART算法,可以输入离散型特征和连续型特征,使模型数据格式突破常规限制,同时CART算法的运用和改进提升了运算效率;

(3)方案同时集成若干弱学习器,使模型表现效果加强,泛化能力加强,准确率和识别率均提高,使方案适用于更多业务场景,如电信诈骗用户识别、离网风险用户识别;

(4)采用列抽样,并行优化特征,减少计算量,节约了计算资源。

附图说明

图1为本发明的流程示意图;

图2为本发明的技术实现流程图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

本发明所需识别的异常用户,主要包括办理了手机卡不使用或者养卡、诈骗等风险用户,为识别这些异常用户,利用手机用户每天都产生的大量数据,例如用户基本信息、上网行为数据、通信消费数据以及位置数据建立算法模型分类识别出异常用户。主要使用手机用户人口属性数据:年龄、行业、是否实名、归属地、实名证件归属地;消费行为数据:月消费、apru值、主叫/被叫次数和费用、总通话次数等;上网行为数据:网站访问次数、APP访问次数、使用流量、使用时段、访问IP等;位置数据:常驻小区基站、驻留小区、其他数据:入网时长、用户状态、开机时长、激活时间等数据建立XGBoost模型,输出异常分类用户。

参见图1和图2,本发明是一种基于XGBoost算法的异常用户识别方法、设备及计算机可读存储介质,下为本发明的其中一个实施例,应用于广州移动大数据平台用户的异常用户识别,基于集成学习中的XGBoost算法,具体实施流程如下:

S1、数据预处理和特征选择:基于通信服务商大数据平台随机取活动期间注册的100万个用户数据近三个月的数据,主要包括用户是否实名、实名年龄、归属地、入网时长、激活时间、开机时长、apru值、主叫次数、被叫次数、总通话次数、网站访问次数、APP访问次数、使用流量、使用时段、访问IP、常驻小区基站、驻留小区等字段。

S11、数据清洗:将在大数据平台提取的用户数据去除重复值、根据不同类别的数据处理缺失值、数据字段格式统一处理;

S12、特征工程:将清洗好的数据进行Z-score标准化

S2、建立模型:模型输入特征向量X=(x

S21、特征向量X=(x

S22、模型初始化,利用常量p初始化权重ω

S23、计算预测值:迭代计算特征x

S24、计算误差:根据变形后的目标函数

S25、迭代使得目标损失函数obj′最小,得到最优值ω′

S3、模型参数调优和模型验证:

S31、模型评估:对训练的模型采用混淆矩阵评估,输出准确率Precision=TP/(TP+FP)和召回率recall=TP/(TP+FN),本实施例在迭代1500次后的准确率为82.41%,召回率为80.05%;

S32、ROC曲线和AUC值:模型以混淆矩阵中的假正率为横坐标,真正率为纵坐标表示两个变量增长的关系绘制ROC曲线,此时的AUC值=0.804:

S33、模型参数调优:对xgboost模型参数进行调优,通过对模型中参数eta、max_depth、nround、subsample、alpha、lambda、min_child_weight等的

调整;本实施例中当固定参数eta=0.3,subsample=0.6,参数alpha和lambda取默认值1,最大迭代次数nround=35,树的深度max_depth=42时,模型效果表现最优,10次实验的模型评估最终结果如下表2。

表2模型评估结果

包含储存装置与处理器,储存装置用于存储一个或多个程序,当一个或多个程序被处理器执行时,处理器实现如上述一种基于XGBoost算法的异常用户识别方法。

优选的设备还可以优选地包括通信接口,通信接口用于与外部设备进行通信和数据交互传输。

需要说明的是,上述存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(nonvolatile memory),例如至少一个磁盘存储器。

在具体实现上,如果存储器、处理器及通信接口集成在一块芯片上,则存储器、处理器及通信接口可以通过内部接口完成相互间的通信。如果存储器、处理器和通信接口独立实现,则存储器、处理器和通信接口可以通过总线相互连接并完成相互间的通信。

本发明还公开一种计算机可读存储介质,其存储有至少一个程序,当其程序被处理器执行时,实现如上述一种基于XGBoost算法的异常用户识别方法。

应当理解,上述计算机可读存储介质为可存储数据或程序的任何数据存储设备,且数据或程序其后可由计算机系统读取。计算机可读存储介质的示例包括:只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带和光学数据存储设备等。

计算机可读存储介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。

计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等,或者上述的任意合适的组合。

在一些实施方案中,计算机可读存储介质还可以是非暂态的。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

相关技术
  • 一种基于XGBoost算法的异常用户识别方法、设备及计算机可读存储介质
  • 一种基于XGBoost算法的操作系统识别方法、存储介质及设备
技术分类

06120112899383