Логистическая регрессия для классификации датасета Iris

Machine LearningMachine LearningBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

Советы по использованию ВМ

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

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Загрузка датасета и предобработка

Мы будем использовать библиотеку scikit-learn для загрузки датасета Iris. Датасет содержит 3 класса по 50 экземпляров каждый, где каждый класс относится к определенному типу ириса. Каждый экземпляр имеет 4 признака: длину и ширину чашелистика, длину и ширину лепестка.

import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn import datasets
from sklearn.inspection import DecisionBoundaryDisplay

## load the Iris dataset
iris = datasets.load_iris()
X = iris.data[:, :2]  ## we only take the first two features.
Y = iris.target

Создание экземпляра логистической регрессии и подгонка данных

Мы создадим экземпляр логистической регрессии и подгоним данные.

## Create an instance of Logistic Regression Classifier and fit the data.
logreg = LogisticRegression(C=1e5)
logreg.fit(X, Y)

Отображение границ решения на диаграмме рассеяния

Мы будем отображать границы решения на диаграмме рассеяния с использованием DecisionBoundaryDisplay из библиотеки scikit-learn.

_, ax = plt.subplots(figsize=(4, 3))
DecisionBoundaryDisplay.from_estimator(
    logreg,
    X,
    cmap=plt.cm.Paired,
    ax=ax,
    response_method="predict",
    plot_method="pcolormesh",
    shading="auto",
    xlabel="Sepal length",
    ylabel="Sepal width",
    eps=0.5,
)

## Plot also the training points
plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors="k", cmap=plt.cm.Paired)

plt.xticks(())
plt.yticks(())

plt.show()

Резюме

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