谢日敏 方雨桐
(1. 福建商学院 信息工程学院, 福州 350012; 2. 福州大学 数学与计算机科学学院, 福州 350108)
到网上购物逐渐成为人们的一种生活常态,有关数据因此而爆炸式的增长,但个体的选择处理能力有限,因此需要有定制化的推荐系统。从电商角度考虑,要提升推荐系统的效能,首先便需要从与消费者相关的海量数据中洞悉其消费需求,科学预测消费者的购买意向。为了提高预测的准确性,则需要深入挖掘用户消费行为特征,并不断优化数据分析模型。
有关研究表明,用户的有效搜索方式及对搜索结果的多次浏览,用户的购物车操作情况,用户的点击流数据,这些都能反映用户的购买意向[1-2]。在分析预测时,应综合考虑这些因素。在模型优化方面,已有许多研究成果。比如:通过融合多个基础算法来提高算法的泛化能力和预测效率[3];针对用户购买周期和频次,通过调整模型训练集以及权重设置,提高模型强化问题的针对性,从而获得有效的预测结果[4];将SMOTE和随机森林算法相结合,预测用户可能存在的重复购买问题[5];还有利用潜在因子的选择模型(LF-CM),分析用户购买行为偏好[6]。本次研究,我们将尝试采用逻辑回归、决策树和XGBoost模型作为基学习器输入,再以随机森林模型作为次学习器进行堆叠,从而形成一种组合模型,来对用户购买行为进行预测。
原始数据集为京东商城提供的2016年2月至4月的真实用户在线数据。原始数据集中,数据类型各异,数据质量参差不齐。为了提高数据预测准确性,降低模型的误差,发现在线用户有价值的数据,需将原始数据进行预处理。数据预处理流程[7]如图1所示。
图1 数据预处理流程
第一,基于电商行业的业务规则与行业标准,对原始数据集的基本信息进行处理,并根据数据类型、有效信息区间划定和异常数据判断等信息,对数据集进行清洗。
第二,为便于构建模型,对原始数据集的部分特征进行进一步变换。
第三,利用滑窗技术构造累积量特征。数据集中包含3个月的用户行为数据,考虑训练集和预测集的划分,将累计最长时间区间设置为30 d。参考TCP协议中滑动窗口的概念,按照3、5、7、10、15、21、30 d的时间间隔动态统计构造累积量特征,比如3日内用户购买计数字段、5日内用户购买计数字段、3日内用户点击计数字段等。在此基础上,统计用户各项行为的转化率,生成用户3日点击购买转化率、5日浏览购买转化率这类特征,以满足时序数据信息挖掘需求。同时将绝对数据规约,避免单位范围不同等原因而造成不可比现象。
第四,对数据集进行筛选。以业务逻辑作为重要参考因素,筛除冗余属性或一些对分类无意义的属性,选出最终进入模型的特征集。
集成学习是一种博采众长的学习思想,其核心是通过融合数个弱学习器,构建出一个强学习器,以提升模型的学习和泛化能力。在实际应用中,若使用单个学习器,其平均性能存在一定的劣势,数据源质量对其影响较大,而利用多个学习器之间的相互作用,则可以取长补短。集成学习就是整合多个模型来提高机器学习能力的过程。集成学习通常分为3类方法:套袋法(Bagging),用于减少方差;增强法(Boosting),用于减少偏差;堆叠法(Stacking),用于提升预测性能。集成学习中,所有个体学习器归属于同一种类,即为同质集成;个体学习器归属于不完全相同的种类,即为异质集成。
我们选择采用堆叠法的集成学习,它属于异质集成。如图2所示,在这个框架中,将单个模型视为基学习器;用于综合多个基学习器的某一模型可称为次学习器。基本思想是:将初始数据集作为第一层分类器的训练数据,即有多个基学习器;而后将第一层基学习器的输出作为第二层学习器的输入,即新的数据集。原始目标变量仍被作为新数据集目标变量。堆叠法集成学习模型,实质是进行深度化的泛化,利用次学习器来取代增强法和套袋法,综合降低偏差和方差。
图2 堆叠法集成学习模型原理
为提升整体模型的预测准确性,在堆叠法集成学习组合模型的第一层基学习器选择上,主要考虑个体学习能力较强的学习器,且要求多个模型间具有一定的差异性。因此,选择采用了XGBoost、决策树和逻辑回归。XGBoost[9],采用提升树的集成学习方式,具有优秀的学习能力,在各个领域应用广泛。决策树[10],简单直观,输出结果利于解读,且对于异常点的容错能力强,健壮性强。逻辑回归[11],参考神经网络的激活函数,将所有数据进行非线性映射,削弱分类决策影响度极小的数据,并且计算的代价不高。第二层的次学习器,选择采用随机森林算法。随着集成数目的增加,随机森林往往具有较强的泛化能力。次学习器具有强泛化能力,可修正多个基学习器的训练集偏差,并以集合方式防止过拟合。最终构建的组合模型如图3所示。
图3 堆叠法集成学习的组合模型
针对京东商城提供的用户在线数据集,利用堆叠法集成学习算法,分析预测用户购买意向。分析流程如图4所示。
图4 基于堆叠法集成学习的预测分析流程
分析流程中的特征工程,是指基于一定业务背景,利用相关领域知识,将原始数据进行转化处理的过程,以便数据挖掘算法达到最佳效果。依据京东商城提供的用户线上行为数据,结合分析经验与业务理解,利用滑窗处理时序数据集,从基础特征,用户和行为组合特征,商品和行为组合特征,用户、商品和行为的组合特征等方面进行特征构建,并且根据模型需要对特征进行筛选。特征构建结果统计:基础特征有36个,用户和行为组合特征有124个,商品和行为组合特征有40个,用户、商品和行为组合特征有50个。
考虑到数据集中存在数据偏斜的现象,客户(电商)也更关注用户有明确购买意向的行为特征,现以准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure)作为用户购买意向的评估指标,实现对正样本的综合预测。
分别使用逻辑回归、决策树和XGBoost进行单个模型性能度量。结果显示,逻辑回归模型预测用户购买行为的准确率最高,但就综合评价指标F值来说,XGBoost模型在单个模型性能度量中表现最好(见表1)。本次实验中,影响逻辑回归模型预测效果的主要原因是特征高达250项,特征项中冗余程度较高,数据集呈现不平衡现象,且多为累计型数据。在决策树模型中,复杂的决策树结构和数据集数据不平衡,使得过拟合现象严重,不利于提升泛化性能。作为配置了提升树集成学习方法的XGBoost模型,通过应用损失函数和正则化策略来优化目标函数,更能防止模型过拟合。这3个模型在评价指标上各有优劣,但预测效果整体不够出色。
利用堆叠法集成学习模型融合技术,将逻辑回归、决策树和XGBoost模型作为基学习器输入,以随机森林模型作为次学习器进行堆叠。在本次实验中,虽然基学习器在第一层的学习效果近似于单个模型的预测结果,但进入第二层学习器进行分析运算后,结果有很大的进步(见表1)。经过模型融合后,基于堆叠法集成学习组合模型的预测效果会更好。
表1 模型的性能对比
为提高对用户购买意向预测的准确率,为电子商务平台的推荐系统提供更为准确的数据支撑,我们按堆叠法集成学习的思路构建组合模型,依据京东商城提供的用户在线数据集,预测分析了用户的购买意向。首先利用滑窗技术构造提取用于预测用户购买意向的特征,然后使用逻辑回归、决策树、XGBoost和集成学习组合模型进行用户购买行为预测。结果表明,运用集成学习组合模型进行预测,其准确性明显优于其他算法。