首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分类后的特征重要性

分类后的特征重要性
EN

Data Science用户
提问于 2020-09-16 09:35:41
回答 3查看 355关注 0票数 8

我有时间序列数据,每个样本或多或少都有200个特征,我使用递归神经网络进行二值分类任务。分类之后,我想知道哪些特性对目标贡献最大(比如target=1)。有什么建议吗?谢谢

EN

回答 3

Data Science用户

回答已采纳

发布于 2020-09-16 12:48:02

你可以使用排列的重要性。

  • 得到你的底线得分

  • 修改一个特征值。可以用随机值代替

  • 再算一次分数

  • dip是该特性的重要特征。

  • 重复所有特征

....Breiman和Cutler也描述了置换的重要性,它度量一个特性的重要性如下。记录基线精度(分类器)或R2评分(回归),通过验证集或袋外样本通过随机森林。对单个预测器特征的列值进行置换,然后将所有测试样本传回随机森林,并重新计算精度或R。

检查单个类的重要性,即0/1

推断出同样的情况,以检查增加的是假阳性还是假阴性。

请阅读小心默认的随机林输入以获得更多解释。

页面上的其他引文很少-

任何机器学习模型都可以使用排列列的策略来计算特征的重要性。这一事实在学术界和工业界被低估了. 在计算上,置换机制比平均减少杂质机制要昂贵得多,但结果更可靠。置换重要性策略不需要在排列每一列后重新训练模型,我们只需通过已训练的模型重新运行受干扰的测试样本即可。

票数 7
EN

Data Science用户

发布于 2020-09-16 14:00:32

另一个可能的解决方案是使用L1正则化。拉索回归可以作为特征选择的代理:由于L1范数的导数是一个阶跃函数,因此在训练模型时,与给定特征相关的权重将从零到接近,这取决于它们对预测输出的重要性。

此外,sklearn有一种方法sklearn.feature_selection.SelectFromModel,允许您在模型经过培训后执行特征选择。如果您在Lasso回归器上运行此方法,并将方法结果与模型权重进行比较,您将能够看到权重大小与所选特征之间的相关性。

票数 2
EN

Data Science用户

发布于 2020-09-19 11:35:17

非线性模型非常复杂,因此无法导出单个特征的重要性(从意义上说,如果我增加一个特征,模型将倾向于一个特定的类)。

所以说,如果你增加了一个特性,模型会投票给一个类,这不是你所能期望的,因为模型是非线性的。例如,查看谷歌游乐场并考虑两个圆圈的数据集。

不过,您可以做的是导出特征重要性本地,就像您可以通过线性函数局部逼近神经网络一样。这可以用来解释行为和特征的重要性,但只在目前位置附近的小邻居。如果你去另一个位置,行为可能会完全不同!

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

https://datascience.stackexchange.com/questions/81796

复制
相关文章

相似问题

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