首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sci-kit学习中小样本集的机器学习实验设计

Sci-kit学习中小样本集的机器学习实验设计
EN

Stack Overflow用户
提问于 2016-02-11 16:50:55
回答 2查看 326关注 0票数 1

我对如何训练一组非常有限的正集和一组大的负集的技巧很感兴趣。

我有大约40个正面的例子(关于一个特定主题的很长的文章)和大约19,000个负面的样本(大多数来自sci学习新闻组数据集)。我还有大约1,000,000条我可以使用的推特..。对我正在努力训练的话题持否定态度。负集和正集的大小会对训练产生负面影响吗?

我想在sci学习中使用交叉验证。我需要把它分解成火车/测试开发/测试集吗?是知道在sci中有一些预建的库。您以前推荐或使用过的任何实现示例都会有帮助。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-11 17:35:54

对第一个问题的回答是肯定的,它会对你的结果产生多大的影响取决于算法。我的建议是关注基于类的统计数据,如召回和精度(在classification_report中找到)。

  • 对于RandomForest(),您可以查看讨论示例权重参数的这条线。一般来说,sample_weight是您在scikit-learn中要寻找的东西。
  • 对于SVM,请看一下这个例子这个例子
  • 对于NB分类器,这应该由Bayes规则隐式处理,但是在实践中您可能会看到一些不好的性能。

对于第二个问题,我个人将我的数据分解成一个训练和测试分割,对训练集进行交叉验证以进行参数估计,对所有的训练数据进行再训练,然后在我的测试集上进行测试。但是,您拥有的数据量可能会影响您拆分数据的方式(更多的数据意味着更多的选项)。

票数 1
EN

Stack Overflow用户

发布于 2016-02-12 20:13:33

您可能会使用随机森林来解决分类问题。数据不平衡的处理基本上有3个参数。类别重量,样本大小和截止。

类权重--一个类的权重越高,其错误率就越低。

Samplesize-过采样少数类以改善类的不平衡,同时对每个树的缺陷进行抽样[不确定Sci-kit是否支持这一点,以前在R中是param )

截止-如果>x%树投票支持少数类,将其归类为少数类。默认情况下,对于2类问题,在随机林中x为1/2。可以将其设置为少数类的较低值。

检查home.htm的平衡预测错误

对于第二个问题,如果你使用随机森林,你不需要保留单独的火车/验证/测试集。随机林不根据验证集选择任何参数,因此验证集是不必要的。

在随机森林的训练过程中,每棵树的训练数据都是通过对训练数据的替换而得到的,这样每个训练样本就不会被用于大约1/3的树。我们可以利用这3棵树的投票量来预测随机森林分类的开箱概率。因此,为了保证OOB的准确性,您只需要一个训练集,而不是验证或测试数据来预测未知数据的性能。在home.htm检查袋错误,以便进一步研究。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35345280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档