【发布时间】:2014-06-20 18:23:41
【问题描述】:
我正在尝试为我的大型不平衡数据集创建 N 个平衡随机子样本。有没有办法简单地使用 scikit-learn / pandas 来做到这一点,还是我必须自己实现它?任何指向执行此操作的代码的指针?
这些子样本应该是随机的,并且可以重叠,因为我将每个子样本提供给一个非常大的分类器集合中的单独分类器。
在 Weka 中有一个名为 spreadsubsample 的工具,在 sklearn 中是否有等效的工具? http://wiki.pentaho.com/display/DATAMINING/SpreadSubsample
(我知道权重,但这不是我想要的。)
【问题讨论】:
-
您只想将数据集拆分为 N 个大小相等的数据子集,还是真的只想执行交叉验证?请参阅
cross_validation,特别是K-Fold -
我知道交叉验证功能,问题是测试大小不能为零(它们会出错)。我正在使用巨大的(数万个分类器)集合,所以它必须很快。似乎没有这样令人惊讶的功能,所以我想我必须实现一个自定义功能。
-
仅供参考,现在存在一个用于学习和处理不平衡类数据的 sklearn-contrib 包github.com/scikit-learn-contrib/imbalanced-learn
-
@eickenberg,您还应该将该评论作为答案发布,找到答案比评论更容易,我会说使用已经存在的库可能是我最初问题的最佳答案。
标签: python pandas scikit-learn subsampling