gpt4 book ai didi

matlab - 如何在其他两个矩阵之间按行划分/拆分矩阵?

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:28 24 4
gpt4 key购买 nike

我有一个矩阵和一个向量,每个都有 3000 行:

fe = [-0.1850   -0.4485; ...
-0.2150 2.6302; ...
-0.2081 1.5883; ...
-0.6416 -1.1924; ...
-0.1188 1.3429; ...
-0.2326 -2.2737; ...
-0.0799 1.4821; ...
... %# lots more rows
];

tar = [1; ...
1; ...
2; ...
1; ...
2; ...
1; ...
1; ...
... %#lots more rows
];

我想将 fetar 的行分开,将其中的 2/3 放入一组变量中,剩下的 1/3放入第二组变量中。这是为了分类目的(即一组是训练数据,另一组是测试数据)。

我有两种可能的方法来做到这一点:

  • 按顺序拆分行,前 2/3 在一个矩阵中,最后 1/3 在另一个矩阵中。
  • 随机选择 2/3 的行并将其分配到一个矩阵中,并将其余行放在另一个矩阵中。

如何实现这些解决方案?

最佳答案

假设您需要选择 2/3 的行和两列,您可以这样做

feTrain=fe(1:2000,:);
feTest=fe(2001:end,:);

如果您想分配随机选取的行的 2/3(即,不是前 2/3),您可以使用 randperm 函数生成行索引的随机排序并使用用于索引。

nRows=size(fe,1);
randRows=randperm(nRows);%# generate random ordering of row indices
feTrain=fe(randRows(1:2000),:);%# index using random order
feTest=fe(randRows(2001:end),:);

关于matlab - 如何在其他两个矩阵之间按行划分/拆分矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385174/

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