gpt4 book ai didi

Matlab:如何在保留标签信息的同时将我的数据矩阵拆分为两个随机的列向量子集?

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

我有一个数据矩阵 X (60x208) 和一个标签矩阵 Y (1x208)。我想将我的数据矩阵 X 分成两个随机的列向量子集:训练(占数据的 70%)和测试(占数据的 30%),但我仍然需要能够识别哪个Y 中的标签对应于每个列向量。我找不到任何功能来执行此操作,有什么想法吗?

编辑:我想我应该补充一点,Y 中只有两个标签:1 和 2(不确定这是否有所不同)

最佳答案

这很容易做到。使用 randperm生成索引的随机排列,从 1 到您拥有的点数……在您的情况下为 208。

生成此序列后,只需将此序列和子集用于 XY 即可提取训练和测试数据及标签。因此,做这样的事情:

num_points = size(X,2);
split_point = round(num_points*0.7);
seq = randperm(num_points);
X_train = X(:,seq(1:split_point));
Y_train = Y(seq(1:split_point));
X_test = X(:,seq(split_point+1:end));
Y_test = Y(seq(split_point+1:end));

split_point 决定了我们需要将多少点放入训练集中,并且我们需要对其进行舍入以防此计算产生任何小数点。我也没有在其中硬编码 208,因为您的数据集可能会增长,因此这将适用于您选择的任何大小的数据集。 X_trainY_train 将包含您的数据和训练集的标签,而 X_testY_test 将包含您的数据和测试集的标签。

因此,X_train 的第一列是训练集第一个元素的数据点,Y_train 的第一个元素用作该数据点的标签具体点……等等等等!

关于Matlab:如何在保留标签信息的同时将我的数据矩阵拆分为两个随机的列向量子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26662123/

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