Как увидеть, какой атрибут (функция) больше всего влияет на производительность классификации с помощью PCA в Matlab?

Я хотел бы выполнить классификацию небольшого набора данных 65x9, используя некоторые методы классификации машинного обучения (SVM, деревья решений или любые другие). Итак, прежде чем приступить к классификации, я хотел бы провести анализ атрибутов с помощью PCA в Matlab или Weka (предпочтительно MatLab). Я хотел бы получить, какой атрибут больше всего способствует производительности классификатора. Так что я могу, возможно, уменьшить количество некоторых Атрибутов и/или включить больше в будущем. Любой пример PCA можно найти по этому поводу в MatLab или Weka?

Спасибо


person bob    schedule 28.11.2013    source источник


Ответы (1)


PCA — это неконтролируемый метод извлечения признаков.

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

Если ваш вопрос касается выбора атрибутов после PCA, вы можете выбрать пороговое значение (например, 0,95) и вычислить количество атрибутов, достаточное для порогового значения, начиная с первого атрибута и заканчивая последним. Вы можете использовать собственные значения ковариационной матрицы для вычисления и достижения порога в PCA.

После запуска PCA мы знаем, что первый атрибут является лучшим, второй атрибут является лучшим после первого и т. д.

person Gökhan Çoban    schedule 29.11.2013
comment
Спасибо. Просто комментарий, когда я использую функцию pca в Matlab, нужно ли мне включать метки (классы) или только файл данных является атрибутами и экземплярами (без меток)? - person bob; 29.11.2013
comment
Поскольку PCA является неконтролируемым методом, он не использует информацию о классе (метке). Вам не нужно включать ярлыки. Если вы включите, они просто будут работать как другая функция. Я могу предложить LDA (линейный дискриминантный анализ) вместо PCA, если у вас тоже есть метки. - person Gökhan Çoban; 29.11.2013
comment
У меня тоже есть этикетки. В чем разница между LDA и PCA? - person bob; 29.11.2013
comment
LDA использует информацию о классе (метке), чтобы учитывать сходство внутри класса и между классами. Вы можете найти в Google LDA детали реализации. LDA может обеспечить лучшую производительность, чем PCA, если присутствуют метки. - person Gökhan Çoban; 29.11.2013
comment
так что после LDA вы можете выполнить классификацию и добиться улучшения производительности классификации? I LDA часть набора инструментов Matlab, поэтому я могу просто использовать некоторые функции предварительной компиляции MatLab? - person bob; 29.11.2013
comment
Есть ли какая-то функция предварительной компиляции LDA Matlab или мне нужно написать собственный код? - person bob; 02.12.2013
comment
Вам нужно написать свой собственный код или использовать Google для реализации LDA в Matlab. Обычный LDA — это метод машинного обучения; поэтому я не думаю, что есть встроенная поддержка Matlab. - person Gökhan Çoban; 02.12.2013