我正在使用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,但没有帮助。
答案 0 :(得分:0)
您可以使用sklearn计算class weight。并使用这些计算出的参数在class_weight
中分配model.fit
。这可能有助于解决您的问题。
答案 1 :(得分:0)
一种简单的过采样方法可能会有所帮助。您可以为Keras尝试使用此balanced batch generator。它会生成平衡批次,即每个类别中样本数量平均相同的批次。这可以防止模型偏向多数派。另外,我建议批量较小,例如32或64。