Einführung
In diesem Lab wird gezeigt, wie man mehrere zufällig generierte Klassifizierungsdatenmengen mit der scikit-learn-Bibliothek in Python darstellt. Es visualisiert alle Datensätze mit zwei Merkmalen, die auf der x- und y-Achse geplottet werden. Die Farbe jedes Punktes repräsentiert seine Klassenbezeichnung.
Tipps für die VM
Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.
Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Bibliotheken importieren
Wir müssen zunächst die erforderlichen Bibliotheken importieren. Wir werden matplotlib und scikit-learn verwenden.
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.datasets import make_blobs
from sklearn.datasets import make_gaussian_quantiles
Figurgröße festlegen und Subplots anpassen
Wir legen die Figurgröße fest und passen die Subplots an, um sie lesbarer zu machen.
plt.figure(figsize=(8, 8))
plt.subplots_adjust(bottom=0.05, top=0.9, left=0.05, right=0.95)
Ein informatives Merkmal, ein Cluster pro Klasse
Wir erstellen einen Datensatz mit einem informativen Merkmal und einem Cluster pro Klasse und plotten ihn.
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")
Zwei informative Merkmale, ein Cluster pro Klasse
Wir erstellen einen Datensatz mit zwei informativen Merkmalen und einem Cluster pro Klasse und plotten ihn.
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")
Zwei informative Merkmale, zwei Cluster pro Klasse
Wir erstellen einen Datensatz mit zwei informativen Merkmalen und zwei Clustern pro Klasse und plotten ihn.
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")
Mehrfachklassig, zwei informative Merkmale, ein Cluster
Wir erstellen einen Datensatz mit mehreren Klassen, zwei informativen Merkmalen und einem Cluster und plotten ihn.
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")
Drei Blobs
Wir erstellen einen Datensatz mit drei Blobs und plotten ihn.
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")
Gaußverteilung in drei Quantile unterteilt
Wir erstellen einen Datensatz mit einer Gaußverteilung, die in drei Quantile unterteilt ist, und plotten ihn.
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")
Zeige den Plot an
Wir zeigen den endgültigen Plot an.
plt.show()
Zusammenfassung
In diesem Lab wurde gezeigt, wie man mehrere zufällig generierte Klassifikationsdatensätze mit der scikit - learn - Bibliothek in Python darstellt. Alle Datensätze werden mit zwei Merkmalen visualisiert, die auf der x - und y - Achse geplottet werden. Die Farbe jedes Punktes repräsentiert seine Klassenbezeichnung.