【发布时间】:2012-09-19 18:21:42
【问题描述】:
我有一个矩阵(我猜在 MatLab 中你称之为结构)或数据结构:
data: [150x4 double]
labels: [150x1 double]
这是我的matrix.data 看起来假设我确实使用matrix 的名称加载了我的文件:
5.1000 3.5000 1.4000 0.2000
4.9000 3.0000 1.4000 0.2000
4.7000 3.2000 1.3000 0.2000
4.6000 3.1000 1.5000 0.2000
5.0000 3.6000 1.4000 0.2000
5.4000 3.9000 1.7000 0.4000
4.6000 3.4000 1.4000 0.3000
5.0000 3.4000 1.5000 0.2000
4.4000 2.9000 1.4000 0.2000
4.9000 3.1000 1.5000 0.1000
5.4000 3.7000 1.5000 0.2000
4.8000 3.4000 1.6000 0.2000
4.8000 3.0000 1.4000 0.1000
4.3000 3.0000 1.1000 0.1000
5.8000 4.0000 1.2000 0.2000
5.7000 4.4000 1.5000 0.4000
5.4000 3.9000 1.3000 0.4000
5.1000 3.5000 1.4000 0.3000
5.7000 3.8000 1.7000 0.3000
5.1000 3.8000 1.5000 0.3000
这是我的matrix.labels 看起来像
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
我正在尝试在不使用 MatLab 中任何现有函数的情况下创建 10 个交叉折叠验证,并且由于我对 MatLab 的了解非常有限,因此我无法继续使用现有的功能。任何帮助都会很棒。
这是我到目前为止所拥有的,我确信这可能不是 matlab 的方式,但我对 matlab 很陌生。
function[output] = fisher(dataFile, number_of_folds)
data = load(dataFile);
%create random permutation indx
idx = randperm(150);
output = data.data(idx(1:15),:);
end
【问题讨论】:
-
然后在你的矩阵上使用那些生成的索引
-
对不起,我想不使用crossvalind函数来做
-
哦,对不起!没有正确阅读问题。嗯一秒。
-
:) 没问题,如果您正在编写解决方案,任何 cmets 都会很棒,因为我正在尝试学习 matlab。
标签: matlab machine-learning cross-validation