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

Структурированные данные

Этот тип данных обычно состоит из чисел или слов. Ниже мы рассмотрим, как обрабатываются различные типы структурированных данных.

Числовые/количественные данные

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

Категориальные/качественные данные

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

Порядковый номер

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

В таблице 1 приведены примерные данные рейтингов фильмов. Чтобы преобразовать этот столбец в числовое представление с использованием кодировки меток, нам необходимо определить уникальные рейтинги. Изучив данные, мы можем определить, что в этом порядке ранжирования есть 3 уровня, а именно плохой, средний и хороший. Таким образом, соответствующие числа будут 0, 1 и 2 для каждого из этих уровней. Таким образом, преобразованный столбец рейтингов фильмов будет таким, как показано в таблице 1.

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

Горячее кодирование

Номинальный

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

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

Чтобы выполнить однократное кодирование, мы сначала подсчитываем уникальные категории в столбце страны рождения, которых в данном случае оказывается 3. Теперь мы создаем три столбца для каждой из этих уникальных категорий и присваиваем 1, когда страна рождения равна соответствующему значению, и 0 в противном случае. Благодаря этому мы получаем дополнительные 3 столбца, показанные в таблице 2. Таким образом, мы преобразовали столбец страны рождения в числовую форму с помощью этих 3 столбцов. Этот процесс создания фиктивных переменных для каждой уникальной категории, которые являются двоичными для номинальных данных, называется горячим кодированием.

Иногда применение прямого кодирования приводит к большому количеству столбцов и увеличивает размерность данных. Это может быть нежелательно во всех случаях, и это следует обрабатывать до применения одноразового кодирования, если мы хотим уменьшить количество дополнительных столбцов. Например, если количество уникальных стран составляет более 150 и нам не нужна эта подробная информация о стране рождения, мы можем создать дополнительный столбец под названием «континент рождения» и сопоставить его для каждой страны. Теперь мы можем удалить страну рождения и закодировать континент рождения, что значительно уменьшит количество дополнительных столбцов. Это пример метода предварительной обработки для решения проблемы взрывной размерности при горячем кодировании.

Уникальный

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

Табличные данные

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

Неструктурированные данные

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

Изображение

Этот тип данных обычно состоит из файлов изображений. Изображения обычно представляют собой сетки, образованные более мелкими единицами, известными как пиксели. Например, если изображение имеет размер 28x28, это означает, что всего имеется 784 пикселя, из них 28 пикселей по ширине и 28 пикселей по высоте.

Согласно цветовой модели RGB все цвета могут быть получены из трех основных цветов: красного, синего и зеленого. Кроме того, каждый цвет численно представлен с помощью триплета RGB (a,b,c), где все числа a,b,c находятся в диапазоне от 0 до 255. В соответствии с этим каждый пиксель имеет три значения в виде триплета RGB.

Теперь благодаря этому изображение может быть представлено в виде трех каналов. В каждом канале каждый пиксель будет иметь значение от 0 до 255, соответствующее этому цвету. Например, на рис. 1 показаны каналы RGB для изображения с указанием значений пикселей в каждом канале с помощью карты цветов. Таким образом, в целом для изображения размером 28x28 пикселей числовая форма будет иметь форму 28x28x3 с каждым значением от 0 до 255.

видео

Этот тип данных также довольно очевиден, поскольку он состоит из видео в разных форматах. Видео состоит из нескольких кадров/изображений. Количество кадров в секунду видео называется частотой кадров. Например, 1-секундное видео с частотой 30 кадров в секунду будет состоять из 30 кадров. Если предположить, что каждый кадр представляет собой изображение 28x28, то форма каждого кадра будет 28x28x3. Тогда общую форму видео можно получить, просто объединив данные всех кадров, которые получатся как 30x28x28x3, где 30 соответствует количеству кадров, размеру изображения 28x28, а 3 — количеству каналов (RGB).

Аудио / временной ряд

Этот тип данных имеет последовательность упорядоченных точек данных, каждая из которых имеет отметку времени. Данные уже являются числовыми и не нуждаются в преобразовании. Но числовая форма должна сохранять в неприкосновенности природу времени. Например, если считать температуру, зарегистрированную в городе за последний год, то будет 365 значений температуры, по одному на каждый день. Но у вас есть неотъемлемая независимая переменная, время, связанное с этими данными.

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

Текст

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

Например, предположим, что у нас есть три предложения, как показано ниже.

  1. Меня зовут Арун
  2. Его зовут Джим
  3. Моя работа связана с инженерией

Если вы хотите преобразовать эти предложения в соответствующую им числовую форму, мы сначала идентифицируем все присутствующие уникальные слова. В этих 3 предложениях у нас 9 слов (мое, имя, есть, Арун, его, Джим, работа, в, инженерия). Теперь числовая форма каждого предложения будет иметь размерность 9. В основном мы берем каждое предложение, присваиваем 1, если слово присутствует в предложении, и 0, если его нет. При этом наши предложения будут иметь числовую форму, как показано ниже.

Мой | имя | есть | Арун | Его | Джим | работа | в | проектирование

  1. 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
  2. 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
  3. 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |

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

Чтобы узнать больше о модели Bag of Words, обратитесь к этой блестяще написанной статье Jocelyn D'Souza.

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

Запланируйте сеанс DDIChat по науке о данных:



Подать заявку на участие в программе DDIChat Expert можно здесь.