从 94*263 特征向量中选择特征时 MATLAB sequentialfs 出错

Error in MATLAB sequentialfs while selecting features from 94*263 feature vectors

我有 94​​ 个样本,每个样本有 263 个特征。总的特征向量大小为 94*263。特征向量中没有 NaN 或 Inf 值。有两个 classes(class a 中有 51 个,class b 中有 43 个)。我正在使用 sequentialfs 来实现 select 功能,但每次都会收到以下错误:

Error using crossval>evalFun (line 480)
The function '@(XT,yT,Xt,yt)(sum(~strcmp(yt,classify(Xt,XT,yT,'quadratic'))))'     generated the following error:
The input to SVD must not contain NaN or Inf.

密码是:

X = FEATUREVECTOR;
y = LABELS;
c = cvpartition(y,'k',10);
opts = statset('display','iter');
fun = @(XT,yT,Xt,yt)...
      (sum(~strcmp(yt,classify(Xt,XT,yT,'quadratic'))));
[fs,history] = sequentialfs(fun,X,y,'cv',c,'options',opts)

你能告诉我如何解决这个问题吗?

您似乎在调用带有某些输入的 sequentialfs,这可能与我们在您的问题中看到的乱七八糟的随机数隐约相关。除此之外,我无法从你的脑海中读出任何东西。如果你需要帮助,你需要展示你做了什么。

我更改了输入数据并且效果很好,

load fisheriris;
X = randn(150,10);
X(:,[1 3 5 7 ])= meas;
y = species;

c = cvpartition(y,'k',10);
opts = statset('display','iter');
fun = @(XT,yT,Xt,yt)...
      (sum(~strcmp(yt,classify(Xt,XT,yT,'quadratic'))));

[fs,history] = sequentialfs(fun,X,y,'cv',c,'options',opts)

您输入的数据有问题。