Итак, у меня есть набор данных с изображениями, где каждый столбец состоит из вектора, который можно преобразовать в изображение размером 32x32.Конкретные размеры моего набора данных следующие 1024 x 20000. Это означает 20000 образцов изображений.
Теперь, когда я смотрю на различные способы выполнения PCA без использования встроенных функций из чего-то вроде scikit-learn, люди обычно берут среднее из строк и вычитают полученную матрицу из исходной, чтобы получитьковариационная матрица.Т.е. следующее
A = (1024x20000) #dimensions of the numpy array
mean_rows = A.mean(0)
new_A = A-mean_rows
В других случаях люди, как правило, получают среднее значение столбцов и вычитают их из исходной матрицы.
A = (1024x20000) #dimensions of the numpy array
mean_rows = A.mean(1)
new_A = A-mean_rows
Теперь мой вопрос: когда вы предполагаетесделать что?Скажем, у меня есть набор данных в качестве примера, какой из методов я бы использовал?
Посмотрел различные сайты, такие как https://machinelearningmastery.com/calculate-principal-component-analysis-scratch-python/, http://sebastianraschka.com/Articles/2014_pca_step_by_step.html