iterate over a vector in a for loop
I am trying to loop through a matrix – my model has no problem looping through the bandwidths "bw" but i get an error when looping through the priors, because prior has vectors of values
the input of prior works in the format when not using a for loop…
prior = [0.427,0.226,0.347];
but i want the model to run through 3 different types of prior probabilities, as below
the error i get is: Error using classreg.learning.classif.FullClassificationModel.processPrior (line 264)
Prior probabilities must be a vector of length 3.
when i print prior i get
priors =
0.3300 0.3300 0.3300
0.4270 0.2260 0.3470
0.2000 0.2000 0.6000
bandwidths = [0.2, 0.5, 1];
priors = [0.33 0.33 0.33; 0.427 0.226 0.347; 0.2 0.2 0.6];
global mymatrix
for f=1:length(bandwidths);
for l=1:length(priors);
bw= bandwidths(f);
p = priors(l)
Mdl = fitcnb(x_train_crossval,y_labels_train_crossval,’ClassNames’, class_names,’PredictorNames’,predictor_names,’Prior’,p,’Width’,bw);I am trying to loop through a matrix – my model has no problem looping through the bandwidths "bw" but i get an error when looping through the priors, because prior has vectors of values
the input of prior works in the format when not using a for loop…
prior = [0.427,0.226,0.347];
but i want the model to run through 3 different types of prior probabilities, as below
the error i get is: Error using classreg.learning.classif.FullClassificationModel.processPrior (line 264)
Prior probabilities must be a vector of length 3.
when i print prior i get
priors =
0.3300 0.3300 0.3300
0.4270 0.2260 0.3470
0.2000 0.2000 0.6000
bandwidths = [0.2, 0.5, 1];
priors = [0.33 0.33 0.33; 0.427 0.226 0.347; 0.2 0.2 0.6];
global mymatrix
for f=1:length(bandwidths);
for l=1:length(priors);
bw= bandwidths(f);
p = priors(l)
Mdl = fitcnb(x_train_crossval,y_labels_train_crossval,’ClassNames’, class_names,’PredictorNames’,predictor_names,’Prior’,p,’Width’,bw); I am trying to loop through a matrix – my model has no problem looping through the bandwidths "bw" but i get an error when looping through the priors, because prior has vectors of values
the input of prior works in the format when not using a for loop…
prior = [0.427,0.226,0.347];
but i want the model to run through 3 different types of prior probabilities, as below
the error i get is: Error using classreg.learning.classif.FullClassificationModel.processPrior (line 264)
Prior probabilities must be a vector of length 3.
when i print prior i get
priors =
0.3300 0.3300 0.3300
0.4270 0.2260 0.3470
0.2000 0.2000 0.6000
bandwidths = [0.2, 0.5, 1];
priors = [0.33 0.33 0.33; 0.427 0.226 0.347; 0.2 0.2 0.6];
global mymatrix
for f=1:length(bandwidths);
for l=1:length(priors);
bw= bandwidths(f);
p = priors(l)
Mdl = fitcnb(x_train_crossval,y_labels_train_crossval,’ClassNames’, class_names,’PredictorNames’,predictor_names,’Prior’,p,’Width’,bw); forloop, iterate MATLAB Answers — New Questions