Оценка PCA
в sklearn отличается от matlab.
В sklearn pca.score()
или pca.score_samples()
дает логарифмическую вероятность выборок, тогда как matlab дает основные компоненты.
Из sklearn Документация :
Возвращает логарифмическую вероятность каждого образца.
Параметры:
X: массив, форма (n_samples, n_features) Данные.
Возвращает:
ll: массив, форма (n_samples,) Логарифмическая правдоподобие каждого образца в текущей модели
From документация по matlab :
[coeff, score, latent] = pca (___) также возвращает оценки главных компонентов в показателях и отклонения основных компонентов в скрытом состоянии.Вы можете использовать любой из входных аргументов в предыдущих синтаксисах.
Оценки главных компонентов - это представления X в пространстве главных компонентов .Строки оценки соответствуют наблюдениям, а столбцы соответствуют компонентам.
Главные дисперсии компонентов - это собственные значения ковариационной матрицы X.
Теперь эквивалент matlab
score
в pca - это fit_transform()
или transform()
:
>>> import numpy as np
>>> from sklearn.decomposition import PCA
>>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
>>> pca = PCA(n_components=2)
>>> matlab_equi_score = pca.fit_transform(X)