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

  • Получение набора данных
  • Импорт библиотек
  • Импорт набора данных
  • Недостающие данные
  • Категориальные данные
  • Разделение данных на обучающий набор и тестовый набор
  • Масштабирование функций
  • Шаблон предварительной обработки данных
  1. Получение набора данных

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

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

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

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

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

  1. Numpy: эта библиотека содержит математические инструменты. Это используется, если мы хотим использовать в нашем коде какую-либо математику.
  2. MatplotLib: эта библиотека используется для построения диаграмм. Все, что вы хотите построить на Python, вы будете использовать из этой библиотеки.
  3. Pandas: эта библиотека используется для импорта наборов данных и управления ими.

Откройте свою IDE Spyder. Создайте новый файл с помощью меню Файл. Мы собираемся использовать этот файл в качестве шаблона для предварительной обработки данных для большинства ваших будущих проектов. Давайте импортируем библиотеки в Python, определенные выше.

импортировать numpy как np
импортировать matplotlib.pyplot как plt
импортировать pandas как pd

Здесь np, plt и pd - это ярлыки, представляющие библиотеки. Выделите все три строки и нажмите Ctrl / Cmd + Enter / Return, после чего в консоли вы увидите, что три строки работают правильно.

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

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

Сохраните файл, над которым вы сейчас работаете, в тот же каталог, где находится ваш CSV-файл. Затем нажмите зеленую кнопку воспроизведения, расположенную в верхнем левом углу экрана, или вы можете использовать для этого ярлык F5. Теперь мы будем использовать панду для импорта набора данных.

dataset = pd.read_csv («Data.csv»)

Выделите строку и выполните код. Как вы можете заметить на изображениях выше, набор данных был импортирован, а также перейдите в раздел Обозреватель переменных, и вы заметите, что ваш набор данных импортируется. Если вы дважды щелкните текст набора данных в проводнике переменных, вы увидите наш набор данных. Обратите внимание, что в Python индекс наблюдения начинается с 0. На вкладке зарплаты ваше значение может быть в форме научного уведомления, например 6.2e + 04. Перейдите в раздел форматирования, как показано на втором изображении, и измените его значение на % .0f. 0, чтобы не было десятичного числа после запятой, и f для представления числа с плавающей запятой.

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

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

В приведенной выше строке кода [:,: -1] слева от запятой «:» представлены все строки в наборе данных, а справа - все столбцы. Итак, мы взяли все строки и все столбцы набора данных, кроме последнего столбца, а .values ​​ означает, что мы берем все значения и сохраняем их в X. Теперь мы собираемся сделать то же самое. для зависимой переменной.

y = dataset.iloc [:, 3] .values

Здесь мы берем все строки, но только последний столбец. Поскольку индексирование python начинается с 0, последний столбец - это наш третий индекс, представляющий купленный продукт.

Выполните команду, и вы заметите независимую и зависимую переменную в разделе проводника переменных, также мы можем ввести значения X и y в консоли Python, чтобы увидеть результат, как указано выше.

4. Отсутствующие данные

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

Мы не собираемся вычислять среднее значение самостоятельно, скорее мы будем использовать библиотеку для выполнения этой работы за нас, и эта библиотека является sklearn.

из sklearn.impute import SimpleImputer
imputer = SimpleImputer (missing_values ​​= np.nan, strategy = 'mean')
imputer = imputer.fit (X [:, 1: 3])
X [:, 1: 3] = imputer.transform (X [:, 1: 3])

Итак, давайте пройдемся по каждой строчке,

В первой строке мы импортируем вменяемую библиотеку sklearn, которая имеет класс SimpleImputer, который будет обрабатывать проблему с отсутствующими данными за нас.

Во второй строке мы создаем объект этого класса. Чтобы узнать подробности о классе, выберите имя класса и нажмите Cmd / Ctrl + I. Это предоставит надлежащую документацию для класса и того, как его использовать, и какие параметры нам нужно использовать.

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

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

Третья строка предназначена для подгонки импортируемого объекта к данным X. Однако мы не собираемся подгонять полную матрицу под импутирующий объект. Нам нужны только 2-й и 3-й столбцы матрицы, содержащие недостающие данные. Здесь X [:, 1: 3] означает, что мы берем индексы 1 и 2, но помещаем 3, потому что исключена верхняя граница.

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

Теперь выберите все строки, запустите его и проверьте значение X.

Мы подошли к шагу 4, позаботившись об отсутствующих данных, я расскажу об оставшихся шагах в следующей части Предварительная обработка данных-II. Будьте на связи!!!