Arrays 为矩阵的每一列创建向量,并在移除该列的情况下构造矩阵
我从matlab中的CSV文件中导入了一些数据。它们都是对齐的时间序列。它们是时间序列这一事实并不重要,只是每列表示一个实体,而行是该实体的观察值。比如说,一个2500x50的双精度矩阵叫做data,一个1x50的单元数组叫做colheaders 我试图做的是使用神经网络工具集来预测每个实体,即从所有其他实体中预测列。神经网络工具将矩阵的一列作为目标输入,并输入原始矩阵,但将同一列用作从矩阵中移除的目标 假设colheaders中的条目的形式为Col1、Col2、Col3等。我想自动训练模型并对原始矩阵的每一列进行预测,这样我就可以输出一组标记为Predicted_Col1、Predicted_Col2等的预测列 我想我可以理解神经网络部分,但我不知道如何开始矩阵操作和对colheaders数组的交叉引用。这似乎是一件很普通的事情,所以我猜有人知道一种简单、直接的方法来做这件事,而且计算效率很高。谢谢 假设colheaders是字符串单元格,数据是2500x50输入数组,下面的代码将遍历所有数据列,将目标与输入分开,将其输入NN的伪代码中,并逐步构建预测矩阵,同时在out\colheaders中分别创建自定义列标题:Arrays 为矩阵的每一列创建向量,并在移除该列的情况下构造矩阵,arrays,matlab,matrix,neural-network,Arrays,Matlab,Matrix,Neural Network,我从matlab中的CSV文件中导入了一些数据。它们都是对齐的时间序列。它们是时间序列这一事实并不重要,只是每列表示一个实体,而行是该实体的观察值。比如说,一个2500x50的双精度矩阵叫做data,一个1x50的单元数组叫做colheaders 我试图做的是使用神经网络工具集来预测每个实体,即从所有其他实体中预测列。神经网络工具将矩阵的一列作为目标输入,并输入原始矩阵,但将同一列用作从矩阵中移除的目标 假设colheaders中的条目的形式为Col1、Col2、Col3等。我想自动训练模型并对
predicted = zeros(size(data));
for i = 1:size(data, 2)
target = data(:, i);
training_input = data;
training_input(:, i) = [];
// assuming the following function returns a column of 2500x1
// given training_input of size 2500x49 and target 2500x1
predicted(:, i) = pseudo_neural(training_input, target);
out_colheaders{i} = ['Predicted_' colheaders{i}];
end
谢谢我自己解决的方法略有不同,但我更喜欢你的解决方法。我基本上取了输入矩阵的每一列并减去它,在矩阵中留下一列全零,然后保存为一个新变量。再次感谢你的帮助。