Извлечение функций через PCA - PullRequest
2 голосов
/ 29 апреля 2011

Я пытаюсь выбрать подмножество функций из данных, которые содержат 2000 из них для 63 выборок. Теперь я знаю, как сделать PCA в MATLAB. Я использовал 'pcacov', и он возвращает собственные векторы и собственные значения. Однако я не знаю, как выбрать нужные функции. Я имею в виду, если функции не помечены, как я могу выбрать свои функции? или они будут возвращены в том же порядке?

Ответы [ 2 ]

7 голосов
/ 30 апреля 2011

PCA не сообщает вам, какие функции являются наиболее значимыми, но какие комбинации функций сохраняют наибольшее расхождение.

Что делает PCA, так это поворачивает ваш набор данных таким образом, чтобы он имел наибольшую дисперсию по первому измерению, второй - по второму, и так далее. Итак, что вы делаете, когда вы умножаете свои векторные элементы на первые N собственных векторов, это вращаете набор и сохраняете первые N измерений, чтобы преобразовать ваши векторы в более низкоразмерное представление, которое сохраняет большую часть дисперсии.

4 голосов
/ 30 апреля 2011

как я могу выбрать свои функции?

Если вы называете это как

[pc,variances,explained] = pcacov(covx)

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

или они будут возвращены в том же порядке?

Это можно предположить, если функция help сообщаеттак, иначе это не безопасно, и вы можете сделать что-то вроде.

[varsorted,varsortedinds] = sort(variances,'descend');
pcsorted = pc(:,varsortedinds);

И varsorted и pcsorted будут в порядке от самого младшего к значимому.

Править7 лет спустя: перечитав вопрос, я понял, что мой ответ на самом деле не отвечает на этот вопрос.Я подумал, что основные компоненты отсортированы.Ответ дона Ревы - это ответ на заданный вопрос.Я не могу удалить выбранный ответ, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...