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

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

Есть несколько этапов предварительной обработки, давайте пройдемся,

• Сбор данных

• Категориальные значения

• Отсутствующие значения

• Выбор функций

• Разделение данных - обучение и тестирование

• Масштабирование функций

Сбор данных

В этой предварительной обработке мы будем использовать титанический набор данных.

Важные особенности / столбцы в наборе данных

• выживаемость - 0 = нет, 1 = да

• pclass [Класс билета] - 1 = 1-й, 2 = 2-й, 3 = 3-й

• Пол - мужской, женский

• Возраст - в годах

• sibsp - братьев и сестер / супругов на борту «Титаника»

• Parch - родителей / детей на борту «Титаника».

• Билет - номер билета.

• тариф - тариф пассажира

• cabin - Номер каюты

• Посадка - Порт посадки

Здесь выживаемость будет зависимой переменной, а в противном случае - независимой переменной.

Категориальные значения

Машина / компьютер не знает языка людей, верно? Итак, мы должны преобразовать это в понятный для машины способ, то есть в числовой формат.

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

Мужской → 0

Женский → 1

В приведенном выше коде вы можете видеть, что столбец пола был преобразован в число с использованием метода кодирования меток из модуля обучения sci-kit.

Недостающие значения

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

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

Чтобы заполнить недостающие значения, у нас есть три распространенных способа

Среднее

• Медиана

• Режим

Если какое-либо значение пропущено, мы возьмем среднее / медианное значение / режим этого столбца и заполним его.

Прежде всего, мы должны проверить, есть ли отсутствующие значения или нет.

В приведенном выше примере вы можете видеть, что отсутствуют значения для body, cabin, boat, home. dest, возраст, посадка и проезд.

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

Выбор функции

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

Прежде всего, мы собираемся использовать метод chi2 для выбора признаков, метод chi2 - это метод статистики. Он используется для поиска разницы между наблюдаемыми данными и ожидаемыми значениями данных и определяет, насколько точно фактические данные соответствуют ожидаемым данным. Формула Chi2 показана ниже.

есть и другие методы, такие как Дополнительный древовидный классификатор, P-значение. Но этот простой.

Разделение данных - обучение и тестирование

В этом разделе мы разделим набор данных на две категории: обучение и тестирование.

Коэффициент разделения может быть

тренировать 80%, тестировать 20%

тренировать 70%, тестировать 30%

Почему мы разделяем набор данных?

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

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

Модель обучения машинного обучения:

Модель машинного обучения = построение модели машинного обучения → набор данных для обучения

Тестирование модели машинного обучения:

Точность = модель ML → набор тестовых данных

Основываясь на точности, мы можем принять решение, нужно ли тренировать модель снова или оставить ее.

Масштабирование функций

В наборе данных в каждом столбце диапазон значений различается, он может быть в миллионах или миллиардах.

Таким образом, мы должны сжать это в пределах определенного диапазона от 0 до 1 или от -1 до 1.

Это применимо только для независимых переменных. Это повышает точность модели. Мы можем использовать это для алгоритмов, основанных на расстоянии.

Одним из методов масштабирования функций является стандартизация.

Шаги по стандартизации:

  • Центрируем данные
  • Разделить на стандартное отклонение
  • Затем измените масштаб значений признаков, чтобы они имели распределение со средним значением 0 и дисперсией, равной 1.

These are basics of Pre-processing if you are okay with these all topics then everything else will be easier.