TLDR

Машины с трудом понимают данные, которые люди могут прочитать. Применяйте кодирование качественных данных для более эффективного обучения моделей.

Контур

  • Введение
  • Прежде чем мы начнем
  • Качественные данные
  • Кодирование данных
  • Заключение

Введение

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

Прежде чем мы начнем

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

Если вам интересно, как создавать подобные наборы данных, прочитайте наше руководство по подготовке данных/настройке данных. В качестве предшественника прочитайте наше Вводное руководство, если вы не знакомы с Pandas или основами машинного обучения.

Качественные данные

Чтобы начать с наших больших данных, мы выберем точки данных, которые являются буквами, а не числами, потому что машины не понимают числа так же хорошо, как люди. Следующие столбцы «Образование, Семейное положение» представляют качественные текстовые данные. Качественные данные имеют две формы: номинальные и порядковые данные. Качественный иногда также называют категориальным.

Порядковые данные

Одной из форм качественных данных являются порядковые данные. Этот тип данных требует больше размышлений, поскольку он связывает качество или ценность данных друг с другом. Это дает машине представление о том, как каждое отдельное значение пропорционально друг другу. Например, в приведенных выше данных столбец «Образование» содержит порядковые данные, поскольку сумма инвестиций варьируется. Чтобы получить аттестат о среднем образовании («базовый»), степень младшего специалиста («цикл 2n»), степень бакалавра («выпускной»), степень магистра («магистр») и доктора философии различаются по уровню знаний.

Номинальные данные

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

Кодирование данных

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

Этикетки для взвешивания

Для порядковых данных мы хотим начать с присвоения меток на основе их приоритета или значений. В нашем наборе данных об образовании у нас есть несколько уровней образования с разными уровнями. Мы начинаем с создания карты для ранжирования каждого уровня образования по отношению друг к другу по 10-балльной шкале.

Вершиной образования, являющейся рейтингом доктора философии, является 10. С другой стороны, наименьшее значение в наборе данных будет оцениваться как 1. Традиционно студенты, продолжающие высшее образование, получают степень бакалавра, прежде чем искать работу. В этом случае мы будем взвешивать его как 6. Цикл 2n, или ассоциат, будет равноудален от мастера по отношению к 5. Я выбрал равноудаленность как 2. В результате наши окончательные веса будут ‹1, 3, 5, 8, 10›, для ‹«Базовый», «2-й цикл», «Выпускной», «Магистр», «Доктор философии»›.

Выбор этих значений дает машине представление о том, как каждое отдельное значение пропорционально друг другу. Например, в приведенных выше данных столбец «Образование» содержит порядковые данные, поскольку сумма инвестиций варьируется. Чтобы получить аттестат о среднем образовании (окончание), степень младшего специалиста (цикл 2n), степень бакалавра, степень магистра и доктора философии различаются по уровню знаний.

Одно горячее кодирование

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

Для каждого уникального значения в разделе «Семейное положение» требуется новый столбец. Одним из ярлыков в Pandas является использование префиксов для создания нового существующего столбца для каждого значения в столбце.

Заключение

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