Введение
В этом практическом занятии показано, как построить несколько случайно сгенерированных наборов данных для классификации с использованием библиотеки scikit-learn для Python. Все наборы данных визуализируются с использованием двух признаков, нанесенных по осям x и y. Цвет каждой точки представляет ее метку класса.
Советы по работе с ВМ
После запуска ВМ перейдите в левый верхний угол и переключитесь на вкладку Notebook, чтобы приступить к практике с использованием Jupyter Notebook.
Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импорт библиотек
Сначала нам нужно импортировать необходимые библиотеки. Будем использовать 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. Цвет каждой точки представляет ее метку класса.