logo资料库

基于改进机器学习算法的电商用户购买预测.pdf

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
5 10 15 20 25 30 35 中国科技论文在线 http://www.paper.edu.cn 基于改进机器学习算法的电商用户购买预 测 胡智超,杨福兴** (北京邮电大学自动化学院) 摘要:近年来,电商平台陡增的巨额订单量容易导致快递爆仓,也极大地超过了物流系统的 运载能力。本文采用现有的数据挖掘技术分析用户的购买习惯,预测用户的购买情况,对于 预测购买的用户采取提前发货的策略,这样达到合理降低运输及配送高峰的目的。并在经典 机器学习算法的基础上,建立基于 bagging 集成学习的混合模型,采用电商数据进行仿真, 仿真结果表明改进后的算法具有更好的预测能力,能够满足基本预测需求。 关键词:机器学习;混合模型;预测;集成学习 中图分类号:F299.23 Buying Prediction of E-commerce Users Based on Improved Machine Learning Algorithms HU Zhichao, Yang Fuxing (Automated School, Beijing University of Posts and Telecommunications, Beijing 100876) Abstract: In recent years, the huge order volume of e-commerce platform increases sharply, which easily leads to express warehouse explosion and greatly exceeds the carrying capacity of logistics system. In this paper, the existing data mining technology is used to analyze the purchase habits of users, predict the purchase situation of users, and adopt the strategy of early delivery for the users who predict purchase, so as to achieve the purpose of reducing the peak of transportation and distribution reasonably. On the basis of classical machine learning algorithm, a hybrid model based on bagging ensemble learning is established. The simulation results show that the improved algorithm has better prediction ability and can meet the basic prediction needs. Keywords: machine learning ;hybrid model ;prediction; Integrated Learning 0 引言 现在天猫、京东的电商平台的强势崛起,线上购物已经成为人们生活中不可缺少的一部 分。电商的蓬勃发展虽然为快递行业带来了巨大的业务量,但也带来了很多的问题。如双十 一的陡增的巨额订单量容易导致快递爆仓,也极大地超过了物流系统的运载能力。若能利用 用户数据采用机器学习算法准确预测用户购买情况,对于预测购买的用户采取提前发货的策 略,这样达到合理降低运输及配送高峰的目的。目前,国内外许多学者都将机器学习的算法 融入到预测之中,孟祥海,盛洪飞[1]等在研究事故多发点甄别研究中引入 BP 神经网络方法, 并测试神经网络模型的预测辨别能力。邓捷[2]等将 RBF 神经网络的快速收敛和唯一最佳逼 近点等特点进行有效结合提出了交通生成预测模型,并利用人口数据进行模型仿真。虽然机 器学习的预测研究很多,但是利用机器学习对用户是否购买商品进行预测的研究鲜有涉及。 本文运用现有的数据挖掘技术分析用户的购买习惯,预测用户的购买情况。 作者简介:胡智超(1993-),男,硕士研究生,主要研究方向:物流信息化 通信联系人:杨福兴(1964-),男,教授、博导,主要研究方向:物流信息化. E-mail: yangfx@bupt.edu.cn - 1 -
中国科技论文在线 http://www.paper.edu.cn 40 1 机器学习理论模型 在大多数情况下,由于算法原理得限制,单一的算法都有其独特的应用场景,具有某一 方面不可避免的缺点,在这种情况下,组合模型可以帮助我们将解决这些问题。本文采用 GBDT、随机森林、xgboost 分别建立预测模型,并对相关预测结果进行分析,下面给出算 法的具体流程。 1.1 GBDT 回归算法 输入:训练样本集 T={(x1,y1),(x2,y2),…(xm,ym),},最大迭代次数 T,损失函数 L。 输出:强学习器 f(x)[3] (1) 初始化弱学习器: 45 x f ( ) 0 = arg min 50 (2) 对于迭代次数 t=1,2…T: N  = 1 i L y c ( , ) i (1) 55 a 对样本 i=1,2…m,我们计算负梯度: L y f x ( , ( )) i i ϕ f x ( ) i r =- ti ϕ       (2) b 利用(xi,rti)(i=1,2,…,m)拟合一棵 CART 回归树,其对应的叶子节点区域为 Rtj,j=1,2,…,J。其中 J 为回归树 t 的叶子节点个数。 c 对叶子区域 j=1,2,…,J,计算最佳拟合值: ( t-1 L y f ( , max arc (3) x i + = c ) c ) tj  i d 更新强学习器 f (x)=f (x)+ t t-1 J  = 1 j C tj I(x R ) tj ∈ (4) (3) 输出强学习器 f(x)的表达式 60 f x ( ) = f x ( ) T = f x ( ) 0 + 1.2 xgboost 算法 J T  = 1 t = 1 j c I x R tj ( ∈ ) tj (5) xgboost 算法是在 GBDT 算法的基础上进行改进而来的,主要涉及两部分的改进:一是 在损失函数的处理上,xgboost 对其进行了二阶泰勒展开处理,二是在运行速度上,xgboost 可以进行并行运算,同时通过定义一个数据类矩阵,在模型训练之前进行预处理,增加训练 过程中的迭代效率[4]。下面对算法进行简述: 首先,假设模型已经训练了 t 棵树,对应的模型写成: 65 y t T =  = 1 t f x ( i t ) (6) 其中 f 代表一个树模型,包含树结构和叶子节点信息等。我们需要得到所有树模型的集合, 我们采用的方法是将上一次所得的模型先固定,在固定的结果的基础上进行下一次训练,得 - 2 -
中国科技论文在线 http://www.paper.edu.cn 70 到第 t 棵树,以此类推,第 t 次预测结果表示为: = y t i 1.3 随机森林算法流程 t k  = 1 f x ( i k = ) y t-1 i + f x ( t i ) (7) (1)原始训练集为 D,应用 bootstrap 法有放回地随机抽取 k 个新的自助样本集 Dk,并 由此构建 k 棵分类树,每次未被抽到的样本组成了 k 个袋外数据; 75 (2)设有 m 个特征,则在每一棵树的每个节点处随机抽取 a 个特征,然后在 a 个变量 中选择最佳特征建立决策树 (3)重复以上过程生成 k 棵决策树; (4)将生成的多棵分类树组成随机森林,用随机森林分类器对新的数据进行判别与分 类,分类结果按树分类器的投票多少而定[5]。 80 2 数据介绍及预处理 2.1 数据集描述 85 90 本文中训练所用的数据来源于天猫电商平台,数据是随机抽取的用户在 2014-11-18 至 2014-12-18 一个月内的商品交互记录。由于数据涉及到用户的隐私,为了维护用户的信息安 全,而又能验证算法模型的可行性,文中所有的数据都根据一定的加密算法生成。数据是用 户在商品全集上的移动端行为数据,数据的字段如表 1 所示: 表 1 原始数据说明 Tab. 1Description of raw data 字段 User_id Item_id behavior_type user_geohash item_category time 字段说明 用户 ID 商品 ID 用户行为类别 用户位置 商品分类 ID 用户行为时间 提取说明 脱敏字段 脱敏字段 包括浏览、收藏、加购物车、购买。 保密的算法生成 脱敏字段 用户行为的触发时间 在表 1 中 user_id、item_id、item_category 分别为用户、商品、商品分类对应的辨识码, 分别采用一定的加密算法进行脱敏处理,behavior_type 为用户在电商平台的操作数据,分别 用 1、2、3、4 来标识浏览、收藏、加购物车和购买等四种操作行为,user_geohash 为平台 采用一定的加密算法处理后的用户地理位置数据,由数字和字母组成,time 为用户在电商平 台的行为操作时间。 - 3 -
中国科技论文在线 2.2 基于用户行为的数据探索 http://www.paper.edu.cn 95 用户对商品的交互行为,随着时间的增长也存在一定的关系。用户在浏览某商品时,迫 切需要的商品会在短期时间内购买。并且随着时间的推移,商品的信息会不断模糊,这种模 糊意识会使得用户购买该商品的概率急剧下降,下面根据样本探讨商品的购买量和浏览、收 藏、加入购物车之间的转化关系,即 11-18 当天的浏览、收藏、加购物车的商品在未来 9 天 内的购买转化率,其购买转化率 R 公式如下所示: 100 GR = L 其中 G 为购买量,L 分别为浏览、收藏、加入购物车的量。 根据样本绘制未来 9 天内的购买转化率图如下所示: (8) 105 图 1 样本浏览购买转化率 Fig. 1 Sample Browsing Purchase Conversion Rate 图 2 样本收藏购买转化率 Fig. 2Sample Collection Purchase Conversion Rate - 4 -
中国科技论文在线 http://www.paper.edu.cn 110 图 3 样本加购物车购买转化率 Fig. 3Sample addition shopping cart purchase conversion rate 由上图可知,购买转化率随着时间的推移不断降低,且曲线下降明显后趋于平缓,表明 随着时间的推移,用户的浏览、收藏、加入购物车对购买的影响在逐渐降低,且由图可以得 出加入购物车的影响明显大于收藏和浏览。 115 2.3 特征的构建 原始数据为用户在平台的操作数据,且特征过少,无法直接成为训练的样本,不能挖掘 出用户的购买规律,因此需要构建更高维度的特征,来提高机器学习预测的准确率。 通过 对数据的探索,并基于业务逻辑的理解,构建出五个大的特征群,大约 80 个维度的特征, 特征详细一览表如下表 2 所示: 表 2 特征详细一览表 Tab. 2Characteristic Detailed List 字段说明 用户全部时间的操作数据及购买转化率,12-13 之后的操作数据及购买转化率, 用户 12-18 当天的浏览收藏加购物车操作数据 全部时间商品操作的数据及购买转化率,12-13 之后商品的操作数据及购买转 化率 全部时间商品类别的操作数据及购买转化率,12-13 之后商品的操作数据及购 买转化率; 最近 2、4、6 天及全部时间用户对商品的操作数据及购买转化率,用户最近一 天对商品的浏览收藏加购物车数据; 用户上次购买该商品的时间 120 字段 用户特征 商品特征 类别特征 用户—商品特征 交叉特征 2.4 缺失值处理 由于数据在采集和保存的过程中存在丢失的情况,因此我们需要对数据进行处理。对于 - 5 -
中国科技论文在线 http://www.paper.edu.cn 125 缺失值较多且填值存在困难的特征,我们直接移除,如 user_geohash 等。 3 改进型机器学习算法 由于单一的模型训练容易造成模型的泛化能力较弱,为了增强算法的鲁棒性,本文设计 130 1 , 2 ) ) ( , x y , 1 一种基于 bagging 集成学习思想与多个模型算法结合的算法,构建一个混合模型。其算法的 基本步骤如下: (1)给定训练样本 D={( 放回抽样生成 m 个训练子集; (2)将 m 个训练子集分别导入不同基学习算法 iδ进行训练,根据不同的学习器建立基本模 型 (3)利用训练的基本模型分别输出测试样本结果,构成一个训练得分集合 S; },不同基学习算法 iδ,将训练集采取有 x y 2 ,..., ) x ,m y m ( 135 (4)利用公式 H x ( ) T =  = 1 i W S x ( ) i i 计算并输出测试样本集中的各个样本的加权得分 S ,其中 iW 为模型的权重; (5)设定一个目标阙值 β,若 S ≥ β,则将该样本归为正样本,否则归为负样本。 采用 bagging 集成学习方式,将每个窗口的数据子集分别使用不同的算法进行训练得到 不同的分类器,然后将训练样本分别导入全部分类器进行测试,由于每个测试样本会被训练 140 m 次,因此会得到 m 个训练结果,然后采用加权的方式将样本结果进行计算,得到预测结 果。 4 预测结果分析 Python 的 sklearn 中提供了多种机器学习包,本文拟定基于 python3.6 调用 sklearn 中 145 GradientBoostingClassifer 和 RandomForestClassifer 包来分别构建 GBDT(梯度提升回归)模型 和随机森林(RandomForest)预测模型,采用 Xgboost 中的 XGBClassifer 来构建 xgboost 预 测模型,预测误差计算公式如下所示: E f D ( ; = ) 1 m  m = i 1 II f x ( i ( ) ≠ y i ) (9) 其中 f(xi)为该样本的真实值,yi 为该样本的预测值,采用 matplotlib 根据误差进行调参 可视化。 - 6 -
中国科技论文在线 http://www.paper.edu.cn 150 155 图 4GBDT 误差图 Fig. 4GBDT Error Diagram 图 5XGboost 误差图 Fig. 5XGboost Error Diagram 图 6Random Forest 误差图 Fig. 6Random Forest Diagram 本文根据实际需求采用集成思想设计的算法建立购买预测模型,利用建立的模型对测试 160 集进行预测,并和上述调参后得模型进行对比,得到计算结果如下表所示: - 7 -
中国科技论文在线 http://www.paper.edu.cn 表 3 预测结果数据 Tab. 3Prediction results data 算法 GBDT xgboost 随机森林 改进混合算法 预测误差 0.202 0.186 0.223 0.182 由上表可知,混合模型对预测结果有一定的提升,但是相对于其他 boosting 算 165 法来说提升较小,而 boosting 算法相对于随机森林算法来说具有更好的预测能 力。表明改进后的算法具有更好的预测能力。 5 结论 本文对目前的电商平台的困境进行了分析,并简单介绍了 GBDT、xgboost、随机森林等 经典机器学习方法的的理论和算法步骤,基于经典机器学习算法,设计了一种考虑集成思想 170 的混合模型。通过对天猫平台数据进行预测,拟定解决电商平台双十一等物流配送量大的问 题,并验证模型的有效性,结果表明,混合模型能够很好地进行购买预测,且相对于经典模 型提高了预测精度。 [参考文献] (References) 175 180 [1] 孟祥海,盛洪飞,陈天恩.事故多发点鉴别本质及基于 BP 神经网络的鉴别方法研究[J].公路交通科技, 2008,25(3):124-129 [2] 邓捷,陆百川,刘权富.基于 RBF 神经网络的交通生成预测模型[J].武汉理工大学学报,2014,36(1):43-47 [3] 韩启迪,张小桐,申维.基于梯度提升树(GBDT)算法的岩石识别技术[J].矿物岩石地球化学通报, 2018,37(6):1173-1180 [4] 杜盼.基于 xgboost 的互联网消费金融信用风控策略研究[D].湘潭:湘潭大学,2018. [5] 胡玮.基于改进邻域粗糙集和随机森林算法的糖尿病预测研究[D].北京:首都对外经济贸易大学,2018. - 8 -
分享到:
收藏