Линейный дискриминантный анализ LDA

У меня есть большой набор многомерных данных (240 измерений).

Я новичок в интеллектуальном анализе данных и хочу применить линейный дискриминантный анализ с помощью MATLAB. Тем не менее, я видел, что в Интернете объясняется множество функций, но я не понимаю, как их следует применять.

В принципе, я хочу применить LDA.

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

Я могу сделать это вручную, но мне было интересно, есть ли какие-либо предопределенные функции, которые могут это сделать, потому что они уже должны быть оптимизированы.

Мои исходные данные примерно такие: size(x) = [2000 240]. Итак, в основном у меня есть 240 функций (размеров) и 2000 точек данных. И я хочу выполнить LDA для этого набора данных.


person pisuvar    schedule 16.12.2012    source источник


Ответы (2)


Функция classify из Statistics Toolbox выполняет линейный (и, если вы установите некоторые параметры, квадратичный) дискриминантный анализ. В документации есть несколько рабочих примеров, которые объясняют, как его следует использовать: введите doc classify или showdemo classdemo, чтобы увидеть их.

240 признаков — это довольно много, учитывая, что у вас всего 2000 наблюдений, даже если у вас всего два класса. Возможно, вы захотите применить метод уменьшения размера перед LDA, например PCA (см. doc princomp), или использовать метод выбора признаков (см. doc sequentialfs для одного из таких методов).

person Sam Roberts    schedule 17.12.2012
comment
У меня 10 класс: это рукописные цифры 0,1,2,3,4,5,6,7,8,9 каждая соответствует одному классу. Я буду использовать линейный дискриминантный анализ Фишера (LDA) для проецирования 240-мерных данных на подпространства меньшего размера, как я делал это в PCA. - person pisuvar; 17.12.2012
comment
Спасибо, Сэм, я решил свою проблему с помощью предоставленных вами ссылок на документацию. - person pisuvar; 18.12.2012

вы можете использовать fitcdiscr для классификации с использованием LDA в Matlab 2014

person sarvani videla    schedule 26.10.2014