我现在用Graphlab 工具包做一些数据实验。我在第一个下一个 SFrame 中有三列:
Users Items Rating
Users每个和值的同一行中的对Items构建唯一键,Rating是对应的浮点值。这些值未标准化。首先,我自己做下一个标准化:
- 特定用户的每个评分值除以该用户的评分最大值(范围在 0 和 1 之间)
- 对每个评分值取对数
之后,我创建了一个推荐模型并评估它的基本指标。
在本主题中,我邀请大家讨论另一种有趣的归一化方法。如果有人能说出一些数据准备的好方法,那就太好了。由于指标,可以评估结果,我可以在此处发布。
附言
我的数据集来自某个音乐网站,用户对某些曲目进行了评分。我有大约 100 000 个用户和 300 000 个曲目。评分总数超过 300 万(实际上矩阵是稀疏的)。这是我现在分析的最简单的数据集。将来我可以(并且将)使用一些关于用户和曲目的额外信息(持续时间、年份、流派、乐队等)。目前我只是有兴趣收集一些评级规范化的方法,而不使用额外的信息(用户和项目特征)。我的问题是,数据集一开始没有Rating。Rating我根据唯一的事件数创建了自己的列User-Item对(我有这个信息)。您当然可以理解,有些用户可以多次听到某些曲目,而另一些用户只能听一次。因此色散非常高,我想减少它(标准化评级值)。