Использование PCA sklearn для поиска нецентральных компонентов - PullRequest
2 голосов
/ 28 июня 2019

Я использую PCA Склеарна для использования в задачах физического моделирования. В этой задаче возвращаемые значения из PCA.fit_transform() и PCA.components_ имеют физический смысл. Однако, похоже, что PCA sklearn автоматически означает центрирование входных данных, так что возвращаемые значения PCA.fit_transform() и PCA.components_ находятся в среднецентрированном пространстве. Я понимаю, что PCA.inverse_transform возвращает исходные нецентрированные входные данные, но делает это через np.dot(X, PCA.components_) + PCA.mean_, где X - это возвращаемое значение PCA.fit_transform().

Другими словами, как я могу изменить X и PCA.components_ на X1 и PCA.components_1, используя PCA.mean_, так что np.dot(X1,pca.components_1) возвращает то же значение, что и PCA.inverse_transform(X)?

Возможно, есть простое решение линейной алгебры, но я не могу понять это.

...