Почему важна предварительная обработка данных?

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

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

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

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

Предпосылки

У вас должен быть установлен R Studio или / и python, чтобы выполнять примеры кодирования в этом посте. Я лично использую Spyder для python. Итак, вот несколько ссылок на видео, по которым вы можете перейти, чтобы установить их (Windows 10):

[Набор данных и код, включенные в эти сообщения, доступны на GitHub]

Зависимые и независимые переменные

Прежде чем мы начнем с предварительной обработки данных, мы должны знать простую, но важную концепцию зависимых и независимых переменных. Рассмотрим набор данных, приведенный ниже:

Здесь мы можем наблюдать, что некоторые предметы покупаются на основании трех факторов; Страна, возраст, зарплата. Таким образом, мы можем сказать, что Страна, Возраст и Заработная плата являются независимыми переменными, в то время как Приобретенный товар является зависимой переменной (поскольку она зависит от вышеупомянутых независимых переменных).

Теперь, когда мы это рассмотрели, давайте перейдем к кодированию, не так ли?

Импорт библиотек

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

Прежде чем перейти к разделам предварительной обработки данных, давайте импортируем несколько полезных библиотек!

Python:

В python нам понадобятся в основном 3 библиотеки:

#Importing Libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
  • numpy - это библиотека, которая содержит все математические инструменты, которые нам понадобятся, и для удобства мы добавили сокращенное имя как «np».
  • Вторая библиотека - это matplotlib, и нам нужна только подбиблиотека pyplot, которую мы назвали «plt». Эта библиотека будет использоваться в основном для построения графиков.
  • Третья и последняя библиотека - это pandas, названная «pd», и мы используем эту библиотеку для импорта и управления наборами данных.

R :

На данный момент нам не нужно импортировать какие-либо библиотеки, поскольку большинство из них уже установлено в пакетах в R!

Настройка рабочего каталога

Python:

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

В правой части экрана вы найдете «Файловый менеджер», как показано на рисунке ниже:

Щелкните «Проводник» и выберите папку, в которой вы сохранили набор данных. Затем щелкните значок справа, как показано ниже, чтобы установить эту папку в качестве рабочего каталога.

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

R :

Откройте R studio и выберите папку в разделе «Файлы» в правой части экрана, как показано ниже:

Затем выберите «Еще» и выберите «Установить как рабочий каталог», как показано ниже, и все готово!

Импорт набора данных

Python:

#Importing the dataset
dataset = pd.read_csv(‘Data.csv’)

Здесь вы можете заметить, что файл Data.csv назначается переменной через библиотеку pandas. Теперь выберите все эти строки кода (включая код импортируемой библиотеки) и нажмите «ctrl + alt + ENTER» для выполнения. Затем вы можете проверить, правильно ли был запущен код, из консоли в правом нижнем углу. Теперь нажмите «Обозреватель переменных», а затем выберите «Набор данных». К настоящему времени вы должны иметь возможность просматривать свой набор данных следующим образом:

(Обратите внимание, что в python индекс начинается с 0, однако в R индекс начинается с 1)

Как видите, столбец зарплаты не очень удобен, так что давайте изменим это! Нажмите кнопку «Форматировать» в левом углу и измените форматирование с плавающей запятой с% .3g на% .0f. Затем вы можете увидеть, что значения изменены на более простую версию.

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

Как обсуждалось выше, мы уже знаем, что Страна, Возраст и Заработная плата независимы, поэтому давайте поместим эти значения в матрицу переменных «X», а столбец «Купленные товары» - в другой вектор переменных «Y». Вот как мы можем это сделать:

X = dataset.iloc[:, :-1].values
Y = dataset.iloc[:, 3].values

Для тех из вас, кто плохо знаком с этим синтаксисом Python, вот краткое объяснение этого кода: X - первое двоеточие представляет тот факт, что нам нужны все строки в нашем наборе данных и слева от запятой. мы ввели двоеточие, за которым следует минус один, что означает, что мы берем все столбцы, кроме последнего. .values ​​ подразумевает, что нам нужны все значения из набора данных.

Если вы разобрались с шаблоном, то увидите, что переменная Y занимает все строки и только 3-й столбец из набора данных.

После запуска этого кода вы всегда можете ввести X или / и Y в консоли, чтобы убедиться, что вы правильно извлекли столбцы, как показано ниже:

Теперь давайте посмотрим, как это делается в R!

R :

Код для этого довольно прост и не требует пояснений:

#Importing dataset
dataset = read.csv(‘Data.csv’)

Затем вы можете запустить этот код и просмотреть набор данных, щелкнув «набор данных» в правой части экрана, как показано ниже:

(Обратите внимание, что unline в Python, индекс начинается с 1)

ХОРОШИЕ НОВОСТИ! Вам не нужно помещать набор данных в матрицы, как мы это делали в python.

Чувствуешь себя разбитым ?? Я знал, что сделал это, когда только начинал. Так что сделайте перерыв и ознакомьтесь со следующей записью в блоге Предварительная обработка данных в Python и R (Часть 02), чтобы узнать больше о предварительной обработке данных!