Каковы доступные методы / реализации в R / Python для отбрасывания / выбора неважных / важных функций в данных? Мои данные не имеют меток (без надзора).
Данные имеют ~ 100 признаков со смешанными типами. Некоторые числовые, а другие двоичные (0/1).
r
feature-selection
python
ученик
источник
источник
Ответы:
Ему уже год, но я все еще чувствую, что это актуально, поэтому я просто хотел поделиться своей реализацией Python анализа основных функций (PFA), предложенного в статье, с которой Чарльз связал в своем ответе.
Вы можете использовать это так:
Это строго следует описанному алгоритму из статьи. Я думаю, что метод обещает, но, честно говоря, я не думаю, что это самый надежный подход к выбору неконтролируемых функций. Я выложу обновление, если я придумаю что-нибудь получше.
источник
fit
функция пропускает шаг 1 и выполняет PCA для исходного набора данных. ,Пакет sparcl в R выполняет разреженную иерархическую и разреженную кластеризацию K-средних. Это может быть полезно. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2930825/
источник
Анализ основных функций выглядит как решение для неконтролируемого выбора функций. Это описано в этой статье .
источник
Я нашел ссылку, которая может быть полезна, это реализации Matlab, они могут работать для вас http://www.cad.zju.edu.cn/home/dengcai/Data/MCFS.html это выборка из нескольких кластеров метод, вы можете найти прочную основу об этом в последних работах. Дайте мне знать, если это работает для вас
источник
Есть много вариантов, доступных в
R
. Хорошее место для поиска - этоcaret
пакет, который обеспечивает хороший интерфейс для многих других пакетов и опций. Вы можете посмотреть на сайте здесь . Есть много вариантов, но я проиллюстрирую один.Вот пример использования простого фильтра с использованием встроенных
R
наборов данных «mtcars» (показано ниже).Теперь немного настройки кода (загрузка пакетов и т. Д.):
И мы можем подобрать простую модель для выбора переменных:
Просматривая результаты, мы получаем:
Наконец, мы можем построить выбранные переменные (in
fit1$optVariables
) в зависимости от результатаmpg
:В результате на этом графике:
источник
mpg
в качестве результата. Есть ли способ использовать такие методы в неконтролируемых моделях?Пакет
nsprcomp
R предоставляет методы для разреженного анализа основных компонентов, которые могут удовлетворить ваши потребности.Например, если вы считаете, что ваши функции обычно коррелируют линейно, и хотите выбрать первые пять, вы можете запустить разреженный PCA с максимум пятью функциями и ограничиться первым основным компонентом:
В качестве альтернативы, если вы хотите зафиксировать ортогональный характер функций, вы можете выбрать верхнюю функцию из каждого из пяти лучших ПК, ограничив каждый ПК одной функцией:
Их также может быть полезно; т. е. объекты, которые последовательно достигают вершины по различным методам, могут объяснить большую разницу в пространстве признаков. Поэкспериментировав
nsprcomp
немного, кажется, что первые два метода поднимают ~ 1/2 из тех же функций на вершину. Тем не менее, оптимизация этого процесса может быть эмпирическим усилием.источник