题目回顾
推荐系统数据集选自:天池新人实战赛之[离线赛]。
数据集内容
本场比赛提供20000
用户的完整行为数据以及百万级的商品信息。竞赛数据包含两个部分。
第一部分是用户在商品全集上的移动端行为数据(D
),表名为tianchi_fresh_comp_train_user_2w
,包含如下字段:
第二个部分是商品子集(P
),表名为tianchi_fresh_comp_train_item_2w
,包含如下字段:
训练数据 :包含了抽样出来的一定量用户在一个月时间(11.18~12.18)之内的移动端行为数据(D
)。
评分数据:这些用户在这个一个月之后的一天(12.19)对商品子集(P
)的购买数据。
输出:使用训练数据建立推荐模型,并输出用户在接下来一天对商品子集购买行为的预测结果。 即 预测12月19日这一天用户在P
上的购买情况。
评分指标
使用机器学习中的精准率、召回率和F1
值作为模型的评价指标。
我们以F1
值作为最终的唯一评测标准。
其中PredictionSet
为算法预测的购买数据集合,ReferenceSet
为真实的答案购买数据集合。我们以F1
值作为最终的唯一评测标准。
问题描述
采用(11.18~12.18)一个月的用户-行为数据,预测在接下来的一天(12.19)用户在指定商品子集上的购买情况。
数据解析
首先下载数据集,将下述压缩包下载解压:
可得到两个csv
文件,对应着上述的D
数据集和P
数据集:
在PyCharm
中打开的情况如下图所示:
上述两个数据集样例高达千万条,用python-pandas-timeit
等模块中的方法测试一下加载全部数据集所用的时间:
import os
import sys
import timeit
import pandas as pd
start_time = timeit.default_timer()
# data loading using pandas
with open("../DataSet/tianchi_fresh_comp_train_user.csv", mode='r') as data_file:
df = pd.read_csv