Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 为什么crossvalind失败了?_Matlab - Fatal编程技术网

Matlab 为什么crossvalind失败了?

Matlab 为什么crossvalind失败了?,matlab,Matlab,我正在一个非常小的数据上使用交叉valind函数。。。然而,我观察到,它给了我同样的错误结果。这应该发生吗 我有MatlabR2012A,这是我的输出 crossvalind('KFold',1:1:11,5) ans = 2 5 1 3 2 1 5 3 5 1 5 请注意,没有集合4。。这是虫子吗?我希望每套至少有2个元素,但它给了我一个0。。。经常发生的情况是,值在集合中的分布不均匀。的帮助说明您使用的表单是:crossvalind(方法、组等)。在这种情况下,组

我正在一个非常小的数据上使用交叉valind函数。。。然而,我观察到,它给了我同样的错误结果。这应该发生吗

我有MatlabR2012A,这是我的输出

crossvalind('KFold',1:1:11,5)

ans =

 2
 5
 1
 3
 2
 1
 5
 3
 5
 1
 5
请注意,没有
集合4
。。这是虫子吗?我希望每套至少有2个元素,但它给了我一个0。。。经常发生的情况是,值在集合中的分布不均匀。

的帮助说明您使用的表单是:
crossvalind(方法、组等)
。在这种情况下,组是数据的类别标签。所以1:11作为第二个论点在这里是混乱的,因为它表明没有两个例子有相同的标签。我认为这是非常不寻常的,如果函数做了一些奇怪的事情,您不应该感到惊讶

我试着做:

numel(unique(crossvalind('KFold', rand(11, 1) > 0.5, 5)))
结果它可靠地给出了
5
,这正是我所期望的;我的例子对应一个两类问题(我猜,作为一般规则,您可能需要类似
numel(unique(group))的东西)
crossvalind('KFold', 11, 5);
crossvalind('LeaveMOut', 11, 1);
for leave_out=1:11
  fold_number = (1:11) ~= leave_out;
  <code here; where fold_number is 0, this is the leave-one-out example. fold_number = 1 means that the example is in the main fold.>
end