Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für eine Hauptkomponentenanalyse in Python

Beispiel für eine Hauptkomponentenanalyse in Python

王林
王林Original
2023-06-10 08:19:53962Durchsuche

Beispiel zur Hauptkomponentenanalyse in Python

Die Hauptkomponentenanalyse (PCA) ist eine häufig verwendete Methode zur Reduzierung der Datendimensionalität. Sie kann die Dimensionalität hochdimensionaler Daten auf niedrige Dimensionen reduzieren und so viele Datenvariationsinformationen wie möglich beibehalten. Python bietet viele Bibliotheken und Tools zum Implementieren von PCA. In diesem Artikel wird anhand eines Beispiels vorgestellt, wie die sklearn-Bibliothek in Python zum Implementieren von PCA verwendet wird.

Zuerst müssen wir einen Datensatz vorbereiten. In diesem Artikel wird der Iris-Datensatz verwendet, der 150 Beispieldaten enthält. Jede Probe verfügt über 4 Merkmalswerte (die Länge und Breite des Kelchs, die Länge und Breite der Blütenblätter) und eine Beschriftung (die Art von). Irisblume). Unser Ziel ist es, die Dimensionalität dieser vier Merkmale zu reduzieren und die wichtigsten Hauptkomponenten zu finden.

Zuerst müssen wir die notwendigen Bibliotheken und Datensätze importieren.

from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

iris = load_iris()
X = iris.data
y = iris.target

Jetzt können wir ein PCA-Objekt erstellen und es anwenden.

pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

Das PCA-Objekt setzt hier n_components=2, was bedeutet, dass wir unsere verarbeiteten Daten nur auf einer zweidimensionalen Ebene anzeigen möchten. Wir wenden fit_transform auf die Originaldaten X an und erhalten den verarbeiteten Datensatz X_pca.

Jetzt können wir die Ergebnisse grafisch darstellen.

plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y)
plt.xlabel('Component 1')
plt.ylabel('Component 2')
plt.show()

In dieser Abbildung können wir die Verteilung des Iris-Datensatzes im reduzierten zweidimensionalen Raum sehen. Jeder Punkt stellt ein Muster einer Irisblume dar und die Farbe stellt die Art der Irisblume dar.

Jetzt wollen wir sehen, was die Hauptzutaten sein sollten.

print(pca.components_)

Dadurch werden zwei Vektoren namens „Komponente 1“ und „Komponente 2“ ausgegeben.

[[ 0,36158968 -0,08226889 0,85657211 0,35884393]
[-0,65653988 -0,72971237 0,1757674 0,07470647]]

Jedes Element stellt ein Merkmal dar ursprüngliches Datengewicht. Mit anderen Worten: Wir können uns Hauptkomponenten als Vektoren vorstellen, die zur linearen Kombination der ursprünglichen Merkmale verwendet werden. Jeder Vektor im Ergebnis ist ein Einheitsvektor.

Wir können auch das Ausmaß der Varianz in den Daten betrachten, die durch jede Komponente erklärt werden.

print(pca.explained_variance_ratio_)

Diese Ausgabe zeigt den Anteil der Varianz in den Daten, die durch jede Komponente erklärt wird.

[0,92461621 0,05301557]

Wir können sehen, dass diese beiden Komponenten insgesamt 94 % der Varianz in den Daten erklären. Dadurch können wir die Eigenschaften der Daten sehr genau erfassen.

Zu beachten ist, dass PCA alle Funktionen aus den Originaldaten entfernt. Wenn wir bestimmte Funktionen beibehalten müssen, müssen wir sie daher manuell entfernen, bevor wir PCA anwenden.

Dies ist ein Beispiel für die Implementierung von PCA mithilfe der sklearn-Bibliothek in Python. PCA kann auf alle Arten von Daten angewendet werden und hilft uns, die wichtigsten Komponenten aus hochdimensionalen Daten zu entdecken. Wenn Sie den Code in diesem Artikel verstehen, können Sie PCA auch auf Ihre eigenen Datensätze anwenden.

Das obige ist der detaillierte Inhalt vonBeispiel für eine Hauptkomponentenanalyse in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn