【发布时间】:2016-01-27 03:38:02
【问题描述】:
我正在处理具有高度不平衡数据集的特定二进制分类问题,我想知道是否有人尝试使用 Spark 的 MLlib 在分类问题中实施特定技术来处理不平衡数据集(例如SMOTE)。
我正在使用 MLLib 的 Random Forest 实现,并且已经尝试过对较大类进行随机欠采样的最简单方法,但效果不如我预期。
如果您对类似问题的体验提供任何反馈,我们将不胜感激。
谢谢,
【问题讨论】:
-
SMOTEBoost 算法建议使用弱学习器算法训练数据集。你为什么不实现这样的东西:issues.apache.org/jira/browse/SPARK-1546
-
@eliasah,我的意思是我的数据集包含的正面示例与负面示例相比非常少(大约每 100 个中有 1 个)。经过训练的分类器偏向于大多数(负)类,该类具有比该类更高的预测精度,但比少数类具有较差的预测精度。 “没有按预期工作”意味着在进行 10 倍交叉验证测试时,分类器的精度约为 60-70%(即 60-70% 的阳性病例被正确分类)。
-
你的积极课堂的联系和密集程度如何?特征是离散的还是连续的? RF 适用于具有本地连接的离散数据的集合上的离散数据。如果这些点是全局连接的(一大块),那么您可能会考虑 SVM、谱聚类,甚至 k-means。
-
@eliasah “二进制分类不受不平衡数据的影响”。您对此主张有任何参考吗?我并不是说这不是真的,但至少对我来说并不直观。
-
“二进制分类不受不平衡数据的影响”——这绝对不是真的。
标签: apache-spark machine-learning classification apache-spark-mllib