Построение случайных наборов данных для классификации

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

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

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

Введение

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

Советы по работе с ВМ

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/datasets -.-> lab-49252{{"Построение случайных наборов данных для классификации"}} ml/sklearn -.-> lab-49252{{"Построение случайных наборов данных для классификации"}} end

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

Сначала нам нужно импортировать необходимые библиотеки. Будем использовать matplotlib и scikit-learn.

import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.datasets import make_blobs
from sklearn.datasets import make_gaussian_quantiles

Задаем размер рисунка и настраиваем подграфики

Мы задаем размер рисунка и настраиваем подграфики, чтобы они были более читаемыми.

plt.figure(figsize=(8, 8))
plt.subplots_adjust(bottom=0.05, top=0.9, left=0.05, right=0.95)

Один информативный признак, один кластер на класс

Мы создаем набор данных с одним информативным признаком и одним кластером на класс, и строим его график.

plt.subplot(321)
plt.title("One informative feature, one cluster per class", fontsize="small")
X1, Y1 = make_classification(n_features=2, n_redundant=0, n_informative=1, n_clusters_per_class=1)
plt.scatter(X1[:, 0], X1[:, 1], marker="o", c=Y1, s=25, edgecolor="k")

Два информативных признака, один кластер на класс

Мы создаем набор данных с двумя информативными признаками и одним кластером на класс, и строим его график.

plt.subplot(322)
plt.title("Two informative features, one cluster per class", fontsize="small")
X1, Y1 = make_classification(n_features=2, n_redundant=0, n_informative=2, n_clusters_per_class=1)
plt.scatter(X1[:, 0], X1[:, 1], marker="o", c=Y1, s=25, edgecolor="k")

Два информативных признака, два кластера на класс

Мы создаем набор данных с двумя информативными признаками и двумя кластерами на класс, и строим его график.

plt.subplot(323)
plt.title("Two informative features, two clusters per class", fontsize="small")
X2, Y2 = make_classification(n_features=2, n_redundant=0, n_informative=2)
plt.scatter(X2[:, 0], X2[:, 1], marker="o", c=Y2, s=25, edgecolor="k")

Множественный класс, два информативных признака, один кластер

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

plt.subplot(324)
plt.title("Multi-class, two informative features, one cluster", fontsize="small")
X1, Y1 = make_classification(n_features=2, n_redundant=0, n_informative=2, n_clusters_per_class=1, n_classes=3)
plt.scatter(X1[:, 0], X1[:, 1], marker="o", c=Y1, s=25, edgecolor="k")

Три "кучи" (blob)

Мы создаем набор данных с тремя "кучами" (blob), и строим его график.

plt.subplot(325)
plt.title("Three blobs", fontsize="small")
X1, Y1 = make_blobs(n_features=2, centers=3)
plt.scatter(X1[:, 0], X1[:, 1], marker="o", c=Y1, s=25, edgecolor="k")

Гауссовский (Gaussian) разделенный на три квантиля

Мы создаем набор данных с Гауссовским распределением, разделенным на три квантиля, и строим его график.

plt.subplot(326)
plt.title("Gaussian divided into three quantiles", fontsize="small")
X1, Y1 = make_gaussian_quantiles(n_features=2, n_classes=3)
plt.scatter(X1[:, 0], X1[:, 1], marker="o", c=Y1, s=25, edgecolor="k")

Показать график

Мы показываем окончательный график.

plt.show()

Резюме

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