ML - Daten mit Visualisierung verstehen

Einführung

Im vorherigen Kapitel haben wir die Bedeutung von Daten für Algorithmen für maschinelles Lernen zusammen mit einigen Python-Rezepten erörtert, um die Daten mit Statistiken zu verstehen. Es gibt eine andere Möglichkeit namens Visualisierung, um die Daten zu verstehen.

Mithilfe der Datenvisualisierung können wir sehen, wie die Daten aussehen und welche Art von Korrelation die Datenattribute aufweisen. Dies ist der schnellste Weg, um festzustellen, ob die Funktionen der Ausgabe entsprechen. Mithilfe der folgenden Python-Rezepte können wir ML-Daten mit Statistiken verstehen.

Univariate Diagramme: Attribute unabhängig verstehen

Die einfachste Art der Visualisierung ist die Einzelvariablen- oder „univariate“ Visualisierung. Mithilfe der univariaten Visualisierung können wir jedes Attribut unseres Datensatzes unabhängig verstehen. Im Folgenden sind einige Techniken in Python aufgeführt, um eine univariate Visualisierung zu implementieren:

Histogramme

Histogramme gruppieren die Daten in Bins und sind der schnellste Weg, um sich ein Bild über die Verteilung der einzelnen Attribute im Datensatz zu machen. Im Folgenden sind einige der Merkmale von Histogrammen aufgeführt:

  • Es gibt uns eine Zählung der Anzahl von Beobachtungen in jedem zur Visualisierung erstellten Bin.

  • Anhand der Form des Behälters können wir leicht die Verteilung beobachten, dh das Wetter ist Gaußsch, schief oder exponentiell.

  • Histogramme helfen uns auch, mögliche Ausreißer zu erkennen.

Beispiel

Der unten gezeigte Code ist ein Beispiel für ein Python-Skript, das das Histogramm der Attribute des Pima Indian Diabetes-Datensatzes erstellt. Hier verwenden wir die Funktion hist () für Pandas DataFrame, um Histogramme und zu generierenmatplotlib für sie zu plotten.

from matplotlib import pyplot
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
data.hist()
pyplot.show()

Ausgabe

Die obige Ausgabe zeigt, dass das Histogramm für jedes Attribut im Dataset erstellt wurde. Daraus können wir beobachten, dass Alter, Pedi und Testattribut möglicherweise eine exponentielle Verteilung haben, während Masse und Plas eine Gaußsche Verteilung haben.

Dichtediagramme

Eine weitere schnelle und einfache Methode zum Abrufen der Verteilung der einzelnen Attribute sind Dichtediagramme. Es ist auch wie ein Histogramm, hat jedoch eine glatte Kurve, die durch die Oberseite jedes Fachs gezogen wird. Wir können sie als abstrahierte Histogramme bezeichnen.

Beispiel

Im folgenden Beispiel generiert das Python-Skript Dichtediagramme für die Verteilung der Attribute des Pima Indian Diabetes-Datensatzes.

from matplotlib import pyplot
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
data.plot(kind='density', subplots=True, layout=(3,3), sharex=False)
pyplot.show()

Ausgabe

Aus der obigen Ausgabe kann der Unterschied zwischen Dichtediagrammen und Histogrammen leicht verstanden werden.

Box- und Whisker-Plots

Box- und Whisker-Diagramme, kurz Boxplots genannt, sind eine weitere nützliche Technik, um die Verteilung der Verteilung der einzelnen Attribute zu überprüfen. Das Folgende sind die Eigenschaften dieser Technik -

  • Es ist univariater Natur und fasst die Verteilung jedes Attributs zusammen.

  • Es wird eine Linie für den Mittelwert gezogen, dh für den Median.

  • Es zeichnet eine Box um die 25% und 75%.

  • Es werden auch Whisker gezeichnet, die uns eine Vorstellung von der Verbreitung der Daten geben.

  • Die Punkte außerhalb der Whisker kennzeichnen die Ausreißerwerte. Ausreißerwerte wären 1,5-mal größer als die Größe der Streuung der mittleren Daten.

Beispiel

Im folgenden Beispiel generiert das Python-Skript Dichtediagramme für die Verteilung der Attribute des Pima Indian Diabetes-Datensatzes.

from matplotlib import pyplot
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
data.plot(kind='box', subplots=True, layout=(3,3), sharex=False,sharey=False)
pyplot.show()

Ausgabe

Aus dem obigen Diagramm der Attributverteilung ist ersichtlich, dass Alter, Test und Haut in Richtung kleinerer Werte verzerrt erscheinen.

Multivariate Diagramme: Interaktion zwischen mehreren Variablen

Eine andere Art der Visualisierung ist die multivariable oder „multivariate“ Visualisierung. Mithilfe der multivariaten Visualisierung können wir die Interaktion zwischen mehreren Attributen unseres Datensatzes verstehen. Im Folgenden finden Sie einige Techniken in Python zur Implementierung einer multivariaten Visualisierung:

Korrelationsmatrix-Diagramm

Die Korrelation ist ein Hinweis auf die Änderungen zwischen zwei Variablen. In unseren vorherigen Kapiteln haben wir die Pearson-Korrelationskoeffizienten und die Bedeutung der Korrelation ebenfalls erörtert. Wir können eine Korrelationsmatrix zeichnen, um zu zeigen, welche Variable eine hohe oder niedrige Korrelation in Bezug auf eine andere Variable aufweist.

Beispiel

Im folgenden Beispiel generiert und zeichnet das Python-Skript eine Korrelationsmatrix für den Pima Indian Diabetes-Datensatz. Es kann mit Hilfe der Funktion corr () in Pandas DataFrame generiert und mit Hilfe von pyplot geplottet werden.

from matplotlib import pyplot
from pandas import read_csv
import numpy
Path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(Path, names=names)
correlations = data.corr()
fig = pyplot.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(correlations, vmin=-1, vmax=1)
fig.colorbar(cax)
ticks = numpy.arange(0,9,1)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(names)
ax.set_yticklabels(names)
pyplot.show()

Ausgabe

Aus der obigen Ausgabe der Korrelationsmatrix können wir erkennen, dass sie symmetrisch ist, dh, dass unten links die gleiche wie oben rechts ist. Es wird auch beobachtet, dass jede Variable positiv miteinander korreliert ist.

Streumatrix-Diagramm

Streudiagramme zeigen mit Hilfe von Punkten in zwei Dimensionen, wie stark eine Variable von einer anderen beeinflusst wird oder welche Beziehung zwischen ihnen besteht. Streudiagramme ähneln Liniendiagrammen in dem Konzept, dass sie horizontale und vertikale Achsen zum Zeichnen von Datenpunkten verwenden.

Beispiel

Im folgenden Beispiel generiert und zeichnet das Python-Skript eine Streumatrix für den Pima Indian Diabetes-Datensatz. Es kann mit Hilfe der Funktion dispers_matrix () auf Pandas DataFrame generiert und mit Hilfe von pyplot geplottet werden.

from matplotlib import pyplot
from pandas import read_csv
from pandas.tools.plotting import scatter_matrix
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
scatter_matrix(data)
pyplot.show()

Ausgabe