У меня есть набор из 100 наблюдений, где каждое наблюдение имеет 45 характеристик. И каждое из этих наблюдений имеет прикрепленный ярлык, который я хочу предсказать на основе этих 45 характеристик. Таким образом, это входная матрица с размером 45 х 100 и матрицей-мишенью с размером 1 х 100.
Дело в том, что я хочу знать, сколько из этих 45 характеристик имеет значение в моем наборе данных, в основном основной компонентный анализ, и я понимаю, что могу сделать это с помощью функции Matlab processpca
.
Не могли бы вы рассказать мне, как я могу это сделать? Предположим, что входная матрица равна x
с 45 строками и 100 столбцами, а y
- вектор с 100 элементами.Matlab Question - Основной анализ компонентов
ответ
Предполагая, что вы хотите построить модель вектора 1x100 на основе матрицы 45x100, я не уверен, что PCA будет делать то, что вы думаете. PCA может использоваться для выбора переменных для оценки модели, но это несколько косвенный способ собрать набор функций модели. Во всяком случае, я предлагаю читать как:
и ...
... оба из которых обеспечить код в MATLAB не требует каких-либо панелей инструментов.
Вы попробовали COEFF = princomp(x)
?
COEFF = princomp(X)
выполняет анализ главных компонентов ( PCA) на п-по-р матрицыX
данных, и возвращает основные коэффициенты компонента, также известные как нагрузок. СтрокиX
соответствуют наблюдениям, столбцам до переменных.COEFF
представляет собой матрицу p-by-p, для каждого столбца, содержащего коэффициенты для одного основного компонента. Столбы находятся в порядке уменьшения дисперсии компонентов .
Обратите внимание, что для этого решения требуется панель инструментов статистики. – Predictor
Я пробовал это, но дело в том, что я хочу увидеть, какая из этих характеристик важна в моих данных. Я хочу создать Neural Network, и я хочу передать в качестве входных данных только те характеристики. – Simon
С вашего вопроса я решил, что вам не нужно делать это в MATLAB, но вы просто хотите проанализировать свой набор данных. По моему мнению, ключ - это визуализация зависимостей.
Если вы не вынуждены выполнять анализ в MATLAB, я предлагаю вам попробовать более специализированное программное обеспечение, например, WEKA (www.cs.waikato.ac.nz/ml/weka/) или RapidMiner (quick-i .com). Оба инструмента могут обеспечить PCA и другие алгоритмы уменьшения размера + они содержат хорошие инструменты визуализации.
Ваш случай использования звучит как комбинация классификации и выбора функций.
Статистика Toolbox предлагает множество хороших возможностей в этой области.Набор инструментов обеспечивает доступ к целому ряду алгоритмов классификации, включая
- Наивный байесовский классификатор Тарированная
- Decision Trees (ака Случайные леса)
- биномиального и Multinominal логистического регрессионного анализа
- линейный дискриминантный
У вас также есть множество возможностей для выбора функции:
- sequentialfs (вперед и назад МНЕМОНИЧЕСКИЙ)
- relifF
- «treebagger» также поддерживает опции для выбора функции и оценки переменного значения.
В качестве альтернативы вы можете использовать некоторые возможности инструментария Optimization для написания собственных пользовательских уравнений для оценки значения переменной.
Несколько месяцев назад, я сделал веб-семинар для MathWorks под названием «Compuational Statistics: Начало работы с классификацией с использованием MTALAB». Вы можете смотреть вебинар на
http://www.mathworks.com/company/events/webinars/wbnr51468.html?id=51468&p1=772996255&p2=772996273
код и набор данных для примеров можно найти на MATLAB Central
http://www.mathworks.com/matlabcentral/fileexchange/28770
При всем этом сказано и сделано, многие люди с помощью основного компонента Анализ как шаг предварительной обработки перед применением алгоритмов классификации. PCA привыкает много
- Если вам необходимо извлечь из особенностей изображений
- Когда вы беспокоитесь о мультиколлинеарности
Вы должны найти корреляционную матрицу. в следующем примере MATLAB находит корреляционную матрицу с функцией «КОРР»
http://www.mathworks.com/help/stats/feature-transformation.html#f75476
Пожалуйста, разместите здесь все соответствующие коды и документацию. Ссылка может меняться со временем и сделать этот ответ недействительным. – rfornal
- 1. Анализ основных компонентов в MATLAB
- 2. анализ компонентных компонентов в MATLAB
- 3. PCA - анализ основных компонентов в Matlab, код
- 4. MATLAB - floor question
- 5. Matlab subclassing question
- 6. анализ основных компонентов
- 7. Python - Анализ основных компонентов
- 8. Анализ основных компонентов
- 9. Анализ основных компонентов с помощью Voxels с использованием Matlab
- 10. Локальный анализ двоичных диаграмм и основных компонентов - Matlab
- 11. Matlab - анализ PCA
- 12. Анализ основных компонентов в C#
- 13. Анализ основных компонентов в Python
- 14. Независимый анализ компонентов как изображений
- 15. Анализ основных компонентов и вращение
- 16. Анализ основных компонентов с Matplotlib
- 17. Анализ основных компонентов в R
- 18. проанализированный анализ основной матрицы поиска
- 19. Matlab CUDA Основной эксперимент
- 20. Анализ основных компонентов с собственной библиотекой
- 21. Факторный анализ в Matlab
- 22. Анализ соседства в MATLAB
- 23. Анализ спектра мощности Matlab
- 24. Анализ данных Matlab/Excel
- 25. Анализ Spectrogram Matlab
- 26. Анализ массива массивов Matlab
- 27. Анализ последовательностей matlab
- 28. Заказ основных компонентов Matlab PCA
- 29. Вычисление и построение основных компонентов с использованием основного анализа компонентов (PCA) в Matlab
- 30. Независимый анализ компонентов (ICA) в Python
@David Хеффернэн: Вот про смутное замечание я видел на SO, но. @Jack: R похож на Matlab синтаксически. Вы можете взглянуть на http://www.uga.edu/strata/software/pdf/pcaTutorial.pdf, если хотите идти по этому маршруту. – aqua
Да, R, что вы хотите для PCA –
@ Дэвид Хеффернан: Что относительно кода Matlab для анализа основных компонентов недостаточно, чтобы один * имел *, чтобы переключиться на R, чтобы получить достойные результаты? – Jonas