如何为神经网络选择特征?

数据挖掘 机器学习 神经网络 特征选择 特征提取
2021-09-20 23:52:00

我知道这个问题没有明确的答案,但假设我有一个巨大的神经网络,有很多数据,我想在输入中添加一个新特征。“最好”的方法是使用新功能测试网络并查看结果,但是有没有一种方法可以测试该功能是否有用?相关性措施等?

2个回答

新功能和现有功能之间的非常强的相关性是一个相当好的迹象,表明新功能提供的新信息很少。新特征和现有特征之间的低相关性可能更可取。

新特征和预测变量之间的强线性相关性是新特征有价值的好迹象,但缺乏高相关性不一定是特征不佳的迹象,因为神经网络不限于线性组合的变量。

如果新功能是根据现有功能的组合手动构建的,请考虑将其排除在外。神经网络的美妙之处在于几乎不需要特征工程和预处理——特征是由中间层学习的。只要有可能,更喜欢学习功能而不是设计它们。

如果您使用的是 scikit-learn,有一个很好的功能可用,称为model.feature_importances_.

试试你的模型/新功能,看看它是否有帮助。还可以在这里这里查看示例。