Терминология анализа основных компонентов OpenCV - что на самом деле представляет собой "образец"?

Я работаю с анализом основных компонентов ( PCA) в openCV. Входные данные конструктора для интересующего меня случая:

PCA(InputArray data, InputArray mean, int flags, double retainedVariance);

Относительно "данных" InputArray в документах указано, что соответствующие флаги должны быть:

CV_PCA_DATA_AS_ROW указывает, что входные выборки сохранены как строки матрицы. CV_PCA_DATA_AS_COL указывает, что входные выборки хранятся в виде столбцов матрицы.

Мой вопрос касается использования термина "образцы", так как я не уверен, что такое образец в этом контексте.

Например, скажем, у меня есть 4 набора данных, и для иллюстрации давайте обозначим их как AD. Теперь каждое множество от A до D имеет 8 элементов. Затем они устанавливаются в переменную Mat, которую я буду использовать в качестве InputArray следующим образом:

введите описание изображения здесь

Вопрос в том, что это:

  • Мои наборы являются образцами?
  • Мои элементы данных являются образцами?

Другой способ задать вопрос:

  • Есть ли у меня 4 образца (CV_PCA_DATA_AS_COL)
  • Или у меня есть 4 набора из 8 образцов (CV_PCA_DATA_AS_ROW)

?

В качестве предположения я бы выбрал CV_PCA_DATA_AS_COL (то есть у меня есть 4 образца) - но это именно то, где моя голова... Пока я не изучу правильную терминологию, кажется, что слово "образец" может применяться к любому из рассуждений.

1 ответ

Решение

Тьфу...

Таким образом, ответ был найден, изменив логику документации для шага PCA::project...

Mat PCA::project(InputArray vec)

vec - входной вектор (ы); должен иметь ту же размерность и ту же компоновку, что и входные данные, используемые на этапе PCA, то есть, если задано CV_PCA_DATA_AS_ROW, то vec.cols==data.cols (vector размерность)

то есть "образец" эквивалентен "множеству", а элементы - "измерению".

(и мое предположение было верным:)

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