Как использовать biplot() в Matlab

Я новичок в Matlab и не знаю синтаксис достаточно хорошо, чтобы выполнить эту задачу.

У меня есть набор данных, и я разделил его на данные обучения и тестирования, как показано ниже:

  X = csvread('mydata.csv');
  flag = X(:,1);
  label = X(:,2);
  P = X(:,3:end);
  train = X(flag < 5,:);
  test = X(flag == 5,:);

Теперь для "метки", которая является вторым столбцом набора данных X, есть три разных значения: 0, 8, 9. Я хочу различать три класса (0, 8, 9) с другим символом графика и цвет.

Мои исследования позволяют мне полагать, что biplot() является правильным инструментом в MATLAB для этого, но я не уверен, как какую функцию вызывать или как манипулировать различными параметрами в biplot(), чтобы помочь мне в этом.

Ниже то, что я получил так далеко:

  Zeros = label(label == 0);
  Eights = label(label == 8);
  Nines = label(label == 9);
  [coeff,score,latent] = pca(train);

  plot (scores(Zeros), scores(Eights),scores(Nines),'.r','markersize', 20);
  hold on
  plot (scores(~Zeros), scores(~Eights),scores(~Nines),'^b', 'markersize', 7);
  Subscript indices must either be real positive integers or logicals.

  % Error in myPCA (line 24)
  % plot (scores(Zeros), scores(Eights),scores(Nines),'.r','markersize', 20);

  biplot(coeff(:,1:2),'scores',score(:,1:2));
  % This works fine, but all of the data points are all red.

Спасибо!

0 ответов

Другие вопросы по тегам