Предварительная обработка данных
Предварительная обработка данных — процесс манипулирования, фильтрации или дополнения данных перед их анализом[1]. Предварительная обработка данных зачастую является важным этапом в процессе интеллектуального анализа данных. Методы сбора данных часто недостаточно строго контролируются, что приводит к появлению выходящих за пределы возможных значений, невозможных сочетаний данных и пропущенных значений и другим проблемам.
Этапы
Предварительная обработка — это этап, на котором неструктурированные данные преобразуются в интерпретируемые представления, подходящие для моделей машинного обучения. На этой стадии модели устраняется шум в данных, что позволяет получить лучшие и более точные результаты по сравнению с исходным шумным набором данных. При этом в наборе данных зачастую присутствуют пропущенные значения.
Выбранная цепочка методов предварительной обработки может существенно повлиять на выводы последующего анализа. Поэтому репрезентативность и качество данных критически важны перед любым анализом[2]. Часто предварительная обработка данных — важнейшая фаза проекта машинного обучения, особенно в вычислительной биологии[3]. При большом количестве нерелевантной, избыточной либо шумной и ненадёжной информации извлечение знаний на этапе обучения модели существенно затрудняется. Этапы подготовки и фильтрации данных могут занимать значительное время обработки. К распространённым методам, используемым для предварительной обработки данных, относятся очистка, отбор экземпляров, нормализация, one-hot кодирование, преобразование данных, извлечение признаков и отбор признаков.
Функционал
Предварительная обработка данных позволяет удалить ненужные данные путём очистки, после чего в наборе данных остаются только наиболее ценные сведения, пригодные для последующих операций по манипулированию на последующих стадиях анализа данных. Исправление подобного набора данных для устранения повреждённых данных или ошибок пользователя является ключевым этапом для получения корректных показателей, таких как истинно положительные, истинно отрицательные, ложноположительные и ложноотрицательные значения, которые фиксируются в матрице ошибок (часто применяемой в диагностике в медицине). Пользователи могут объединять файлы данных и с помощью методов предварительной обработки фильтровать избыточные шумы, тем самым повышая точность анализа. Для этого обычно используют скрипты на языке Python с библиотекой pandas, что позволяет импортировать данные из CSV в виде датафрейма. Датафрейм затем используется для манипуляций, которые затруднительны при работе с Excel. Pandas (программное обеспечение) является мощным инструментом для анализа и обработки данных, обеспечивая простоту построения визуализаций, выполнения статистических операций и других задач. Для подобных целей также широко используется язык R.
Причины преобразования существующих файлов в новые могут быть разными. Этапы предварительной обработки данных включают заполнение пропущенных значений, агрегирование числовых показателей, преобразование непрерывных данных в категории (дискретизация данных)[4]. Более сложные техники, такие как метод главных компонент и отбор признаков, включают статистические формулы и применяются к сложным наборам данных, например, получаемым с GPS-трекеров и систем захвата движения.
Семантический интеллектуальный анализ данных — это направление анализа данных, целью которого является включение предметных знаний, например, формальной семантики, в процесс анализа. Предметные знания — это понимание среды, в которой собирались и обрабатывались данные. Такие знания могут положительно влиять на различные этапы анализа данных, в том числе на фильтрацию избыточных или противоречивых данных во время предварительной обработки[5]. Предметные знания также могут выступать ограничениями, сокращая пространство поиска и направляя анализ. Проще говоря, семантическая предварительная обработка позволяет более точно и эффективно фильтровать данные с учётом специфики первоначальной среды их получения.
Современные задачи анализа данных становятся всё более сложными, что требует применения продвинутых техник для качественной интерпретации информации. Вместо создания простых скриптов для агрегирования числовых значений имеет смысл использовать методы семантической предварительной обработки[6]. Принцип заключается в построении специализированной онтологии, которая описывает задачу на высоком концептуальном уровне[7]. В области семантического анализа и предварительной обработки данных онтологии позволяют формализовать семантические знания и структуру данных. Protege (программное обеспечение) является стандартным инструментом для создания онтологий. В целом, онтологии служат средством преодоления разнотолков между данными, приложениями, алгоритмами и результатами, вызванными семантическими несоответствиями. Поэтому семантический анализ данных с использованием онтологий находит применение во многих сферах, где неясность семантики может препятствовать эффективности работы с данными, например, в здравоохранении, обработке естественного языка, банковской сфере[8] и интеллектуальных учебных системах[9].
Преимущества подхода на основе семантического анализа и онтологий заключаются в следующем. Эти инструменты помогают выделять и удалять нерелевантные данные из набора на этапе предварительной обработки. Формальные семантики, корректно реализованные в структуре онтологии, обеспечивают создание мощной информации, легко интерпретируемой и обрабатываемой вычислительными системами[5]. Яркий пример подобного применения — обработка медицинских данных. Например, во время неотложной ситуации семантический обработчик может помочь быстро подобрать лечение по полной истории болезни пациента, анализируя естественный язык описания медицинских записей[10]. Благодаря этому первая помощь оказывается быстрее и эффективнее, поскольку анализ сложных данных и поиски оптимального лекарства производятся автоматически по формальным описаниям заболеваний. В итоге семантический анализ и онтологии обеспечивают более оперативное и результативное извлечение информации для пользователей, так как многие переменные уже учитываются на предварительном этапе. Недостатком такого подхода является высокая вычислительная сложность и потребность в больших вычислительных ресурсах даже при относительно небольших наборах данных[11]. Сложность можно снизить, если исходные данные уже удовлетворительно структурированы, но в целом она всё равно значительно выше, чем при традиционной обработке данных.
Ниже приведена схема, объединяющая процессы семантического интеллектуального анализа и их роль в построении онтологии.
На иллюстрации набор данных разделяется на две составляющие: характеристики предметной области (предметные знания) и сами собираемые данные. Предметные знания после обработки могут быть применены к данным с учётом специфики задачи, что реализуется на уровне онтологии. Далее онтология используется для анализа новых данных и получения результатов.
Другой продвинутой техникой является нечеткая предварительная обработка, применяемая для сложных задач. Она использует нечёткие множества, в которых каждому элементу сопоставляется степень принадлежности (от 0 до 1). Такой подход позволяет связывать числовые значения с лингвистической информацией. В результате сырые численные данные преобразуются в естественноязыковые описания. Цель нечёткого анализа состоит в эффективной работе с неточными или неполными данными, например, с частью отсутствующих сведений в базе. Сейчас методы нечёткого анализа часто применяются вместе с нейронными сетями и искусственным интеллектом[12].
Примечания
Литература
- Хасти, Тревор. The Elements of Statistical Learning: Data Mining, Inference, and Prediction : [англ.] / Тревор Хасти, Роберт Тибширани, Джером Фридман. — Springer, 2009. — ISBN 978-0-387-84884-6.



