Терминология анализа основных компонентов 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 размерность)
то есть "образец" эквивалентен "множеству", а элементы - "измерению".
(и мое предположение было верным:)