Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 为矩阵的每一列创建向量,并在移除该列的情况下构造矩阵_Arrays_Matlab_Matrix_Neural Network - Fatal编程技术网

Arrays 为矩阵的每一列创建向量,并在移除该列的情况下构造矩阵

Arrays 为矩阵的每一列创建向量,并在移除该列的情况下构造矩阵,arrays,matlab,matrix,neural-network,Arrays,Matlab,Matrix,Neural Network,我从matlab中的CSV文件中导入了一些数据。它们都是对齐的时间序列。它们是时间序列这一事实并不重要,只是每列表示一个实体,而行是该实体的观察值。比如说,一个2500x50的双精度矩阵叫做data,一个1x50的单元数组叫做colheaders 我试图做的是使用神经网络工具集来预测每个实体,即从所有其他实体中预测列。神经网络工具将矩阵的一列作为目标输入,并输入原始矩阵,但将同一列用作从矩阵中移除的目标 假设colheaders中的条目的形式为Col1、Col2、Col3等。我想自动训练模型并对

我从matlab中的CSV文件中导入了一些数据。它们都是对齐的时间序列。它们是时间序列这一事实并不重要,只是每列表示一个实体,而行是该实体的观察值。比如说,一个2500x50的双精度矩阵叫做data,一个1x50的单元数组叫做colheaders

我试图做的是使用神经网络工具集来预测每个实体,即从所有其他实体中预测列。神经网络工具将矩阵的一列作为目标输入,并输入原始矩阵,但将同一列用作从矩阵中移除的目标

假设colheaders中的条目的形式为Col1、Col2、Col3等。我想自动训练模型并对原始矩阵的每一列进行预测,这样我就可以输出一组标记为Predicted_Col1、Predicted_Col2等的预测列

我想我可以理解神经网络部分,但我不知道如何开始矩阵操作和对colheaders数组的交叉引用。这似乎是一件很普通的事情,所以我猜有人知道一种简单、直接的方法来做这件事,而且计算效率很高。谢谢

假设colheaders是字符串单元格,数据是2500x50输入数组,下面的代码将遍历所有数据列,将目标与输入分开,将其输入NN的伪代码中,并逐步构建预测矩阵,同时在out\colheaders中分别创建自定义列标题:

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

谢谢我自己解决的方法略有不同,但我更喜欢你的解决方法。我基本上取了输入矩阵的每一列并减去它,在矩阵中留下一列全零,然后保存为一个新变量。再次感谢你的帮助。