Рубрики
Без рубрики

Создайте свою первую модель машинного обучения за 5 минут с Google Colab

Машинное обучение – очень горячая тема в наши дни. Компании из разных секторов и размеров, от STA … с меткой машинного обучения, Data Science, Python.

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

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

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

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

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

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

Google Colab

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

Чтобы создать ноутбуки Python с Google Colab, все, что вам нужно, это учетная запись Google и нажать на ссылку https://colab.research.google.com .

Для быстрого введения в среду Google Colab посмотрите видео Начните с Google Colaboratory :

Классификация Iris примеры

В этом уроке мы собираемся построить модель машинного обучения, чтобы определить, к каким видам принадлежит цветок радужной оболочки. Набор данных IRIS Содержит табличные данные о характеристиках цветочных образцов, таких как ширина лепестка и длину, которые используются в качестве входных данных для модели. Выход будет целым числом, указывающим на одну из 3 возможностей видов: радужная оболочка, Iris ervicolour или Iris virginica. Следующие разделы будут описывать конструкцию модели, шаг за шагом.

0. Настраивать

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

import numpy as np
import pandas as pd

from matplotlib import pyplot as plt

import seaborn as sns

from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import confusion_matrix

from joblib import dump, load

1. Загрузите данные

Первый шаг – загрузить необходимые данные. Используйте команду read_csv () из библиотеки Pandas, чтобы загрузить набор данных Iris. После загрузки данных в DataFrame покажите верхнюю часть набора данных. URL -адрес файла набора данных https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data .

cols = ['sepal_length', ' sepal_width', 'petal_length', 'petal_width', 'class']
df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', names=cols)
df.head()

2. Изучите и визуализируйте данные

После загрузки набора данных в DataFrame в памяти следующим шагом является проведение исследовательского анализа данных. Цель EDA – выяснить как можно больше информации о наборе данных. Метод descript () является хорошей отправной точкой. Метод descript () печатает статистику набора данных, например, среднее, стандартное отклонение и т. Д.

df.describe()

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

sns.pairplot(df, hue='class');

Совместные распределения атрибутов наборов данных Iris

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

sns.heatmap(df.corr(), annot=True)

Матрица корреляции, представленная в качестве тепловой карты

3. Предварительно обрабатывать данные

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

df['class_encod'] = df['class'].apply(lambda x: 0 if x == 'Iris-setosa' else 1 if x == 'Iris-versicolor' else 2)
df['class_encod'].unique()

4. Выберите алгоритм и тренируйте модель

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

y = df[['class_encod']] # target attributes 
X = df.iloc[:, 0:4] # input attributes
X.head()

Если на предыдущем этапе мы разделили DataFrame, разделяя столбцы, на этом этапе мы разделили данные по строкам. Метод Train_test_split () разделяет диафрамы X и Y в учебных данных и тестовых данных.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,
                                                    random_state=0, stratify=y)

np.shape(y_train)

Затем мы используем наборы данных x_train и y_train для создания классификатора KNN, используя класс KneighborsClassifier, предоставленный Scikit-Learn. Поскольку алгоритм машинного обучения уже реализовано библиотекой, все, что нам нужно сделать, это назвать метод FIT () Пропустив наборы данных X_TRAIN и Y_TRAIN в качестве аргументов.

m = KNeighborsClassifier()
m.fit(X_train, np.ravel(y_train))

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

m.predict(X_test.iloc[0:10])

Мы можем использовать такие методы, как Scord () и confisc_matrix (), чтобы измерить производительность нашей модели. Мы видим, что точность нашей модели составляет 1,0 (100%), что означает, что модель правильно предсказала все случаи тестового набора данных.

m.score(X_test, y_test)
confusion_matrix(y_test, m.predict(X_test))

5. Сохраните модель для последующего использования

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

dump(m, 'iris-classifier.dmp')

ic = load('iris-classifier.dmp')
confusion_matrix(y_test, ic.predict(X_test))

Вывод

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

Итак, нажмите на ссылку ниже, чтобы открыть готовый к использованию шаблон в Google Colab и создать свою первую модель машинного обучения прямо сейчас:

Первый шаблон модели машинного обучения

Кроме того, вы можете найти версию этого учебника по следующей ссылке:

Учебное пособие по классификации Iris

Оригинал: “https://dev.to/rodolfomendes/create-your-first-machine-learning-model-in-5-minutes-with-google-colab-4o6h”