第 30 卷第 1  期2024 年 2 月
Vol. 30 No.1February  2024
基于消费者行为的XGBoost
分析与研究
*
蔡鲲鹏a ,马莉娟b
(阜阳师范大学    a.计算机与信息工程学院,b.历史文化与旅游学院,安徽 阜阳 236041)
摘 要:XGBoost (Extreme Gradient Boosting )是一种强大的机器学习算法,它在处理大规
模数据集和复杂特征时表现出。文章首先介绍了XGBoost 算法的基本原理,然后详细讨论了如何将其应用于消费者行为分析,并使用了真实的消费者数据集,包括顾客标识、商品标识和顾客购买行为等多维度信息。通过构建XGBoost 模型,其能够识别重要的特征,预测消费者购买意向,并提供个性化的推荐建议。此外,对于模型的性能评估和优化方法进行了一定程度的讨论,以确保其准确性和实用性。最后,通
过总结该研究的主要发现,强调了基于消费者行为的XGBoost 分析在市场营销和商业决策中的潜在应用。在深入挖掘消费者行为数据后,企业可以更好地满足客户需求,提高销售效率,实现可持续的竞争优势,并为利用机器学习技术来优化市场策略提供了有力支持。
关键词:XGBoost ;消费者行为;市场营销;商业决策
中图分类号: TP391 文献标识码: A 文章编号: 1673-8462(2024)01-0079-06
0 引言
随着互联网和电子商务的迅速发展,消费者行为分析已经成为市场营销和商业决策中至关重要的一环。企业和组织不再仅仅依赖传统的市场研究方法,而是积极采用机器学习和数据科学技术,以更好地理解和预测消费者的行为。其中,XGBoost (Ex⁃treme Gradient Boosting )算法作为一种强大的机器学习工具,正在广泛应用于消费者行为分析领域,以实现更准确的消费者洞察和个性化的市场策略。笔者主要深入探讨基于消费者行为的XGBoost 分析方
法,并介绍其在市场营销和商业领域的潜在应用。首先,简要介绍XGBoost 算法的基本原理和特点,以及其在机器学习领域的广泛应用。其次,详细探讨如何将XGBoost 算法应用于消费者行为分析,包括数据准备、特征工程、模型构建和性能评估等关键步骤。通过一个真实的案例研究,演示如何利用XGBoo
st 模型来预测消费者的购买意向,并提供个性化的产品推荐。最后,讨论这一方法的潜在益处,以及未来在这一领域的研究方向。Chen T 等人[1]介绍了XG⁃Boost 算法,它是一种梯度提升树算法,用于解决各
收稿日期:2024⁃01⁃08.
基金项目:安徽省高校自然科学研究重点项目(2023AH050419);安徽省高校哲学社会科学研究重点项目(2023AH050369)。 作者简介:蔡鲲鹏(1988-),男,安徽阜阳人,硕士,阜阳师范大学讲师,研究方向:数据挖掘;马莉娟(1991-),女,河南驻马店
人,硕士,阜阳师范大学讲师,研究方向:旅游开发与规划。
广西民族大学学报(自然科学版)
JOURNAL OF GUANGXI MINZU UNIVERSITY
(Natural Science Edition )
79
2024 年 2 月第30 卷广西民族大学学报(自然科学版)
种机器学习问题。它在性能和准确性方面表现出,并广泛用于数据挖掘和预测任务。对于如何使用XG⁃Boost算法来预测电子商务中的点击率的问题,Li H,Guo J[2]描述并说明了XGBoost在广告点击预测等实际业务中的应用。Tong J等人[3]关注了使用梯度提升机器(包括XGBoost)来预测电子商务中的客户购买行为,这篇文章提供了在电子商务环境下使用XG⁃Boost的案例研究,强调了其预测能力。Rashid T等人[4]重点研究了在电信行业中使用XGBoost来预测客户流失,客户流失预测对于维护客户忠诚度至关重要,XGBoost在这一领域的应用有望提高预测准确性。Jia X等人[5]描述了基于XGBoost算法的客户行为分析和预测模型,它突出了XGBoost在分析客户行为和预测趋势方面的应用,特别是在管理和教育领域。Sánchez-Morales等人[6]研究了在移动电信行业中使用XGBoost来预测客户流失,客户流失对于电信公司是一个重要的问题,XGBoost被用来提高对客户流失的预测精度。Chen Y等人[7]介绍了一个混合模型,结合了XGBoost和长短时记忆网络(LSTM),用于预测电子商务中的客户流失。Sun X 等人[8]探讨了在电子商务中使用XGBoost来预测客户流失,它强调了数据科学和机器学习在电子商务领域中的实际应用,以提高客户保留率和销售效益。通过对客户行为数据的分析,Yang W[9]介绍了如何使用XGBoost来识别不同的客户体,并根据其需求和偏好提供定制化的推荐和促销活动。Wu H等人[10]通过将XGBoost与深度学习方法相结合,展示了如何更好地捕捉复杂的销售趋势和季节性变化,从而改进了销售预测的性能,这对于供应链管理和库存优化非常重要。
1 研究基础
1.1 算法概述
XGBoost是一种集成学习算法,它将多个弱学习器(通常是决策树)组合成一个强大的模型。它的核心思想是通过迭代训练弱学习器,然后将它们组合成一个更强大的模型,以提高预测的准确性。基于提升树(Boosting Tree)的思想,其中每个树都在前一个树的错误上进行训练。XGBoost使用自定义的损失函数,通常是一种结合了预测误差和模型复杂度的函数。其包含了正则化项,以限制树的复杂性,防止过拟合。它使用L1和L2正则化来控制模型的复杂度,以提高泛化能力,并采用了提前停止策略(Early Stopping),以避免在训练过程中出现过拟合。通过监控验证数据的性能,可以在模型开始过拟合之前停止训练。
1.2 算法原理
假设我们要解决的问题是一个回归问题,目标是学习一个预测函数f(x),其中x表示输入特征,f(x)表示输出的预测值。我们的目标是最小化损失
函数,通常采用均方误差(Mean Squared Error)来衡
量预测值与真实值之间的差异:正则化是结构风险最小化策略的实现
损失函数:
L(y,f(x))=(y-f(x))2(1)
其中,y表示真实的目标值。
XGBoost使用决策树作为弱学习器,每个决策树都是一棵回归树。回归树的目标是拟合训练数据的残差(即真实值与当前模型的预测值之间的差异)。这里的关键思想是,在每一轮迭代中,我们训练一棵新的回归树,然后将其添加到模型中以逐渐减小残差。XGBoost的目标是最小化以下加权损失函数:目标函数:
Obj(Θ)=Σ[L(y i,y i) +Re(Θt)](2)其中,
● Θ表示模型的参数,包括树的结构和叶子节点的值。
● i表示每个训练样本。
● ŷi表示当前模型的预测值。
● 损失函数L用于衡量模型对训练数据的拟合程度。
● 正则化项Re用于控制模型的复杂性,包括L1和L2正则化项。
XGBoost使用梯度提升的方法来优化目标函数。在每轮迭代中,它计算目标函数的负梯度,然后使用新的回归树拟合这个负梯度。这就是为什么它称为梯度提升(Gradient Boosting)的原因。
其中,负梯度:
g i= ∂L(y i,y i) / ∂y i(3)
H i=∂22L(y i,y i)/∂y2i(4)
其中,g i表示损失函数关于预测值的梯度,H i表示损失函数的二阶导数。
具体步骤:
a.初始化模型。开始时,初始化一个简单的模型作为初始预测值,通常是一个常数,如所有训练样本的平均值。
b.迭代训练。重复以下步骤:
●计算当前模型的梯度和二阶导数。
●训练一个新的回归树来拟合负梯度,以减小
80
2024 年第 1 期机技术
●蔡鲲鹏,马莉娟/基于消费者行为的XGBoost 分析与研究
损失函数。
●使用线性搜索来到最佳的树的结构(分裂点和叶子节点值)。
●更新模型参数,包括树的结构和叶子节点的值。
c.正则化。在每轮迭代后,应用正则化项来控制模型的复杂性。
d.提前停止。可以监控验证数据的性能,并在性能不再提高时停止训练,以避免过拟合。1.3 实验目标
总体目标是将潜在的消费者按照不同特征进行分类,并在分类的基础上进一步进行数据分析,在此基础上我们采用XGBoost 算法对消费者进行分类。
●通过数据预处理得到一些干净的数据。●将具有不同特征值的消费者进行分组。●在分类结果中,针对其中的结果进行具体分析。
2 方法
首先从淘宝官方获取数据,然后通过读取数据集的属性来学习数据集的一些特征和维度。其次,对数据集进行清理和预处理。一些空值和索引将被清理掉,清理后的数据保存为本地CSV 文件。数据处理完成后,引入XGboost 算法,并根据不同特征值绘制不同模型,根据这些具体模型做出具体分析。结果表明,XGboost 算法可以有效地对消费者进行分类。数据来源于淘宝阿里巴巴天池数据集,官方名称为“UserBehavior.csv ”,该数据集有5个变量。5个变量分别是user_id ,item_id ,category_id ,behavior ,time⁃stamp 。user_id 是每个消费者的编号,以阿拉伯数字进行编号;item_id 是指商品ID ,取值阿拉伯数字;cat⁃egory_id 是指商品种类;behavior 指的是客户消费行为;timestamp 是指客户消费时间。
3 实验和验证
实验系统为Win10,Python 语言环境,使用Ana⁃conda 软件。为了后续统计数据的方便,首先需要将原始数据进行预处理,去除空值和重复值,并且将时间戳转换为正确的时间格式。处理后的结果如图1所示。
在消费者行为中有四种行为,行为包括点击(pv )、购买(buy )、加入购物车(cart )、喜欢(fav ),经过初步统计后发现,消费者的大多数行为都是点击行为,产生购买行为的样本较少,正负样本比例严重失
衡。在机器学习模型中,正负样本比例不均衡会导致训练结果过拟合,也就是说预测结果可能在数据较多的那一类准确率更高。为了提高预测准确率,需要删除一些特别的数据:(1)冲动消费或人为恶意刷单嫌疑数据,即消费者在对产品没产生点击行为时就进行购买,在不考虑刷单行为的前提下,此类消费者行为属于冲动消费行为。(2)低频单一操作单个商品,消费者对一类别商品仅产生过一次点击行为,也就是消费者仅仅查看了该类商品的其中一种商品,且产生的操作次数过少,仅限于浏览行为,并没有其他加入购物车、喜欢行为来展现消费者对于该商品感兴趣,行为数量过少,难以通过该类行为判断消费者行为习惯。(3)低频单一操作多个商品,对不同类别下多个商品进行查看,行为数目均过少,且行为类型仅限于点击行为,未产生具有辨识性的商品喜欢和商品加入购物车行为。经过处理后的结果如图2所示。
在经过数据统计过后发现消费者活动过程中所产生的行为数目各不相同,在不同的操作次数下消费者行为可能存在差别。接下来需要对数据进行分层,数据中对消费者行为的记录使用的是字符串,在XGBoost 中不方便训练。因此,在统计完消费者行为序列后,按照点击行为、喜欢行为以及加入购物车行为的顺序,也就是通过分析消费者不同行为所表现出对商品的兴趣程度进行排序,分别将三种行为定
义为整型1、2、3,并单独将购买行为定义为整数4.假设此时我们初始化一个10位的向量,即消费者行为序列长度为10,执行结果如图3所示。
在上文中,消费者行为被定义为整数1、2、3和4。接下来为了更好地将数据融入到预测模型中,将根据是否有购买行为为每个用户标记数据0和1,即如果消费者有购买行为,则将数据标记为1,否则为0
图1
时间转换
图2 删除干扰数据
81
2024 年 2 月 第30 卷
广西民族大学学报(自然科学版)
标记后的数据如图4所示。
如果此时开始训练数据,很明显,数据的特征点太少了,我们需要针对此数据建立特征工程。以本研究的数据为例,基础特征包括消费者的ID 、商品类别的ID 、商品的ID 、行为类别以及行为发生的时间戳。研究的目标是预测消费者是否会购买某个商品,因此需要分析哪些特征会影响消费者购买的概率。为了达到这个目标,研究通过分析各种特征的影响,总
结了不同特征对购买行为的影响程度。最终,研究决定从三个方面来进行特征统计和提取,这三个方面分别是消费者特征、商品特征以及交互特征。为了更好地理解消费者的行为模式,研究根据不同的时间跨度对消费者的行为进行了二次处理。这意味着研究考虑了不同时间段内的消费者行为,以获得时间间隔相关的数据。这一操作不仅增加了特征的维度,还使得数据处理的复杂性相应增加。消费者特征是对消费者对商品产生行为模式的描述,用以捕捉消费者的个性化行为规律,从而突个体特征,其主要统计消费者的行为信息特征。商品特征是从商品的角度研究商品本身特质对消费者行为的影响,从商品被点击、喜欢、加入购物车、喜欢的行为了解商品在该时段的受欢迎程度,从而体现出该商品在同类中受消费者青睐的程度、流行程度,其主要统计商品从非购买行为到购买行为的转化率。交互特征指的是消费者对特定某件商品所产生的各类行为,并采取多种时间间隔来分析消费者的购买转化率。在建立特征过程后,数据处理后的部分结果如图5所示。
接下来还要处理上文中提到的问题,即正负样本比例严重失衡问题,虽然在上文中,我们已经删除掉一些特殊的数据,但正负样本数据量仍然不均衡,经过统计后发现,正样本数量约为12459,负样本数量约为26381。在采用SMOTE 进行过采样后,正负
样本数量均达到26381。将经过预处理后的数据集放入到预测模型中进行实验,在实验之前,需要介绍以下使用的模型评价指标。由于其所研究的问题属于二分类问题,为了更好地描述模型的分类效果,对分类结果的分析将使用混淆矩阵以及ROC 曲线来对其进行描述,用以评价模型的准确性等分类效果。
通过混淆矩阵,需要计算出其二级指标Accuracy 、Preci⁃sion 和Recall ,三级指标F1以及ROC 曲线面
图3
消费者行为初步标记
图4
二分类示意图
图5 数据处理示意图
82
2024 年第 1 期数
学与计算机技术
●蔡鲲鹏,马莉娟/基于消费者行为的XGBoost 分析与研究
AUC 。经过模型训练后,二级指标结果如图6所示,ROC 曲线如图7所示。
从图6和图7中不难看出,模型预测的结果并不好,只是比随机模型预测的准确率高了一点点,前文提到了消费者行为序列问题,当序列长度为10时,AUC 值为0.59,如果在本实验中,我们将消费者行为序列值设定为一个可以浮动的变量,并从略低于10(比如7)开始统计,不断增大消费者行为序列长度,就可以到最大的AUC 值。通过将消费者行为序列值从7设定到30,并经过一系列的不间断的实验,最后终于获取到了所有的二级指标和三级指标以及ROC 曲线面积AUC ,并以此生成曲线如图8所示。
从图8我们可以看出,当消费者行为序列长度为18时,precision 的值稳定在0.71,不再发生变化,而当消费者行为序列长度为22时,accuracy 、F1和AUC
的值分别稳定在0.76、0.79和0.76,当消费者行为序列长度为24时,recall 的值稳定在0.9,由此得出结论,当消费者行为序列长度为22时,模型的预测效果最好,此时的ROC 曲线如图9所示。
4 结论
文中预测模型针对消费者在电子商务平台中所产生的操作行为序列来进行购买预测,以商品为维度统计每个消费者的行为序列以及相关时间序列,并将行为序列按照行为数目划分层次,利用Python 建立XGBoost 预测模型,试图利用消费者隐式行为信息来对消费者的行为进行预测。通过对模型的评估,发
现XGBoost 模型的最佳预测效果的F1 Score 能够达到0.79,AUC 值达到0.76,这说明该模型在实际电子商务场景中有能够分析得出消费者购买商品的趋势,这项研究对电商平台的相关负责人具有很强的指导意义,对如何最大程度地提高电商货品的销量,具有很好的启发作用。
[参考文献]
[1] CHEN T, GUESTRIN C.XGBoost:A Scalable Tree Boosting System[C].In Proceedings of the 22nd ACM SIG⁃KDD International Conference on Knowledge Discovery and Data Mining (KDD '16),2016.
[2] LI H, GUO J.XGBoost Model for E -commerce Click -Through Rate Prediction[C].In Proceedings of the 1st Inter⁃national Workshop on Deep Learning Practice for High -Di⁃mensional Sparse Data (DLP -KDD '18),2018.
[3] TONG J, LI L, LU Y.Predicting Customer Purchase Be⁃havior with Gradient Boosting Machines[J].Evidence from
E -commerce. Electronic Commerce Research,2020:1-
19.
图6
指标结果
图7 ROC
曲线图
图8
实验数据对比图
图9 ROC 曲线图
83

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。