Вопрос или проблема
Я работаю над выбором наиболее эффективных признаков из набора данных с более чем 2000 признаками. Я использую для этого разные алгоритмы (selectKBest с хи-квадратом, Extra Trees, Корреляция и т.д.). Но когда я смотрю на рейтинг признаков, я вижу, что selectKBest с хи-квадратом генерирует точно такие же результаты, как и Корреляция. Это возможно или я делаю что-то не так?
Все мои признаки состоят из 64-битных вещественных чисел, в диапазоне [-8,11], а моя целевая колонка бинарная, она может быть только 0 или 1.
Обновлено 05.09.19: Я ПО-ПРЕЖНЕМУ ищу, как это может быть возможно? Я предполагаю, что оба метода основаны на одной и той же формуле и разработаны одним и тем же человеком, но мне нужно доказательство, чтобы это понять.
Функция Корреляции:
cor = data.corr()
# Класс - моя целевая колонка
cor_target = abs(cor["Class"])
# Хотите получить значения корреляции для каждого признака без целевой колонки
relevant_features = cor_target[cor_target > 0].drop(labels=["Class"])
# Топ 1000 признаков
relevant_features = pd.Series(relevant_features, index=data.columns).nlargest(1000).index.values
Функция SelectKBest:
bestfeatures = SelectKBest(score_func=chi2, k="all")
fit = bestfeatures.fit(dataValues, dataTargetEncoded)
feat_importances_chi = pd.Series(fit.scores_, index=dataValues.columns).nlargest(1000).index.values
И результат relevant_features и feat_importances_chi имеет точно такие же результаты.
Вероятно, то, что вы видите, заключается в том, что те признаки, которые сильно коррелируют друг с другом, сильно влияют на результаты, так что если один из признаков хорошо описывает целевую переменную, то другие сильно коррелирующие (или некоррелирующие) признаки также хорошо совпадают с целевой переменной.
Ответ или решение
Когда вы работаете с большими наборами данных (в вашем случае с более чем 2000 признаков) и используете различные алгоритмы для выбора наиболее значимых признаков, может возникнуть ситуация, когда алгоритмы SelectKBest с использованием хи-квадрат и корреляция возвращают идентичные результаты. Это вызывает вопросы о возможных причинах и обоснованиях данного явления. Давайте подробно рассмотрим, почему это может происходить и каковы механизмы работы этих методов.
1. Понимание методов
SelectKBest с хи-квадрат:
- Этот метод отбирает признаки, основываясь на статистике хи-квадрат, которая измеряет, насколько фактические наблюдения отличаются от ожидаемых. Хи-квадрат используется для анализа категориальных данных, и в вашем случае, когда целевая переменная является бинарной, он может помочь в оценке связи между признаками и целевой переменной.
Корреляция:
- Метод корреляции измеряет линейную взаимосвязь между двумя переменными. В вашем случае, поскольку все признаки являются непрерывными, метод Pearson будет наиболее подходящим. Высокая корреляция между признаками и целевой переменной указывает на сильную связь.
2. Почему результаты идентичны?
-
Линейная зависимость: В большинстве случаев, хи-квадрат и корреляция способны выявлять одни и те же ключевые зависимости, особенно если ваши признаки имеют линейную взаимосвязь с целевой переменной. В случае бинарной целевой переменной, если несколько признаков имеют схожие распределения и коррелируют друг с другом, результаты могут совпадать.
-
Мультиколлинеарность: Если в ваших данных существуют признаки, которые сильно коррелируют между собой, это может привести к тому, что одни и те же признаки будут наиболее релевантными как для хи-квадрат, так и для корреляции, поскольку они дают схожие статистические оценки.
3. Возможные ошибки в реализации
-
Предварительная обработка данных: Убедитесь, что вы правильно обрабатываете ваши данные перед использованием методов отбора признаков. Неправильная обработка данных может приводить к идентичным результатам. Например, если вы применяете нормализацию или обработку недостающих значений единообразно ко всем признакам, это может искусственно создать корреляцию между результатами.
-
Ошибки в коде: Проверьте, что код для обоих методов написан корректно и использует одни и те же входные данные. Например, если вы случайно отфильтровали одни и те же признаки на различных этапах, это может привести к совпадению результатов.
4. Обоснование и выводы
Несмотря на различия в алгоритмах, возможно, что оба метода действительно находят один и тот же набор «наилучших» признаков по причине наличия линейных зависимостей и мультиколлинеарности в ваших данных. Для более глубокого анализа и для лучшего понимания, вы можете рассмотреть возможность применения дополнительных методов отбора признаков, таких как методы на основе деревьев решений (например, Extra Trees или Random Forest) или методов, основанных на особенностях (например, Lasso).
5. Заключение
В заключение, идентичность результатов SelectKBest с хи-квадрат и корреляции в ваших экспериментах может быть объяснена как особенностями ваших данных, так и характером используемых методов. Чтобы удостовериться в достоверности выводов, рекомендуется использовать несколько различных методов и компилировать их результаты, а также визуализировать корреляции между признаками для получения более полной картины.
Эти действия помогут вам выбрать наиболее значимые характеристики для вашей задачи, тем самым повысив качество модели и ее предсказательную способность.