Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как обрабатывать пропущенные данные в датасете?

ПрограммированиеМатематика+2
Сослан Табуев
Машинное обучение
  · 6,5 K
Специалист в области управления и информатики в технических системах. Data Engeneer, IT...  · 22 дек 2021
Мне известны следующие варианты:
1) Отбросить строки с недостающими данными (либо не использовать столбцы с большим кол-вом NaN в качестве параметра для модели). По возможности, разумеется
2) Если влияние параметра с большим кол-вом NaN на результат модели достаточно высоко, то нужно продолжить искать информацию чтобы заполнить недостающие данные. Хороший датасет, результат кропотливого труда.
3) Воспользоваться методом заполнения fillna(). Здесь важным моментом будет выбор чем заполнять NaN? (средняя величина и т. д.)
По всем трем пунктам выпор той, или иной стратегии обработки отсутствующих значений это больше практическая сторона профессии.
Но в самом начале работы с отсутствующими данными нужно обязательно ответить на вопрос: Это значение отсутствует, потому что оно не было записано, или потому, что оно не существует? В зависимости от ответа на этот вопрос выбираются конкретные действия с отсутствующими значениями.
4 эксперта согласны
Согласен.
Увлекаюсь естественными науками и математикой. Разбираюсь в производстве корпусной...  · 2 авг 2021
Если значение пропущенного элемента влияет на машинное обучение, содержащую этот элемент запись следует полностью игнорировать, причём на малой выборке это особенно важно, так как всякие неверные данные на малых выборках сильнее снижают качество обучения. Единственное исключение можно сделать в том редком случае, когда все определённые (не Null) значения элемента по... Читать далее
2 эксперта согласны
Здравствуйте, есть много способов обработки пропущенных значений, предлагаю начать с самого простого - исключения строк с пропущенными элементами из датасета. Если у вас большой датасет, то процедуру можно запускать смело, но у метода есть и недостаток, ведь из таких строк мы можем потерять какую-то полезную информацию по другому признаку, которая больше нигде не... Читать далее
2 эксперта согласны
На малой выборке обычно учиться даже по медианным значениям гораздо вреднее игнорирования, так как эти значения... Читать дальше
Первый
аналитик данных  · 25 окт 2021
я попробую написать несколько решений навскидку: 1/ дропнуть те строки, в которых имеется Null / NA / что там у вас. Хорошее решение, если датасет большой, плохое - если маленький (или дикий дисбаланс классов 2/ Заполнить средним / максимумом / минимумом/ медианой - тут поиграться надо. Может сработать, но обязательно надо смотреть 3/ для категориальных фичей -... Читать далее
2 эксперта согласны
Даже добавить особо нечего. Ответ хорош
преподавание математики, высшей математики, data science, автор бестселлера "Математика...  · 3 авг 2021
  1. Модельно-независимым способом невозможно восстановить, кажется, это Теорема Шеннона.
  2. Следовательно, вы можете только ухудшить количество информации, полученой математически.
  3. Применение Закона больших чисел и других ГИПОТЕЗ есть прекрасный выход, если честно обосновано.
  4. Практически? Да не стесняйтесь, обрабатывайте В СВОЙ КАРМАН, веселее будет, если мосх е. :)
Кандидат физ.-мат. наук, делаю Яндекс, увлекаюсь всем на свете  · 3 авг 2021
Это зависит от задачи и от применяемого метода. Наиболее распространенные методы "табличного" ML -- Catboost и XGBoost -- умеют работать с пропущенными данными "из коробки", см. https://catboost.ai/docs/concepts/algorithm-missing-values-processing.html и https://towardsdatascience.com/xgboost-is-not-black-magic-56ca013144b4 "Под капотом" у них, естественно, не чёрная... Читать далее
1 эксперт согласен