首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >额外的特征降低了精度-随机森林

额外的特征降低了精度-随机森林
EN

Stack Overflow用户
提问于 2019-05-05 16:46:20
回答 2查看 1.8K关注 0票数 1

我正在使用sklearn的随机森林模块根据166个特征来预测一个二元目标变量。当我将维度数量增加到175时,模型的准确性会降低(从精度= 0.86降至0.81,从召回率= 0.37降至0.32)。

我希望更多的数据只会让模型更准确,特别是当添加的功能具有商业价值时。

我使用python中的sklearn构建了这个模型。为什么新的功能没有得到权重0,而是让精度保持原样?

EN

回答 2

Stack Overflow用户

发布于 2019-05-09 23:16:25

基本上,你可能会用无用的特性“混淆”你的模型。更多的功能或更多的数据并不总是会让你的模型变得更好。新功能也不会得到权重为零,因为模型将努力使用它们!因为有这么多(175!),RF不能以更好的准确性和召回率返回到以前的“原始”模型(也许这9个功能真的没有添加任何有用的东西)。

想一想决策树实际上是如何工作的。这些新功能将导致一些新的分裂,这可能会使结果变得更糟。试着从基础开始,慢慢地添加新的信息,总是检查性能。此外,注意例如每个拆分使用的特征数量(mtry)。对于如此多的功能,您需要有一个非常高的mtry (以允许在每次拆分时考虑一个大样本)。您是否考虑过再添加1或2个,并检查准确性如何响应?另外,别忘了mtry!

票数 1
EN

Stack Overflow用户

发布于 2019-05-06 00:09:17

更多的数据并不总是使模型更准确。随机森林是一种传统的机器学习方法,程序员必须进行特征选择。如果给模型提供了大量数据,但它是坏的,那么模型也会试图从这些坏数据中找出意义,最终会把事情搞得一团糟。对于神经网络来说,数据越多越好,因为这些网络自己从数据中选择可能的最佳特征。

另外,175个特征太多了,你绝对应该研究降维技术,选择与目标高度相关的特征。在sklearn中有几种方法可以做到这一点。如果你的数据是数字的,你可以尝试PCA或RFE来删除不良特征,等等。

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

https://stackoverflow.com/questions/55990255

复制
相关文章

相似问题

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