Некоторые методы прогнозирующего моделирования больше предназначены для обработки непрерывных предикторов, а другие - для обработки категориальных или дискретных переменных. Конечно, существуют методы преобразования одного типа в другой (дискретизация, фиктивные переменные и т. Д.). Однако существуют ли какие-либо методы прогнозного моделирования, которые предназначены для одновременной обработки обоих типов ввода без простой трансформации типа функций? Если да, то как эти методы моделирования лучше работают с данными, для которых они более естественны?
Ближе всего , что я знаю , что было бы обычно дерева решений обрабатывать дискретные данные хорошо , и они обрабатывают непрерывные данные , не требуя от передней дискретизации. Тем не менее, это не совсем то, что я искал, так как разделение на непрерывные функции - это всего лишь форма динамической дискретизации.
Для справки, вот несколько связанных, не повторяющихся вопросов:
- Как следует реализовывать разбиения дерева решений при прогнозировании непрерывных переменных?
- Могу ли я использовать множественную регрессию, когда у меня смешаны категориальные и непрерывные предикторы?
- Имеет ли смысл когда-либо относиться к категориальным данным как к непрерывным?
- Непрерывный и категориальный анализ переменных данных
Ответы:
Насколько я знаю, и я глубоко исследовал эту проблему в прошлом, не существует методов прогнозного моделирования (кроме деревьев, XgBoost и т. Д.), Которые предназначены для одновременной обработки обоих типов ввода без простой трансформации тип особенностей.
Обратите внимание, что такие алгоритмы, как Random Forest и XGBoost, допускают ввод смешанных функций, но они применяют некоторую логику для их обработки во время разделения узла. Убедитесь, что вы понимаете логику «под капотом» и что вы в порядке с тем, что происходит в черном ящике.
Некоторые известные функции расстояния для категориальных функций:
Расстояние Левенштиена (или любая форма «редактирования расстояния»)
Самая длинная общая подпоследовательность
источник
Я знаю, что прошло много времени с тех пор, как этот вопрос был опубликован, но если вы все еще рассматриваете эту проблему (или аналогичные), вы можете рассмотреть возможность использования обобщенных аддитивных моделей (GAM). Я не эксперт, но эти модели позволяют комбинировать разные модели для создания единого прогноза. Процесс, используемый для нахождения коэффициентов для моделей, которые вы вводите, решает для всех них одновременно, так что вы можете отправить обобщенную аддитивную модель вашей любимой модели для категориальных предикторов и вашей любимой модели для непрерывных предикторов и получить единую модель, которая минимизирует RSS или любой другой критерий ошибки, который вы хотите использовать.
Вдобавок ко всему, единственный программный пакет, который, как я знаю, имеет реализацию GAM, - это язык R, но я уверен, что есть и другие.
источник
Хотя дискретизация преобразует непрерывные данные в дискретные данные, вряд ли можно сказать, что фиктивные переменные преобразуют категориальные данные в непрерывные данные. Действительно, поскольку алгоритмы можно запускать на компьютерах, едва ли существует алгоритм классификатора, который НЕ преобразует категориальные данные в фиктивные переменные.
В том же смысле классификатор в конечном итоге преобразует свои предикторы в дискретную переменную, указывающую принадлежность класса (даже если он выводит вероятность класса, вы в конечном итоге выбираете отсечение). Фактически многие классификаторы, такие как логистическая регрессия, случайный лес, деревья решений и SVM, отлично работают с обоими типами данных.
Я подозреваю, что было бы трудно найти алгоритм, который работает с непрерывными данными, но не может обрабатывать категориальные данные вообще. Обычно я нахожу, что это имеет большее значение для того, какой тип данных вы имеете в левой части вашей модели.
источник
Это глубокий философский вопрос, который обычно рассматривается как со стороны статистики, так и со стороны машинного обучения. Некоторые говорят, что классификация лучше для дискретного или категориального индикатора, так что пакеты могут легко переварить входные данные модели. Другие говорят, что объединение может привести к потере информации, но, тем не менее, категориальные переменные могут / должны быть преобразованы в {1,0} индикаторные переменные, оставляя последний класс для остатков модели.
В книге « Прикладная линейная регрессия» (Катнер и др.) Упоминается логика введения индикаторных переменных в модель в первых нескольких главах. Там может быть другой подобный текст тоже.
Мой взгляд на это может быть слишком надуманным: если мы представим категориальные переменные, такие как блоки в экспериментальном проекте, индикаторная переменная является естественным продолжением анализа данных, не основанного на эксперименте. Что касается алгоритмов интеллектуального анализа данных (семейства деревьев решений), то категоризация неизбежна (либо вручную, либо с помощью автоматического бинирования), которую необходимо подавать в модель.
Следовательно, может не существовать модели, которая специализировалась бы для числовых и категориальных переменных одинаково (без числового биннинга или использования категориальных индикаторов).
источник