mllib 如何在内部对不平衡数据集的类进行加权?
Posted
技术标签:
【中文标题】mllib 如何在内部对不平衡数据集的类进行加权?【英文标题】:How does mllib weight the classes internally for unbalanced datasets? 【发布时间】:2019-09-24 01:30:23 【问题描述】:我有一个包含 1% 正类(1)和 99% 负(0)的数据框,我正在 Pyspark 中使用逻辑回归。我骑here处理不平衡的数据集,解决方案是添加一个weightCol,正如链接中提供的答案中所说,为了告诉模型更多地关注1 , 因为少了。
我试过了,效果很好,但我不知道 mllib 如何在内部平衡数据。有人有线索吗?我不喜欢使用我无法理解的“黑匣子”。
【问题讨论】:
【参考方案1】:来自Spark documentation 它说
我们实现了两种算法来解决逻辑回归:小批量梯度下降和 L-BFGS。我们建议使用 L-BFGS 而非小批量梯度下降来加快收敛速度。
您可以查看LBFGS.scala 以了解优化算法如何在每次迭代后更新权重。
【讨论】:
以上是关于mllib 如何在内部对不平衡数据集的类进行加权?的主要内容,如果未能解决你的问题,请参考以下文章