Pull to refresh

Comments 8

Ага, отличное дополнение! Добавлю ссылку на этот МAR.

Заметка хорошая, но часто у нас нет возможности переполучить данные, и приходится как-то работать с пропущенными значениями на уровне построения и валидации моделей. И тут уже подходы могут быть довольно разные. Продвинутые пакеты вроде LightGBM сами пытаются подставить вместо NA разные варианты — ну там среднее по остальным значениям фичи, например (но не только) и смотрят, не улучшит ли это скор.
Когда вы раскладываете NA на какие-то категории, пользуясь дополнительными знаниями о входящих данных — это уже скорее feature engineering начинается. Который часто улучшает модели и без наличия пропусков в данных.

Спасибо за поддержку,
Именно! Получаются доп.фичи.
Разные источники/причины NA могут быть определены в виде дополнительных фичь. Т.е. не просто заменой NA значения на что-то еще, а в виде доп.колонки с признаком. Из примера сверху это может быть — "не хватает текста".

Кстати,
есть интересное дополнение.
Часто случается, когда мы классикацию по нескольким классам заменяем на тэги. Т.е.несколько фич заменяем на фичу-list, в которой м.б. сколько угодно значений (тех же классов, к примеру). При использовании тэга может потеряться сематника пропущенных классов.
Лучше на примере: есть значение Должность (Electrical Engineer, Mechanical Engineer). Мы работаем с фичами Индустрия и Роль, либо с тэгом. С двумя инженерами понятно. Что делать со названием работы "нужен помощник со знанием математики"? Т.е. Индустрия — "не хватает данных", Роль — "многозначная" или "другие". А с тэгом пролет, потому что натурально мы бы просто не задали никакого тэга. И тогда мы теряем семантику пропущенных двух классов одновременно. А если пытаться в тэги засунуть семантику нескльких NA значений, то будет проще опять заменить тэг на те же пару классов. (заранее извиняюсь за скомканное объяснение)

Честно говоря, я вас вообще в данном объяснении не понял, но просто конец рабочего дня, я попробую потом ещё раз :)

:)
Постараюсь с другой стороны. Если бы работали с тэгом, то были бы просто значение null или class1+class2. A c двумя классами будут null и другой null. Что совсем не один тэг null. С двумя классами все бохааче. М.б. class1_null+class2, class1+class2_null, class1_null+class2_null. А если null окрасим "разными причинами пропуска", то еще богаче, информативнее :)

Но я повторюсь, что для этого вам нужно получить какие-то дополнительные данные откуда-то, чтобы получить эти дополнительные признаки, а зачастую такой возможности просто нет и надо уметь как-то работать с пропущенными данными и в этом случае тоже. Но в принципе идея посмотреть на всё это с другого ракурса — хорошая.
Sign up to leave a comment.

Articles