Подтвердить что ты не робот

Поиск размера с наибольшей дисперсией с использованием scikit-learn PCA

Мне нужно использовать pca для определения размеров с наибольшей дисперсией определенного набора данных. Я использую scikit-learn pca для этого, но я не могу определить из вывода метода pca, какие компоненты моих данных имеют наибольшую дисперсию. Имейте в виду, что я не хочу устранять эти измерения, а только их идентифицировать.

Мои данные организованы как матрица с 150 строками данных, каждая из которых имеет 4 измерения. Я делаю следующее:

pca = sklearn.decomposition.PCA()
pca.fit(data_matrix)

Когда я печатаю pca.explained_variance_ratio _, он выводит массив коэффициентов дисперсии, упорядоченный от наивысшего до самого низкого, но он не говорит мне, какое измерение из данных, которые они соответствуют (я пробовал изменение порядка столбцов на моей матрице, и результирующий массив отношения дисперсии был таким же).

Печать pca.components _ дает мне матрицу 4x4 (я оставил исходное количество компонентов в качестве аргумента для pca) с некоторыми значениями. Я не могу понять значение... согласно документации scikit, они должны быть компонентами с максимальной дисперсией (возможно, собственные векторы?), но без признаков того, к какому размеру относятся эти значения.

Преобразование данных тоже не помогает, потому что размеры меняются так, что я не могу знать, из какого они были изначально.

Есть ли способ получить эту информацию с помощью scikit pca? Благодаря

4b9b3361

Ответ 1

Возвращенные pca.explained_variance_ratio_ - это отклонения от основных компонентов. Вы можете использовать их, чтобы узнать, сколько измерений (компонентов) ваши данные могут быть лучше преобразованы на pca. Вы можете использовать для этого порог (например, вы считаете, сколько отклонений больше 0,5). После этого вы можете преобразовать данные с помощью PCA, используя количество измерений (компонентов), которые равны основным компонентам выше используемого порога. Данные, уменьшенные до этих размеров, отличаются от данных о размерах исходных данных.

вы можете проверить код по этой ссылке:

http://scikit-learn.org/dev/tutorial/statistical_inference/unsupervised_learning.html#principal-component-analysis-pca