利用XGBoost的商品推荐系统实现案例
目录
利用XGBoost的商品推荐系统实现案例1
1.1实验环境1
1.2结果评价指标1
1.3实验数据和模型相参数2
1.4测试集结果评价3
1.1实验环境
推荐系统的程序运行平台编辑器是PyCharm2021.1社区版,在数据分析模块
重点使用了pandas和matplotlib,这两个工具在数据导入、矩阵的变换处理以及图
形化显示上比较方便。算法框架是XGBoost,在网格搜索时利用了sklearn机器学
习库。
1.2结果评价指标
确定最优参数的过程离不开结果评价指标,下面对本推荐系统采用的评价指
标进行介绍。
在训练集中,我们构建的目标值是。或1,其目的是判断用户有没有购买特定
标准。那么最后我们只需要将预测的目标值与真实的情况对比,就可以知道具体
的预测情况。比较适合的评判指标有:准确率(Precision.召回率(Recall和
F1值。)隹确率(Precision是指分类预测无误的正样本数占全部分类预测的正样
本数的比例,召回率(Recall是指分类预测无误的正样本数占原始训练集中正样
本数的比例。F1值综合了这两个指标,其具体公式如式(4-1所示。
…2xPrecisionxRecallai
fi=
Precision+Recall
为了更好的说明)隹确率和召回率的含义,把预测结果和实际结果相比较,可
以得到预测结果和实际结果的混淆矩阵,如表格4-4所示,其中1代表正样本,0
代表负样本。
表4-4预测结果和实际结果的混淆矩阵
实际结果
10
预测结果1真阳性(TP假阳性(FP
0假阴性(FN真阴性(TN
1
根据)隹确率和召回率的概念,就可以将准确率和召回率表示为式(4-2和式
(4-3)o
TP
Precison=4-2
TP+FP
TP
Recall=4-3
TP+FN
以本推荐系统的数据为例,假设第30日真实的购买情况有524个用户-商品对,
预测结果中有541个用户-商品购买对,其中真阳性的有48个用户-商品对,那么
这次训练得到的准确率就为48/541=0.089,召回率就为:48/524=0.092,F1值为:
0.090o
1.3实验数据和模型相参数
在第四章我们构建了训练集和测试集。训练集的特征提取自用户行为数据集
前29天的数据,目标值提取自第30天的数据。测试集的特征提取自用户行为数据
集前30天的