Мой вопрос направлен на методы работы с неполными данными во время обучения / подгонки классификатора / модели.
Например, в наборе данных с несколькими сотнями строк, каждая строка, скажем, пять измерений и метка класса в качестве последнего элемента, большинство точек данных будут выглядеть так:
[0,74, 0,39, 0,14, 0,33, 0,34, 0]
Некоторые могут выглядеть примерно так:
[0,21, 0,68,?, 0,82, 0,58, 1]
Так что именно эти типы точек данных находятся в центре внимания этого Вопроса.
Первоначальной причиной, по которой я задавал этот вопрос, была проблема прямо передо мной; однако, прежде чем опубликовать мой Вопрос, я подумал, что было бы более полезно, если бы я перефразировал его, чтобы ответы были полезны для большей части Сообщества.
В качестве простой эвристики давайте разделим эти методы обработки данных на основе того, когда во время потока обработки они используются - перед вводом в классификатор или во время (т. Е. Метод находится внутри классификатора).
Лучший пример, который я могу придумать для последнего, - это умная техника «трехстороннего ветвления», используемая в деревьях решений.
Без сомнения, первая категория гораздо больше. Все техники, которые мне известны, попадают в одну из групп ниже.
Недавно, просматривая мои личные заметки о «обработке отсутствующих данных», я заметил, что у меня был довольно внушительный список техник. Я просто сохраняю эти записи для общего спокойствия и на случай, если младший коллега спросит меня, как поступить с недостающими данными. На практике я не использую ни одного из них, кроме последнего.
Вменение : широкая рубрика для набора методов, общий знаменатель которых (я считаю) состоит в том, что недостающие данные поставляются непосредственно одним и тем же набором данных - заменой, а не оценкой / предсказанием.
Реконструкция : оцените недостающие точки данных, используя автоассоциативную сеть (просто нейронную сеть, в которой размеры входного и выходного слоев равны - другими словами, выход имеет то же измерение, что и вход); Идея состоит в том, чтобы обучить эту сеть полным данным, затем передать их по неполным образцам и прочитать пропущенные значения из выходных узлов.
Самозагрузка : (резюме не нужно, я не должен думать, учитывая, что это используется в других местах статистического анализа).
Отказ : тихо удалите точки данных с отсутствующими / поврежденными элементами из вашего тренировочного набора и притворитесь, что их никогда не было.
modern
техник? Спасибо
mice
есть хорошая вводная статья по JSS: jstatsoft.org/article/view/v045i03 . (Введение должно оказаться полезным, даже если вы не используете R.) И в пакете R Amelia
есть хорошая виньетка, которая входит в комплект. Эти два пакета отличаются по своим деталям, но оба используют многократное вменение.