我的任务是代表用户特征矩阵,我有性别、年龄等特征,但我也有一个多值功能,叫做“观看的电影”,它本质上是那个用户观看的另一张电影名称表,有一个数字的持续时间,电影的顺序并不重要。而且,观看的电影可以从20部电影到300部电影。那么,怎样才能最好地将“看过的电影”作为一个特征向量来表现呢?
发布于 2020-04-18 08:12:43
对于每个用户,创建一个包含电影目录长度的向量,并将1添加到用户观看的电影中,并将0添加到用户没有观看的电影中。
这是一种非常幼稚的方法,但取决于您的任务可能就足够了。
请记住,您的数据突然变得稀疏,因此选择能够处理此类数据的算法。好的一点是,对于稀疏数据来说,任何线性以上的内核通常都不是必需的。
考虑到
您还可以进行热编码,而不是在观看的电影中添加一个1,而是添加该人观看的时间。
然而,对于比其他影片更长的电影来说,这可能会开始产生偏见。因此,您可以尝试两种标准化技术:
75/90 = 0.83)根据您的用例,您可以开始创作并组合电影:
watched only the beginning、watched more than half和watched the full movie,并计算每个用户的每个类别。https://datascience.stackexchange.com/questions/72524
复制相似问题