【发布时间】:2018-02-11 21:37:23
【问题描述】:
我正在查看神经网络训练数据,并有一个包含 250 名患者的向量平均分配到 10 个不同的组,命名为Icross。这意味着 25 名患者已被分配到第 1 组,另外 25 名患者被分配到第 2 组,等等。Icross 是一个 250x1 向量。
我想创建一个 for 循环,将患者分成测试和训练组,分别为 Itest 和 Itrain 向量。这意味着分配到组 1-5 的患者在Itest,6-10 在Itrain。
对于我的输出,理想情况下,两个向量中都有 250 行数据作为输出,由 1 和 0 组成,表示它是否已分配到组中,具体取决于我查看的生成向量。但是,使用我创建的 for 循环只需为每个向量分配一个值 5。关于如何修改我的循环有什么建议吗?
for Icross = 1:5;
Itest = Icross;
Itrain = ~Itest;
end
理想输出:
Name Value
Itest = 250x1 logical
Itrain= 250x1 logical
我创建的 for 循环的输出:
Name Value
Icross 5 (1x1double)
Itest 5 (1x1double)
Itrain 0 (1x1logical)
【问题讨论】:
-
Itest=randperm(repmat([0 1],1,125),250) 你可以吗? Ittrain=~Itest. (我是用手机写的)