CN117974209A - 一种基于XGBoost模型的用户行为预测方法 - Google Patents
一种基于XGBoost模型的用户行为预测方法 Download PDFInfo
- Publication number
- CN117974209A CN117974209A CN202410081160.7A CN202410081160A CN117974209A CN 117974209 A CN117974209 A CN 117974209A CN 202410081160 A CN202410081160 A CN 202410081160A CN 117974209 A CN117974209 A CN 117974209A
- Authority
- CN
- China
- Prior art keywords
- user behavior
- data
- behavior data
- feature
- last
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000006399 behavior Effects 0.000 claims abstract description 165
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 23
- 238000003066 decision tree Methods 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 18
- 238000005315 distribution function Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 abstract description 10
- 238000004422 calculation algorithm Methods 0.000 abstract description 9
- 230000006872 improvement Effects 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 3
- 238000007637 random forest analysis Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000000546 chi-square test Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 235000003181 Panax pseudoginseng Nutrition 0.000 description 1
- 244000131316 Panax pseudoginseng Species 0.000 description 1
- 241000233805 Phoenix Species 0.000 description 1
- 238000013476 bayesian approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于XGBoost模型的用户行为预测方法,涉及计算机数据处理技术领域,包括以下步骤:获取用户行为数据并进行预处理,并对处理后的用户行为数据进行特征处理,得到用户行为特征;构建XGBoost模型;将处理后的用户行为数据输入至XGBoost模型,得到对应的预测结果。该实施例通过学习数据中的复杂模式来提供更准确的用户行为预测,并随着模型的不断优化和算法的改进,提高预测的准确性;可提供每个特征的重要性分数,进一步理解用户行为预测中各个特征对结果的影响,选择影响大于阈值的特征,进而帮助进行特征工程和模型优化,更精确地捕捉用户个人信息和消费习惯与用户购买行为之间的关系,大幅度降低计算量。
Description
技术领域
本发明涉及计算机数据处理技术领域,具体涉及一种基于XGBoost模型的用户行为预测方法。
背景技术
互联网的飞速发展和各大手机品牌方的快速崛起,手机终端已经成为普通人日常生活中的必备元素。手机在消费者的日常消费中占据越来越重要的比例,针对手机运营商,从历史数据中找出规律,评估用户的消费需求,预判用户未来换机品牌,可以更有效地向用户推荐手机品牌,助力精准营销。国内外的手机运营商都致力于将统计和机器学习等方法用于用户行为预测的研究中,以提高评估预测的准确性。
在预测用户行为方面,许多研究者提出了不同的方法和模型来提高预测的准确性和效果。张宾等人针对传统机器学习方法需要设置大量超参数的问题,提出了一种基于深度森林的用户购买行为预测方法。该方法通过构建多个深度森林模型,并将它们的预测结果进行平均或投票来获得最终的预测结果。邵逸伦根据用户的历史行为,选择了LightGBM模型和CatBoost模型作为第一层的预测模型,并将它们的预测结果与多个随机森林模型进行融合,得到了用户购买行为的最终预测结果。霍振华针对国内社会服务企业在预测潜在的欠费客户的问题上,构建了基于XGBoost的电信客户欠费预测模型,并通过SpringBoot、Vue框架设计开发了一个电信客户欠费预测系统。通过使用XGBoost模型,可以对电信客户是否会出现欠费进行准确预测,并提供相关的决策支持。景秀丽等人利用天猫平台的用户样本数据,采用了XGBoost算法并在特征提取阶段构建了用户特征、商家特征、关系特征和促销特征四大特征。但上述方法所需计算量巨大,未分辨用户行为预测中哪些特征对结果影响最大,无法精准捕捉用户个人信息和消费习惯与用户购买行为之间的关系,进而导致用户行为预测结果的准确率下降。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于XGBoost模型的用户行为预测方法解决了现有技术未分辨用户行为预测中哪些特征对结果影响最大,以及无法精准捕捉用户个人信息和消费习惯与用户购买行为之间的关系,进而导致用户行为预测结果的准确率下降的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供了一种基于XGBoost模型的用户行为预测方法,其包括以下步骤:
S1、获取用户行为数据并进行预处理,得到处理后的用户行为数据;
S2、对处理后的用户行为数据进行特征处理,得到用户行为特征;
S3、构建XGBoost模型;
S4、将处理后的用户行为数据输入至XGBoost模型,得到对应的预测结果,完成对用户的行为预测。
进一步地,用户行为数据包括类别型数据和数值型数据;类别型数据包括用户历史终端品牌偏好、集团交往圈终端品牌偏好、新5G终端品牌、家庭交往圈终端品牌偏好、当前终端品牌、上次终端品牌、上上次终端品牌;数值型数据包括近三月月均上网天数、近三月2/3G流量平均占比、近三月限速次数、上月2/3G流量平均占比、上月限速次数、上上上月流量饱和度、上上月流量饱和度、上上上月DOU、上上月DOU、上月DOU、上上次终端使用时长、上上次终端是否双卡槽、上上次终端价格档次、上上次终端价格、上次终端使用时长、上次终端是否双卡槽、上次终端价格档次、上次终端价格、当前终端使用时长、当前终端是否双卡槽、当前终端价格档次、当前终端价格、近三年换终端次数、历史终端使用平均时长、上上上月ARPU、上上月ARPU、上月ARPU、上月主套餐内包含流量、上月主套餐费用;其中,DOU表示平均每户每月上网流量,ARPU表示企业在一段时间内从每个活跃用户处获得的平均收益的指标。
进一步地,步骤S1进一步包括:
S1-1、利用sklearn的LabelEncoder方法对用户的类别型数据进行处理,得到离散类别数据;
S1-2、对数值型数据和离散类别数据进行填补,得到填补后的用户行为数据;
S1-3、对填补后的用户行为数据进行去重筛选,得到筛选后的用户行为数据;
S1-4、对筛选后的用户行为数据进行数据归一化,得到归一化后的用户行为数据,即处理后的用户行为数据。
进一步地,步骤S2进一步包括:
S2-1、对处理后的用户行为数据进行计算,获取对应的卡方值和互信息;
S2-2、根据卡方值和互信息对处理后的用户行为数据进行筛选,保留卡方值和互信息均大于对应设定阈值的处理后的用户行为数据,得到二次筛选的用户行为数据;
S2-3、通过二次筛选的用户行为数据进行特征学习,得到时间特征衍生数据、业务特征衍生数据和统计特征衍生数据;
S2-4、将处理后的用户行为数据、时间特征衍生数据、业务特征衍生数据和统计特征衍生数据通过特征选择器进行选择,得到对应的用户行为特征。
进一步地,步骤S2-1的公式如下:
其中,A表示处理后的用户行为数据的观察值,E表示处理后的用户行为数据的期望值,∑(·)表示求和函数,z2表示卡方值,X、Y表示用户行为数据,x、y分别表示用户行为数据X对应的数值、用户行为数据Y对应的数值,p(x,y)表示用户行为数据X和用户行为数据Y对应的联合概率分布函数,p(x)表示用户行为数据X对应的边际概率分布函数,p(y)表示用户行为数据Y对应的边际概率分布函数,I(X;Y)表示互信息,log(·)表示以自然常数为底数的对数函数。
进一步地,步骤S2-3进一步包括:
S2-3-1、对二次筛选的用户行为数据的数值型数据进行百分比计算,对二次筛选的用户行为数据的类别型数据进行特征比较,得到对应的时间特征衍生数据;
S2-3-2、对二次筛选的用户行为数据进行特征拼接,学习不同数据之间的关联性,得到对应的业务特征衍生数据;
S2-3-3、对二次筛选的用户行为数据进行计算,得到对应变异系数;比较各变异系数,学习不同数据之间的稳定性和波动性差异,得到对应的统计特征衍生数据。
进一步地,步骤S2-4进一步包括:
S2-4-1、将处理后的用户行为数据、时间特征衍生数据、业务特征衍生数据和统计特征衍生数据输入至特征选择器进行计算,得到对应的重要性得分;
S2-4-2、对各个重要性得分进行排序,保留重要性分数排名前25个的数据并作为用户行为特征。
进一步地,XGBoost模型包括t个弱学习器,即t个决策树;
XGBoost模型的训练过程为:
A1、根据公式:
对XGBoost模型进行K次迭代,并得到第K次迭代后的结果其中,Σ(·)表示求和函数,xi表示第i个用户行为特征,fk(xi)表示第k棵决策树,K表示决策树总数;
A2、根据公式:
得到损失函数Obj(θ);其中,γ、λ表示权重系数,C表示常数,wj表示第j个叶子节点的节点值,T表示当前子树的深度,n表示用户行为特征总数,yi表示第i个用户行为特征的真实结果,表示组合t-1棵决策树对用户行为特征xi的预测结果,ft(xi)表示第t棵决策树,l(·)表示误差函数;
A3、根据损失函数调整XGBoost模型的参数,得到训练后的XGBoost模型。
本发明的有益效果为:通过学习数据中的复杂模式来提供更准确的用户行为预测,并随着模型的不断优化和算法的改进,提高预测的准确性;可提供每个特征的重要性分数,进一步理解用户行为预测中各个特征对结果的影响,选择影响大于阈值的特征,进而帮助进行特征工程和模型优化,更精确地捕捉用户个人信息和消费习惯与用户购买行为之间的关系,大幅度降低计算量。
附图说明
图1为本发明的方法流程图;
图2为各个特征的重要性分数排序图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,一种基于XGBoost模型的用户行为预测方法包括以下步骤:
S1、获取用户行为数据并进行预处理,得到处理后的用户行为数据;
用户行为数据包括类别型数据和数值型数据;类别型数据包括用户历史终端品牌偏好、集团交往圈终端品牌偏好、新5G终端品牌、家庭交往圈终端品牌偏好、当前终端品牌、上次终端品牌、上上次终端品牌;数值型数据包括近三月月均上网天数、近三月2/3G流量平均占比、近三月限速次数、上月2/3G流量平均占比、上月限速次数、上上上月流量饱和度、上上月流量饱和度、上上上月DOU、上上月DOU、上月DOU、上上次终端使用时长、上上次终端是否双卡槽、上上次终端价格档次、上上次终端价格、上次终端使用时长、上次终端是否双卡槽、上次终端价格档次、上次终端价格、当前终端使用时长、当前终端是否双卡槽、当前终端价格档次、当前终端价格、近三年换终端次数、历史终端使用平均时长、上上上月ARPU、上上月ARPU、上月ARPU、上月主套餐内包含流量、上月主套餐费用;其中,DOU表示平均每户每月上网流量,ARPU表示企业在一段时间内从每个活跃用户处获得的平均收益的指标。
步骤S1进一步包括:
S1-1、利用sklearn的LabelEncoder方法对用户的类别型数据进行处理,得到离散类别数据;
S1-2、对数值型数据和离散类别数据进行填补,得到填补后的用户行为数据;可选择众数法、补0法、均值法进行填补操作。
S1-3、对填补后的用户行为数据进行去重筛选,得到筛选后的用户行为数据;为提高数据质量和准确性,并确保分析和建模的可靠性,有必要对数据进行精炼,对集中的重复数据进行剔除,并保留首次出现的数据。这一过程涉及根据建模目标选择满足要求的数据子集,通过数据集进行筛选,消除了因数据重复引起的潜在错误和偏差,从而增强了数据的可信度。
S1-4、对筛选后的用户行为数据进行数据归一化,得到归一化后的用户行为数据,即处理后的用户行为数据。
数据归一化用于将数据转换为统一的尺度,以消除不同特征之间的量纲差异。在用户行为预测中,不同特征往往具有不同的取值范围和分布,这可能会影响模型的学习和预测能力。在本发明中,对数据集中的“上月主套内包含流量”、“上月主套餐费用”、“上月ARPU”等12个不同特征采用MinMaxScaler方法进行归一化处理。将数据线性地映射到[0,1]范围内,通过计算每个数据点与数据范围的最小值和最大值之间的比例来进行缩放。将数据归一化到相同的尺度,能够减少特征之间的差异,并提高模型的稳定性和性能。
数据归一化的公式为:
其中,x*表示处理后的用户行为数据,x表示筛选后的用户行为数据,min(·)表示最小值函数,max(·)表示最大值函数。
S2、对处理后的用户行为数据进行特征处理,得到用户行为特征;
步骤S2进一步包括:
S2-1、对处理后的用户行为数据进行计算,获取对应的卡方值和互信息;
步骤S2-1的公式如下:
其中,A表示处理后的用户行为数据的观察值,E表示处理后的用户行为数据的期望值,∑(·)表示求和函数,z2表示卡方值,X、Y表示用户行为数据,x、y分别表示用户行为数据X对应的数值、用户行为数据Y对应的数值,p(x,y)表示用户行为数据X和用户行为数据Y对应的联合概率分布函数,p(x)表示用户行为数据X对应的边际概率分布函数,p(y)表示用户行为数据Y对应的边际概率分布函数,I(X;Y)表示互信息,log(·)表示以自然常数为底数的对数函数。
卡方检验可用于评估特征与离散目标变量之间的相关性,而互信息可用于评估特征与连续目标变量之间的相关性。通过特征发散性检验,可以选择与目标变量相关性较高的特征,并将其用于建模和预测。特征发散性检验是一种常用的特征选择方法,可用于评估特征和目标变量之间的相关性。特征发散性检验可以计算特征与目标之间的卡方检验统计量或互信息,以衡量两者之间的相关性。
S2-2、根据卡方值和互信息对处理后的用户行为数据进行筛选,保留卡方值和互信息均大于对应设定阈值的处理后的用户行为数据,得到二次筛选的用户行为数据;
S2-3、通过二次筛选的用户行为数据进行特征学习,得到时间特征衍生数据、业务特征衍生数据和统计特征衍生数据;
步骤S2-3进一步包括:
S2-3-1、对二次筛选的用户行为数据的数值型数据进行百分比计算,对二次筛选的用户行为数据的类别型数据进行特征比较,得到对应的时间特征衍生数据;时间跨度特征衍生是基于时间序列的特征,通过计算相邻两月或三月特征的波动百分比来反映数值型变量的变化趋势,用于帮助理解数据的时间相关性和趋势变化。例如,将("上月DOU"-"上上月DOU")/"上上月DOU"*100%,得到的值表示了"上月DOU"相对于"上上月DOU"的变化幅度,并乘以100%以转换为百分比。根据上月ARPU、上上月ARPU、上上上月ARPU,可以依据时间跨度构建上月ARPU-上上月ARPU、上月ARPU-上上月ARPU-上上上月ARPU等多维衍生特征,为后续的特征选择和模型预测提供了有价值的信息。同时,对于类别型变量,可以比较相邻两月或三月特征是否发生变化,从而了解类别变量的变化情况。
S2-3-2、对二次筛选的用户行为数据进行特征拼接,学习不同数据之间的关联性,得到对应的业务特征衍生数据;业务特征衍生是根据实际业务场景进行的特征衍生;通过将不同特征进行组合或拼接,可以捕捉到不同特征之间的关联性。比如,将上次终端品牌和上次终端价格拼接在一起形成新的特征,可以更清楚地看到不同品牌的终端产品在价格上的差异,进而更好地分析和理解品牌和价格之间的关系。
S2-3-3、对二次筛选的用户行为数据进行计算,得到对应变异系数;比较各变异系数,学习不同数据之间的稳定性和波动性差异,得到对应的统计特征衍生数据。业务特征衍生是根据实际业务场景进行的特征衍生;通过将不同特征进行组合或拼接,可以捕捉到不同特征之间的关联性。比如,将上次终端品牌和上次终端价格拼接在一起形成新的特征,可以更清楚地看到不同品牌的终端产品在价格上的差异,进而更好地分析和理解品牌和价格之间的关系。变异系数的公式为:
S2-4、将处理后的用户行为数据、时间特征衍生数据、业务特征衍生数据和统计特征衍生数据通过特征选择器进行选择,得到对应的用户行为特征。
如图2,步骤S2-4进一步包括:
S2-4-1、将处理后的用户行为数据、时间特征衍生数据、业务特征衍生数据和统计特征衍生数据输入至特征选择器进行计算,得到对应的重要性得分;
其中,z表示设置的特征阈值,rk(z)表示重要性得分,x'表示样本的特征值,h表示特征值x'对应的参数,Dk表示第k个特征的每个样本的特征值x'ik与其相对应的hi组成的集合。
特征选择器可为XGBoost模型,并利用梯度提升算法对XGBoost模型进行训练。
S2-4-2、对各个重要性得分进行排序,保留重要性分数排名前25个的数据并作为用户行为特征。数据包括处理后的用户行为数据、时间特征衍生数据、业务特征衍生数据和统计特征衍生数据。
S3、构建XGBoost模型;
S4、将处理后的用户行为数据输入至XGBoost模型,得到对应的预测结果,完成对用户的行为预测。
XGBoost模型包括t个弱学习器,即t个决策树;
XGBoost模型的训练过程为:
A1、根据公式:
对XGBoost模型进行K次迭代,并得到第K次迭代后的结果其中,Σ(·)表示求和函数,xi表示第i个用户行为特征,fk(xi)表示第k棵决策树,K表示决策树总数;
在每一轮迭代中,XGBoost会根据上一轮模型的预测误差来调整当前学习器的权重,从而降低整体模型的损失函数,最终,XGBoost将多个弱学习器的预测结果进行加权合并,得到最终的预测结果。
XGBoost需要将多棵树的得分累加得到最终的预测得分,每一次迭代,都在现有树的基础上增加一棵树,拟合前面树的预测结果与真实值之间的残差,即:
初始化:
表示初始化的结果;
往模型中加入第一棵树:
表示第1次迭代后的结果,f1(xi)表示第一棵树;
往模型中加入第二棵树:
表示第2次迭代后的结果,f2(xi)表示第二棵树;
往模型中加入第t棵树:
表示第t次迭代后的结果,/>表示第t-1次迭代后的结果,ft(xi)表示第t棵树。
A2、根据公式:
得到损失函数Obj(θ);其中,γ、λ表示权重系数,C表示常数,wj表示第j个叶子节点的节点值,T表示当前子树的深度,n表示用户行为特征总数,yi表示第i个用户行为特征的真实结果,表示组合t-1棵决策树对用户行为特征xi的预测结果,ft(xi)表示第t棵决策树,l(·)表示误差函数;
A3、根据损失函数调整XGBoost模型的参数,得到训练后的XGBoost模型。
在本发明的一个实施例中,所用数据均来自中国移动“梧桐杯”大数据创新大赛数据集,包含557658个匿名用户的基本信息及行为数据。将训练集分为测试集和训练集,按照三七分的比例进行划分,70%作为训练集,30%作为测试集,充分利用数据集,进行多次重复训练和评估。除选择XGBoost模型进行预测外,实验例采用随机森林(Random Forest)、决策树(Decision Tree)、支持向量机(Support Vector Machine)、逻辑回归(LogisticRegression)四种算法模型进行比较。如表1所示,对五种模型进行训练,参数都设置为默认值的情况下XGBoost模型的性能较好,故最终选择了XGBoost模型。
表1五种模型默认参数训练的准确率
XGBoost模型的训练过程中,Booster参数用于控制每一步Booster的生成,其参数初始值如表2所示。其中,learning_rate为学习率,决定每次迭代中新模型的权重调整幅度,较小的学习率可以使模型更加稳定,较大的学习率可能导致模型过拟合;gamma控制模型中节点分裂的权重,值越大,算法越保守;subsample是用于训练模型的样本比例,可以控制模型对训练样本的随机抽样比例,防止过拟合,表示使用所有样本;colsample_bytree用于训练模型的特征比例,可以控制模型对特征的随机抽样比例,防止过拟合;reg_alpha是L1正则化项,加入L1正则化项可以控制模型的复杂度,防止过拟合;reg_lambda是L2正则化项,加入L2正则化项可以控制模型的复杂度,防止过拟合;max_depth是决策树的最大深度,可以控制模型的复杂度和拟合能力,较大的深度可能导致过拟合;min_child_weight表示控制节点分裂的最小权重,可以避免模型在节点分裂时过于细分,防止过拟合;n_estimators表示模型中使用的决策树的个数,增加决策树的个数可以增强模型的拟合能力,但也会增加计算开销。
表2 Booster参数初始值设置
XGBoost模型主要通过Optuna超参数自动化调优框架进行优化。Optuna是一个开源的超参数优化(HPO)框架,用于自动执行超参数的搜索空间。为了找到最佳的超参数集,Optuna使用贝叶斯方法。它支持以下各种类型的采样器:GridSampler(网格搜索)、RandomSampler(随机采样)、TPESampler(树结构的Parzen估计器算法)、CmaEsSampler(CMA-ES算法)。Optuna的三个最核心的概念为目标函数(objective),单次试验(trial),和研究(study):objective负责定义待优化函数并指定参数/超参数范围,trial对应着objective的单次执行,study则负责管理优化,决定优化的方式,总试验的次数、试验结果的记录等功能。
选取影响训练表现的主要参数有learning_rate、subsample、colsample_bytree、reg_alpha、reg_lambda、max_depth。优化目标为最小化,总试验的次数设置为3次,以找到最优的超参数组合。从最终训练中获得的最佳参数如表2所示,采用最优参数组合的XGBoost模型建模。
从最终训练中获得的最佳参数如表3所示,采用最优参数组合的XGBoost模型建模。
表3 XGBoost最优参数
该实施例选择召回率(Recall)、精确率(Precision)和F1分数(F1 score)作为评价XGBoost模型的评价指标,对应的公式如下:
其中,R表示召回率,P表示精确率,F1表示F1分数,TP表示实际为正例且被正确预测为正例的样本数量,FP表示实际为负例但被错误预测为正例的样本数量,FN表示实际为正例但被错误预测为负例的样本数量。
表4 XGBoost预测性能指标
如表4所示,该实施例的XGBoost模型的召回率为0.593,精确率为0.565,F1分数为0.548,可知通过XGBoost模型进行结果预测,预测效果优异,对用户行为进行预测和分析提供有力的支持,为企业决策和策略制定提供重要的参考依据。
综上所述,该实施例通过学习数据中的复杂模式来提供更准确的用户行为预测,并随着模型的不断优化和算法的改进,提高预测的准确性;可提供每个特征的重要性分数,进一步理解用户行为预测中各个特征对结果的影响,选择影响大于阈值的特征,进而帮助进行特征工程和模型优化,更精确地捕捉用户个人信息和消费习惯与用户购买行为之间的关系,大幅度降低计算量。
Claims (8)
1.一种基于XGBoost模型的用户行为预测方法,其特征在于:包括以下步骤:
S1、获取用户行为数据并进行预处理,得到处理后的用户行为数据;
S2、对处理后的用户行为数据进行特征处理,得到用户行为特征;
S3、构建XGBoost模型;
S4、将处理后的用户行为数据输入至XGBoost模型,得到对应的预测结果,完成对用户的行为预测。
2.根据权利要求1所述的基于XGBoost模型的用户行为预测方法,其特征在于:所述用户行为数据包括类别型数据和数值型数据;所述类别型数据包括用户历史终端品牌偏好、集团交往圈终端品牌偏好、新5G终端品牌、家庭交往圈终端品牌偏好、当前终端品牌、上次终端品牌、上上次终端品牌;所述数值型数据包括近三月月均上网天数、近三月2/3G流量平均占比、近三月限速次数、上月2/3G流量平均占比、上月限速次数、上上上月流量饱和度、上上月流量饱和度、上上上月DOU、上上月DOU、上月DOU、上上次终端使用时长、上上次终端是否双卡槽、上上次终端价格档次、上上次终端价格、上次终端使用时长、上次终端是否双卡槽、上次终端价格档次、上次终端价格、当前终端使用时长、当前终端是否双卡槽、当前终端价格档次、当前终端价格、近三年换终端次数、历史终端使用平均时长、上上上月ARPU、上上月ARPU、上月ARPU、上月主套餐内包含流量、上月主套餐费用;其中,DOU表示平均每户每月上网流量,ARPU表示企业在一段时间内从每个活跃用户处获得的平均收益的指标。
3.根据权利要求2所述的基于XGBoost模型的用户行为预测方法,其特征在于:所述S1进一步包括:
S1-1、利用sklearn的LabelEncoder方法对用户的类别型数据进行处理,得到离散类别数据;
S1-2、对数值型数据和离散类别数据进行填补,得到填补后的用户行为数据;
S1-3、对填补后的用户行为数据进行去重筛选,得到筛选后的用户行为数据;
S1-4、对筛选后的用户行为数据进行数据归一化,得到归一化后的用户行为数据,即处理后的用户行为数据。
4.根据权利要求1所述的基于XGBoost模型的用户行为预测方法,其特征在于:所述步骤S2进一步包括:
S2-1、对处理后的用户行为数据进行计算,获取对应的卡方值和互信息;
S2-2、根据卡方值和互信息对处理后的用户行为数据进行筛选,保留卡方值和互信息均大于对应设定阈值的处理后的用户行为数据,得到二次筛选的用户行为数据;
S2-3、通过二次筛选的用户行为数据进行特征学习,得到时间特征衍生数据、业务特征衍生数据和统计特征衍生数据;
S2-4、将处理后的用户行为数据、时间特征衍生数据、业务特征衍生数据和统计特征衍生数据通过特征选择器进行选择,得到对应的用户行为特征。
5.根据权利要求4所述的基于XGBoost模型的用户行为预测方法,其特征在于:所述步骤S2-1的公式如下:
其中,A表示处理后的用户行为数据的观察值,E表示处理后的用户行为数据的期望值,Σ(·)表示求和函数,z2表示卡方值,X、Y表示用户行为数据,x、y分别表示用户行为数据X对应的数值、用户行为数据Y对应的数值,p(x,y)表示用户行为数据X和用户行为数据Y对应的联合概率分布函数,p(x)表示用户行为数据X对应的边际概率分布函数,p(y)表示用户行为数据Y对应的边际概率分布函数,I(X;Y)表示互信息,log(·)表示以自然常数为底数的对数函数。
6.根据权利要求4所述的基于XGBoost模型的用户行为预测方法,其特征在于:所述步骤S2-3进一步包括:
S2-3-1、对二次筛选的用户行为数据的数值型数据进行百分比计算,对二次筛选的用户行为数据的类别型数据进行特征比较,得到对应的时间特征衍生数据;
S2-3-2、对二次筛选的用户行为数据进行特征拼接,学习不同数据之间的关联性,得到对应的业务特征衍生数据;
S2-3-3、对二次筛选的用户行为数据进行计算,得到对应变异系数;比较各变异系数,学习不同数据之间的稳定性和波动性差异,得到对应的统计特征衍生数据。
7.根据权利要求4所述的基于XGBoost模型的用户行为预测方法,其特征在于:所述步骤S2-4进一步包括:
S2-4-1、将处理后的用户行为数据、时间特征衍生数据、业务特征衍生数据和统计特征衍生数据输入至特征选择器进行计算,得到对应的重要性得分;
S2-4-2、对各个重要性得分进行排序,保留重要性分数排名前25个的数据并作为用户行为特征。
8.根据权利要求1所述的基于XGBoost模型的用户行为预测方法,其特征在于:所述XGBoost模型包括t个弱学习器,即t个决策树;
所述XGBoost模型的训练过程为:
A1、根据公式:
对XGBoost模型进行K次迭代,并得到第K次迭代后的结果其中,Σ(·)表示求和函数,xi表示第i个用户行为特征,fk(xi)表示第k棵决策树,K表示决策树总数;
A2、根据公式:
得到损失函数Obj(θ);其中,γ、λ表示权重系数,C表示常数,wj表示第j个叶子节点的节点值,T表示当前子树的深度,n表示用户行为特征总数,yi表示第i个用户行为特征的真实结果,表示组合t-1棵决策树对用户行为特征xi的预测结果,ft(xi)表示第t棵决策树,l(·)表示误差函数;
A3、根据损失函数调整XGBoost模型的参数,得到训练后的XGBoost模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410081160.7A CN117974209A (zh) | 2024-01-17 | 2024-01-17 | 一种基于XGBoost模型的用户行为预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410081160.7A CN117974209A (zh) | 2024-01-17 | 2024-01-17 | 一种基于XGBoost模型的用户行为预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117974209A true CN117974209A (zh) | 2024-05-03 |
Family
ID=90852521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410081160.7A Pending CN117974209A (zh) | 2024-01-17 | 2024-01-17 | 一种基于XGBoost模型的用户行为预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117974209A (zh) |
-
2024
- 2024-01-17 CN CN202410081160.7A patent/CN117974209A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766929B (zh) | 模型分析方法及装置 | |
CN111061959B (zh) | 一种基于开发者特征的群智化软件任务推荐方法 | |
CN105786711A (zh) | 一种数据分析的方法及装置 | |
CN112149352B (zh) | 一种结合gbdt自动特征工程对营销活动点击的预测方法 | |
CN109325020A (zh) | 小样本使用方法、装置、计算机设备和存储介质 | |
CN112288137A (zh) | 一种计及电价和Attention机制的LSTM短期负荷预测方法及装置 | |
CN115131131A (zh) | 面向不平衡数据集多阶段集成模型的信用风险评估方法 | |
CN113033081A (zh) | 一种基于som-bpnn模型的径流模拟方法及系统 | |
CN110222838B (zh) | 文档排序方法、装置、电子设备及存储介质 | |
CN116468536A (zh) | 一种自动化风险控制规则生成的方法 | |
CN115907611A (zh) | 一种基于配件市场价值的配件库存管控方法 | |
CN115018562A (zh) | 用户预流失预测方法、装置及系统 | |
CN116911994B (zh) | 对外贸易风险预警系统 | |
CN117370766A (zh) | 一种基于深度学习的卫星任务规划方案评估方法 | |
CN115271282A (zh) | 基于模糊逻辑的客户价值确定方法及装置 | |
CN116542701A (zh) | 一种基于cnn-lstm组合模型的碳价预测方法及系统 | |
CN117974209A (zh) | 一种基于XGBoost模型的用户行为预测方法 | |
CN115829683A (zh) | 一种基于逆奖赏学习优化的电力积分商品推荐方法及系统 | |
CN114820074A (zh) | 基于机器学习的目标用户群体预测模型构建方法 | |
CN110956528B (zh) | 一种电商平台的推荐方法及系统 | |
CN114219522A (zh) | 客户消费行为预测方法、装置、电子设备及存储介质 | |
CN113961818A (zh) | 一种基于长短期兴趣与社会影响力的群体需求预测方法 | |
CN111861705A (zh) | 金融风控逻辑回归特征筛选方法及系统 | |
Shao | Stock price prediction based on multifactorial linear models and machine learning approaches | |
CN109933715A (zh) | 一种基于listwise算法在线学习排序方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |