group-telegram.com/reliable_ml/134
Last Update:
Необычные значения в данных
Цикл постов о подготовке данных. Пост 1
Этой заметкой мы хотели бы начать серию постов, посвященную подготовке данных.
Качество ML-моделей определяется качеством данных, на которых они обучаются. В этой серии постов мы будем говорить о табличных данных. Хотя в целом выводы и идеи можно адаптировать не только к табличкам, но и к текстам, звукам, картинкам и последовательностям событий (логам транзакций).
Что мы имеем в виду под необычными данными
Данные могут содержать примеры, нехарактерные для исследуемого распределения: выбросы или аномалии. Выявление и последующее удаление/трансформация таких точек из набора данных позволяет повысить качество работы модели.
Чаще всего термины выброс (outlier) и аномалия (anomaly) используют взаимозаменяемо (Aggarwal, 2016). А некоторые авторы - например, в лекциях MIT 2023 г. по Data-Centric AI - разделяют задачу выявления выбросов (поиск нетипичных точек в уже имеющихся данных) и детекции аномалий (выявление нетипичных точек в новых данных). Для практики также важна детекция новизны (novelty detection) [3] [4] - выявление нового класса примеров, не представленных в обучающей выборке. О последней хорошо рассказывают в своих лекциях А. Дьяконов и Stefan Buuren.
Откуда они появляются
- Ошибки. Ошибки сенсора, отказы оборудования, ошибки фиксации данных.
- Точки из другого распределения. Например, при анализе стоимости торговой недвижимости всплыли нетипично дорогие сделки с площадью 1 кв. м. - аренда места под банкоматы. Ценообразование в этом сегменте другое, из набора данных для анализа торговой недвижимости их стоит исключить.
- Редкие случаи из интересующего нас распределения - необычные результаты, которые не похожи на остальные данные, но их нельзя игнорировать. Например, на медосмотре нам может попасться пациент с очень редким пульсом, но с совершенно здоровым сердцем.
Что с ними делать
Чаще всего необычные данные удаляют. Так поступают, если выбросы не несут важной информации. Но иногда необычные данные - просто редкие примеры интересующего нас распределения. Особенно выгодные клиенты, сложные редкие ситуации, или случаи использования, пропущенные при постановке задачи. В таких случаях можно:
- Добавить дополнительный признак - “редкий случай”
- Ограничивать значение (обрезать аномально высокие значения, увеличить аномально низкие и т.д.)
- Восстановить наиболее вероятное истинное значение (data imputation)
Удаление необычных данных решает проблему с обучением модели, но никак не помогает, когда такие необычные данные приходят на этапе инференса (предсказания). И тут ограничение значения или импутация позволяет модели выдавать более-менее осмысленный результат.
В следующих постах цикла мы поговорим о том, как выявлять и анализировать выбросы и закончим формулировкой фреймворка по работе с выбросами - на основе примеров из практики.
Ваш @Reliable ML
BY Reliable ML
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/reliable_ml/134