Мне нужно использовать 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? Спасибо
components_
- это направление максимальной дисперсии, как указано в документации. Я не совсем уверен, что в этом неясного. Записи вexplained_variance_ratio_
соответствуют строкамcomponents_
. Как вы имеете в виду отсутствие признаков того, к какому измерению относятся эти значения? - person Andreas Mueller   schedule 13.03.2013