Я никогда не нашел ни одного хорошего текста или примеров того, как обрабатывать «несуществующие» данные для входов в какой-либо классификатор. Я много читал о пропущенных данных, но что можно сделать с данными, которые не могут или не существуют в отношении многомерных входных данных. Я понимаю, что это очень сложный вопрос, и он будет варьироваться в зависимости от используемых методов обучения ...
Например, если вы пытаетесь предсказать время прохождения круга для нескольких бегунов с хорошими точными данными. Среди многих входных данных возможные переменные среди многих:
- Входная переменная - Первый бегун (Да / Нет)
- Переменная ввода - предыдущий круг (0 - 500 секунд)
- Входная переменная - Возраст
- Входная переменная - высота. , , много других входных переменных и т. д.
Predictor & Output - прогнозируемое время простоя (0 - 500 секунд)
«Отсутствующая переменная» для «2.Previous laptime» может быть вычислена несколькими способами, но «1. Первый раз 'всегда будет равен N. Но для «НЕТ СУЩЕСТВУЮЩИХ ДАННЫХ» для первого бегуна (где «1. Первый бегун» = Y) какое значение / обработку я должен дать для «2. Предыдущее время круга?
Например, присвоение «2. Предыдущее время прохождения '-99 или 0 может существенно исказить распределение и создать впечатление, что новый бегун показал себя хорошо.
Мои текущие методы обучения используют Логистическую регрессию, SVM, NN и деревья решений
источник
Ответы:
Вместо того, чтобы назначать специальное значение для несуществующего времени первого круга в первом круге, просто используйте термин взаимодействия для времени предыдущего круга с обратным манекеном для первого бегуна:
Вот
Тогда модель для начинающих бегунов будет:
и для не бегунов первого раза:
источник
Для логистической регрессии, подобранной по максимальному правдоподобию, при условии, что у вас есть (1) и (2) в модели, тогда независимо от того, какое значение «по умолчанию» вы дадите новым участникам для (2), оценка для (1) будет корректироваться соответственно.
тогда как для существующего бегуна это будет:
Конечно, если вы не используете максимальное правдоподобие (т. Е. Вы используете какой-либо вид наказания или априор по параметрам), то вы получите другие значения, если не отрегулируете штраф / априор соответственно. И если модель нелинейная (например, SVM, NN и деревья решений), то этот аргумент не работает вообще.
источник