推荐系统的数据集不平衡

时间:2019-04-11 14:05:13

标签: python-3.x keras recommendation-engine rating

我正在使用keras构建推荐系统。训练集有超过200K样本,但有180K来自等级4。分布在此处。

评分 5.0 89 4.0 187836 3.0 20032 2.0 6185 1.0 648 0.0 36 dtype:int64

很显然,该模型因代表较少的标签而失败。我该如何解决?

我尝试了SMOTE,但没有帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用sklearn计算class weight。并使用这些计算出的参数在class_weight中分配model.fit。这可能有助于解决您的问题。

答案 1 :(得分:0)

一种简单的过采样方法可能会有所帮助。您可以为Keras尝试使用此balanced batch generator。它会生成平衡批次,即每个类别中样本数量平均相同的批次。这可以防止模型偏向多数派。另外,我建议批量较小,例如32或64。