首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用randperm分割数据

用randperm分割数据
EN

Stack Overflow用户
提问于 2015-07-10 14:19:48
回答 1查看 310关注 0票数 0

我有过

代码语言:javascript
复制
dataset=[6 7;
         5 4;
         9 8;
         1 2;
         9 8;
         4 5;
         1 2;
         3 4;
         8 7;
         6 2] 

我可以随机选择90%的数据用于训练,其余的( 10 %)用于测试集,然后重复拆分10次。

i.e

代码语言:javascript
复制
training = [6 7;
            5 4;
            9 8;
            1 2;
            9 8;
            1 2;
            3 4;
            8 7;
            6 2]  
test= [4 5]

我写了这段代码

代码语言:javascript
复制
num_points = size(X,2);

split_point = round(num_points*0.7);

拆分数据,但我无法获得结果

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-10 14:30:21

代码语言:javascript
复制
dataset=[6 7;
         5 4;
         9 8;
         1 2;
         9 8;
         4 5;
         1 2;
         3 4;
         8 7;
         6 2] 

使用randperm随机重新排序数据集

代码语言:javascript
复制
n = size(dataset,1);
data_rand = dataset(randperm(n),:)

然后每次拿出不同的10%:

代码语言:javascript
复制
m = ceil(n/10);
group = 1;
for k = 1:m:n-m
    test{group} = data_rand(k:k+m-1,:)
    train{group} = [data_rand(1:k-1,:); data_rand(k+m:end,:)];
    group = group + 1;
end

但是我也建议你阅读Matlab中的交叉验证,因为它有很多内置的功能。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31343156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档