gpt4 book ai didi

python - 如何输入具有可变长度输入数据的 Scikit learn MLP 分类器。

转载 作者:行者123 更新时间:2023-11-30 09:06:43 24 4
gpt4 key购买 nike

我想使用以下数据集运行简单的 MLP 分类器 (Scikit learn)。

数据集由 100 个文件组成,包含声音信号。每个文件都有两列(两个信号)和行(信号长度)。行(信号)的长度因文件而异,范围在 70 到 80 个值之间。因此文件的尺寸为70 x 2 到80 x 2。每个文件代表一条完整的记录。

enter image description here

我面临的问题是如何训练具有可变长度数据的简单 MLP,训练集和测试集分别包含 75 个和 25 个文件。

一种解决方案是连接所有文件并制作一个文件,即 7500 x 2 并训练 MLP。但信号的重要信息在这种情况下不再有用。

最佳答案

三种方法(按有用性排序)。强烈推荐方法 1。

第一种方法 - LSTM/GRU

您不使用简单 MLP。您正在处理的数据类型是顺序数据。为此目的创建了循环网络(LSTM/GRU)。它们能够处理可变长度的序列。

第二种方法 - 嵌入

找到一个可以将数据转换为固定长度序列的函数,称为嵌入。网络生成时间序列嵌入的一个示例是 TimeNet 。然而,这本质上让我们回到了第一种方法。

第三种方法 - 填充

如果您可以找到序列长度的合理上限,则可以将较短的序列填充到最长序列的长度(在序列的开头/结尾处填充 0,插入/预测剩余值),或者将较长的系列切成最短系列的长度。显然,您将分别引入噪声或丢失信息。

关于python - 如何输入具有可变长度输入数据的 Scikit learn MLP 分类器。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50216691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com