首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LSTM特征选择过程

LSTM特征选择过程
EN

Data Science用户
提问于 2018-02-16 07:20:51
回答 2查看 4.2K关注 0票数 9

我们需要用LSTM模型实现一个时间序列问题。

但是,在实现相同功能的同时,我面临的主要挑战是功能选择问题。因为我们的数据集包含2300个观测和600个特征。而且我们已经知道有那么多的特性是完全不相关的。但是,没有人有领域的专门知识来确认哪个特性是相关的。

我和…试过了

  1. 所有600个特性,X形变成,2280×20×600 (如果时间步长为20)。准确度很差,为53-55%。
  2. 将单个列视为预测器(我们希望预测的特性) X的形状变成,2280×20×1(如果时间步长为20)。准确度也很差。
  3. 此外,尝试与主成分分析,使所有600个特征减少到20个特征保留了大约98%的数据,但没有看到任何改进。
  4. 最后,我经历了一个非常漫长的过程。在600个特征中,每个特征都分别使用LSTM算法进行了测试。选择了给出最佳效果的特征。选择的特征与599个特征中的其余部分分别配对。然后,我选择最好的一对,给出最好的输出。c.最好的一对将单独试用rest 598,此过程将继续.

在此基础上,到目前为止,我们得到了6个特征,准确率提高到65%。

我的问题是,在时间序列问题中,这是唯一可以进行特征选择的方法吗?

对于任何非时间序列问题,有很多种方法来进行特征选择。在时间序列问题上,做特征选择的最佳方法是什么?

我们再举一个例子..。

假设我们开发了带有10个预测器/特性的LSTM模型。该模型工作良好,精度达80%。

现在,又添加了100个与导出目标y无关的特性。

因此,准确性将下降,因为模型将集中在120个预测/特征,其中100不相关。

那么,我们将如何消除100个不必要的功能呢?

EN

回答 2

Data Science用户

发布于 2018-04-28 08:54:34

您是否尝试过在输出和用于建模的特性之间进行相关性测试?

我通常使用Pearson的相关性来确定低相关因子的特征。然后我把他们从训练中移除。

在这里,我使用了DOC_DS来建模DOC_US;我在数据框架df中使用了它们和其他特性。从我对我的模型所做的试验来看,相关性较小的特性影响了以后的模型准确性。

Python环境中的

代码语言:javascript
运行
复制
print(np.array_str(np.corrcoef(df.DOC_DS, df.DOC_US)))
票数 3
EN

Data Science用户

发布于 2020-01-23 10:55:26

查一下shap库。我觉得这能帮到你。

https://github.com/slundberg/shap

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

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

复制
相关文章

相似问题

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