G
enby!

Подготовка (pre-processing) данных

Запишетесь на полный курс Машинного обучения на Python по адресу support@ittensive.com После сбора всех данных и выявления всех ограничений и взаимосвязей финальный набор данных нужно подготовить к обработке моделью машинного обучения. Нормирование и стандартизация Большинство моделей лучше работают с значениями параметров, если они находятся в одном диапазоне - например, от 0 до 1. Поэтому сильно разнородные значения параметров принято приводить к одному диапазону: это повышает точность работы модели (почему так происходит, разберем в следующих уроках). Для приведения значений независимых параметров к одному диапазону есть несколько вариантов. Первый - вычесть минимальное значение параметра из всех его значений и разделить на разницу между максимальным и минимальным. Тогда все значения этого параметра будут строго от 0 до 1 (за счет множителей можно добиться и значений от -3 до 3). Константы такого преобразования будут различаться от параметра к параметру. Второй вариант - стандартизация (z-нормализация), приведение значений к нормальному распределению. Для этого из всех значений вычитают среднее и делят на корень из дисперсии. Значения параметра будут находиться примерно от -3 до 3. Этот вариант предпочтительнее, если значения параметра распределены нормально. Категории и единичные векторы Нормирование данных отлично работает для числовых (номинативных) и даже ранговых параметров. Но для категориальных признаков (например, пол респондента) не работает. Для корректной работы с категориальными данными их преобразуют в единичные векторы. Например, записи id Пол 1 Мужской 2 Мужской 3 Женский 4 Женский Становятся id Пол_Мужской Пол_Женский 1 1 0 2 1 0 3 0 1 4 0 1 И затем эти значения можно преобразовать обычным образом. Циклические значения В ряде случаев вводят дополнительные параметры, синус и косинус от значения параметра, если параметр предполагает цикличность. Например, это может быть направление ветра (в градусах после 360 идет 0), день (от 1 до 365), неделя (от 1 до 53) и месяц (от 1 до 12) года - все эти значения идут по кругу. Тригонометрические значения будут находиться в диапазоне от -1 до 1, поэтому дополнительно их можно разделить на 2 и прибавить 0,5, чтобы получить нормированные значения.

Смотрите также