Предобработка данных — тот самый этап АД, на котором держится всё (Garbage In, Garbage Out!), но который при этом часто остаётся за кадром

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Цель предобработки: привести датасет в «божеский» (читай: пригодный для анализа) вид. При этом решается множество отдельных задач: от объединения нескольких таблиц в одну до всесторонней оптимизации итогового датафрейма. Сегодня мы поговорим о сердце предобработки данных — их чистке.

Data cleansing или data cleaning называют процесс выявления и удаления/исправления любой неверной, неполной или неактуальной информации. В роли «загрязнений» могут выступать шумы и выбросы, дубли, пропуски и даже опечатки — всего не перечислишь.

Некоторые ошибки встречаются практически во всех датасетах, другие типичны для конкретной области. Иногда некорректными оказываются отдельные значения переменных, иногда — целые сущности. Больше всего проблем, как правило, возникает при объединении данных из разных источников.

Мы разберём три популярных «загрязнения», с поиска которых стоит начинать любую чистку:

Повторы

Если ваш датафрейм «слеплен» из нескольких независимых таблиц, вы почти наверняка столкнётесь с сущностями-дубликатами. Например, добрая половина объявлений о сдаче квартир в аренду на «Авито» и «Циане» полностью совпадает. Решается это в пару кликов: обычно лишние записи просто удаляют.

Противоречия

Здесь мы опять имеем дело с повторяющимися объектами, но на этот раз они не полностью идентичны. Например, одни и те же квартиры выставлены на разных платформах с разной арендной платой. Эту проблему решить сложнее: иногда лучше довериться только одной из записей, иногда — придумать схему агрегации, а иногда — вообще всё удалить.

Недопустимые значения и пропуски

Буквы в графе «номер телефона», 922-летние пользователи и пустые обязательные поля — обычно всё это появляется из-за ошибок ввода. Иногда данные можно восстановить по контексту: скажем, 1099 год рождения — это на самом деле наверняка 1999 год. Если такой опции нет, из-за нехватки информации порой приходится удалять целые куски датафрейма.

И это только первый слой «грязи» — дальше необходимо искать и исправлять проблемы с уникальными признаками, ссылками, вложенными значениями, многозначностью и т.д. Конечно, всё это делается не вручную.

Во-первых, всегда можно самостоятельно написать скрипт на Python или R. Для начинающего аналитика или дата-сайентиста это даже полезно: помогает глубже понять, как работают различные алгоритмы очистки данных, и заодно попрактиковаться в кодинге.

Во-вторых, разумеется, существует множество специальных инструментов: от готовых скриптов и встроенных методов СУБД до целых приложений вроде OpenRefine и TIBCO Clarity.

Напоследок заметим, что data cleaning, помимо технической составляющей, ставит перед аналитиком задачу по сохранению баланса: нужно не только удалить ошибки и привести разношёрстный датасет к некоторому единству — важно не уйти слишком далеко от оригинала!

Комментарии: