Готовы ли ваши данные для машинного обучения? Проверьте его работоспособность и узнайте, как бороться с выбросами, которые вы можете найти.

В кабинете врача вы и фельдшер выполняете привычный распорядок дня до приезда врача. Они проверит ваши жизненно важные функции - пульс, артериальное давление, частоту дыхания и др. - и соберут некоторую общую информацию. Эти шаги обобщают некоторые важные аспекты вашего здоровья, позволяя врачу сразу перейти к более сложному анализу.

Data Health Tool, теперь включенный в Alteryx Intelligence Suite, делает нечто подобное с вашими данными. Он дает вам быструю, но тщательную оценку готовности набора данных к дальнейшему анализу, особенно перед прогностической аналитикой и машинным обучением. Инструмент также ищет выбросы и удобно помещает их в отдельный вывод, чтобы вы могли с ними работать.

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

Об инструменте Data Health Tool

Инструмент Data Health Tool собирает «жизненно важные признаки» для вашего набора данных, которые показывают, готов ли он предоставить надежные и точные данные, или для него сначала потребуется особая обработка. В частности, инструмент предлагает взглянуть на отсутствующие значения в вашем наборе данных, наличие в нем выбросов и их разреженность. (Набор данных является «разреженным», если он содержит много нулевых значений; например, наборы данных, используемые многими системами рекомендаций по покупкам, являются разреженными, поскольку каждый отдельный покупатель не купил или даже не просмотрел многие из предлагаемых продуктов.) Data Health также проверяет что количество уникальных значений для каждой переменной имеет смысл для ее типа данных и размера набора данных.

Если вы поклонник инструментальной палитры Data Investigation, вы можете задаться вопросом, чем Data Health отличается от Field Summary Tool. Вы действительно получаете одну и ту же информацию из обоих инструментов; однако важно отметить, что Data Health обеспечивает общую оценку качества вашего набора данных, как недавно сказала мне менеджер по продукту Alteryx в области науки о данных Соня Пракасам. «Data Health дает более действенные результаты. Его удобно использовать перед любым процессом машинного обучения, чтобы подготовить данные для конвейера машинного обучения ".

Data Health также обнаруживает и идентифицирует выбросы за вас, чего не делает Сводка по полю. Мы поговорим об этом чуть позже, в том числе о том, что делать с этими выбросами, когда вы их поймаете.

Перед использованием Data Health лучше всего использовать Feature Types Tool, чтобы убедиться, что ваши типы данных установлены правильно, и вы можете получить другие результаты, если вы этого не сделаете. Data Health может работать со строковыми, логическими и числовыми данными; Типы функций позволяют вам установить более подробные типы для каждого столбца (например, почтовый индекс, текст, категориальный и т. Д.). Data Health понимает, как обращаться с каждым из этих типов, и предоставит более точную оценку состояния, если предоставит эту дополнительную информацию.

Диагностика выбросов

Помимо всей другой полезной информации, здорово иметь инструмент, который быстро находит выбросы, которые могут создать проблемы при анализе и моделировании. Инструмент Data Health Tool использует метод, установленный в рецензируемом исследовании в 2008 году (прочтите его здесь). Он основан на методе визуализации данных, о котором вы, вероятно, слышали: коробчатая диаграмма или диаграмма коробочка и усы.

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

Независимо от того, как выглядит распределение ваших данных, метод определения выбросов от Data Health поможет вам. Он основан на измерении асимметрии, называемом медпарой. Эта мера используется для корректировки построения коробчатой ​​диаграммы. Этот подход позволяет избежать ненужной пометки точек данных как выбросов, когда они фактически находятся достаточно близко к центру распределения данных. Как объясняют исследователи: Это делает скорректированную коробчатую диаграмму интересным и быстрым инструментом для автоматического обнаружения выбросов без каких-либо предположений о распределении данных.

Искать выбросы без автоматизированного инструмента немного сложнее. Некоторые параметры в Конструкторе обсуждаются в этой ветке. Вы можете попробовать использовать Python и pandas, как объяснено здесь, вычисляя z-оценки для значений в каждом столбце, а затем потенциально удаляя строки, содержащие выброс в одном или нескольких столбцах. Другой вариант Python - использовать фактор локального выброса, доступный в sklearn. Этот подход, продемонстрированный здесь и показанный на графике ниже, основан на k-ближайших соседях и определяет, является ли точка данных выбросом, на основе ее изоляции относительно окружающего ее окружения. Бедные одинокие изгнанники!

Итак, у меня есть выбросы ... Что такое лечение?

Во-первых, внимательно посмотрите на свои выбросы:

  • Действительно ли они редки? Не должно быть много дурацких ценностей. Если да, возможно, вам придется решить другие проблемы.
  • Могли ли они быть опечатками? Может быть, эти значения можно исправить.
  • Может быть ошибка измерения? Например, датчик может ошибочно записывать данные при определенных условиях.
  • Есть ли закономерность в том, как возникают выбросы? Возможно, они совпадают с конкретными значениями другой переменной. Это может быть важной закономерностью для наблюдения.
  • Было ли в вашей выборке что-то или что-то необычное, заслуживающее дальнейшего изучения? Исключение может быть признаком того, что есть совершенно новая область для исследования.
  • Если у вас небольшой размер выборки: могут ли ваши выбросы быть всего лишь несколькими первыми точками данных, появляющимися на этом конце распределения? Если бы вы собрали больше данных, возможно, у вас там было бы намного больше точек данных? Эту возможность может быть трудно определить, но эти выбросы могут быть просто намеком на дополнительные данные, которые появятся при дальнейшем сборе данных.

Этот экзамен определит ваши следующие шаги. Ваши варианты обработки выбросов просты на первый взгляд: игнорировать их, удалять или изменять. Ваш выбор может частично зависеть от ваших планов в отношении данных. Если вы проводите исследовательский анализ данных и генерируете визуализации, выбросы могут быть новинками и / или началом обсуждения, поэтому оставить их на месте может не проблема. Возможно, вы захотите провести анализ с выбросами и без них, чтобы увидеть, как ваши результаты различаются.

Если у вас много данных, можно просто удалить выбросы. Это удаление иногда называют «обрезкой» ваших данных. Обычно вы отбрасываете одинаковый процент высших и наименьших значений из ваших данных. Думайте об этом как об обрезании хвостов колоколообразной кривой ваших данных. Однако вы довольно сильно изменяете свои данные со всеми вопросами, которые могут возникнуть, и вам нужно иметь хорошее обоснование для этого подхода.

Еще одна стратегия - изменение выбросов. Выбросы определенно могут влиять на модели машинного обучения, на некоторые из них больше, чем на другие. Тем не менее, вы можете захотеть сохранить каждую частичку данных, которую вы должны использовать при обучении вашей модели. Вот несколько подходов к модификации, которые вы можете рассмотреть:

  • Преобразование: логарифмическое преобразование, квадратный корень или обратное преобразование иногда используются при предварительной обработке, чтобы уменьшить асимметрию данных (то есть сделать их более нормальным распределением) и уменьшить потенциальное влияние выбросов. Функция LOG (x) в Designer's Formula Tool может помочь с преобразованием журнала.
  • Отсечение, или победа: этот метод устанавливает ограничение на значения, которые может иметь переменная. Например, при победе на 90% данные будут взяты верхние 10% и нижние 10% значений и заменены значениями на 90-м и 10-м процентилях соответственно. В отличие от обрезки, вы не удаляете точки данных; вы заменяете самые дальние значения на обоих хвостах кривой - бывшие выбросы - значениями, более близкими к остальным вашим данным.

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

С помощью инструмента Data Health Tool, как только ваши выбросы будут определены, вам решать, как вы предпочитаете действовать с ними. Вы можете найти их в третьем якоре вывода инструмента и проверить их дальше. Вы можете добавить поле, помечающее их как выбросы, и снова присоединить их к вашему основному набору данных. Вы можете построить свои данные и пометить выбросы с помощью этого флага, используя другой цвет для выявленных выбросов (например, на диаграмме рассеяния), или использовать инструменты исследования данных для дальнейшего изучения этих выбросов и их взаимосвязи с другими переменными. Вы также можете присоединить выбросы к основному источнику данных, а затем исключить выбросы из анализа. Что бы вы ни выбрали, помните о предостережениях, указанных выше.

В целом, инструмент Data Health Tool обеспечивает быструю и чрезвычайно полезную информацию о качестве и готовности ваших данных для анализа и машинного обучения. С его помощью вы можете быстро перейти к следующим шагам с уверенностью, что вы изучили важнейшие жизненно важные признаки своего набора данных.

Дополнительное чтение

Первоначально опубликовано на Портале Data Science Portal сообщества Alteryx.