Вопрос или проблема
В контексте контролируемого машинного обучения существует ли способ сделать прогноз по частичному вводу (т.е. некоторые признаки неизвестны) в общем? Если нет, существуют ли модели, которые поддерживают эту функцию?
Спасибо!
Все модели являются прогнозами из частичных наборов переменных. Мы выбираем то, что нам известно и по чему есть достаточно полные переменные, и строим лучшую модель, которую можем построить.
У вас есть несколько вариантов:
-
Использовать только переменные, которые полностью присутствуют как в обучающей, так и в тестовой выборке, даже если это означает использование всего лишь нескольких переменных, и сделать все возможное.
-
Выполнить мастерское империрование и принять последствия для модели (это размоет результаты).
-
Использовать все полные и легко империруемые числовые переменные, а также любые категориальные переменные с или без пропусков и создать категорию “пропущенные” или что-то подобное, что станет слоп-столбцом при одноразовом кодировании.
Вы можете провести исследование по Binary Flags
, чтобы узнать, как это может быть реализовано. Это было очень полезно для меня, особенно в регрессиях, где коэффициенты для каждой категории независимы.
Ответ или решение
Вопрос о предсказании с частичными входными данными в контексте машинного обучения является актуальным, так как в реальной практике часто встречаются ситуации, когда некоторые параметры могут быть недоступны или неполными. Рассмотрим, как можно подойти к этой задаче, основываясь на методах и моделях машинного обучения.
Логика предсказания с частичными входными данными
Прежде всего, стоит отметить, что многие модели машинного обучения действительно могут работать с неполными наборами данных. Однако это требует осмысленного подхода к обработке недостающих значений и правильному выбору используемых переменных.
Варианты подходов к работе с частичными данными:
-
Использование только полных переменных:
- Один из самых простых подходов заключается в том, чтобы исключить из анализа все переменные с недостающими данными. Это может ограничить количество доступных переменных, однако обеспечит более высокое качество модели. Данный метод особенно подходит, если у вас есть достаточно данных и можно выделить переменные, характеристики которых не содержат пропусков.
-
Импутация недостающих значений:
- Импутация — это процесс заполнения недостающих значений в выборке. Она может быть осуществлена различными способами, например, с использованием средних значений, медиан или более сложных алгоритмов, таких как KNN (k-nearest neighbors). Тем не менее, имputation может снизить точность модели, если выборка слишком сильно искажена недостающими данными.
-
Идентификация и кодирование недостающих значений:
- Для категориальных переменных можно создать новую категорию, обозначающую недостающие значения, и закодировать ее при помощи методов одинарного кодирования (one-hot encoding). Это позволяет сохранить информацию о том, что значение отсутствует, и может быть полезно в самых различных задачах.
Модели, поддерживающие неполные входные данные
Некоторые модели машинного обучения изначально построены для работы с неполными данными:
-
Деревья решений и ансамблевые методы (например, Random Forest): Эти модели могут обрабатывать пропуски в данных, используемыми в процессе построения и предсказания. Они могут предоставлять свои прогнозы без необходимости чистки данных или их полной предварительной обработки.
-
Сетевые топологии: Нейронные сети могут быть адаптированы для работы с неполными входными данными с использованием масок, которые обозначают наличие или отсутствие данных.
-
Методы, основанные на вероятности: Как например BEER (Bayesian Expectation-Maximization for Estimation and Recovery), могут быть использованы для обработки пропусков через взвешивание вероятностей.
Заключение
Предсказание с частичными входными данными представляет собой сложную задачу, но с применением правильных методик и моделей можно успешно справиться с недостающей информацией. Важно осознавать, что качество итоговых результатов может быть зависимым от выбранного подхода к обработке отсутствующих данных. В конечном итоге, выбор стратегии должен основываться на специфику задачи и характере доступного набора данных.