Entdecken der Iris-Datensatzstruktur durch Faktorenanalyse

Machine LearningMachine LearningBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Die Faktorenanalyse ist eine statistische Methode, die verwendet wird, um Muster in Daten zu entdecken. Sie wird häufig verwendet, um latente Variablen zu identifizieren, die die Korrelationen zwischen beobachteten Variablen erklären. In diesem Lab verwenden wir den Iris-Datensatz, um zu veranschaulichen, wie die Faktorenanalyse verwendet werden kann, um die zugrunde liegende Struktur der Daten zu enthüllen.

VM-Tipps

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 öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie während des Lernens Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/DataPreprocessingandFeatureEngineeringGroup(["Data Preprocessing and Feature Engineering"]) sklearn(("Sklearn")) -.-> sklearn/AdvancedDataAnalysisandDimensionalityReductionGroup(["Advanced Data Analysis and Dimensionality Reduction"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/DataPreprocessingandFeatureEngineeringGroup -.-> sklearn/preprocessing("Preprocessing and Normalization") sklearn/AdvancedDataAnalysisandDimensionalityReductionGroup -.-> sklearn/decomposition("Matrix Decomposition") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/preprocessing -.-> lab-49327{{"Entdecken der Iris-Datensatzstruktur durch Faktorenanalyse"}} sklearn/decomposition -.-> lab-49327{{"Entdecken der Iris-Datensatzstruktur durch Faktorenanalyse"}} sklearn/datasets -.-> lab-49327{{"Entdecken der Iris-Datensatzstruktur durch Faktorenanalyse"}} ml/sklearn -.-> lab-49327{{"Entdecken der Iris-Datensatzstruktur durch Faktorenanalyse"}} end

Laden des Iris-Datensatzes und Plotten der Kovarianz der Merkmale

Wir beginnen, indem wir den Iris-Datensatz laden und die Kovarianz der Merkmale plotten, um zu sehen, wie sie korreliert sind.

import matplotlib.pyplot as plt
import numpy as np

from sklearn.decomposition import FactorAnalysis, PCA
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import load_iris

## Laden Sie die Iris-Daten
data = load_iris()
X = StandardScaler().fit_transform(data["data"])
feature_names = data["feature_names"]

## Plotten der Kovarianz der Iris-Merkmale
ax = plt.axes()

im = ax.imshow(np.corrcoef(X.T), cmap="RdBu_r", vmin=-1, vmax=1)

ax.set_xticks([0, 1, 2, 3])
ax.set_xticklabels(list(feature_names), rotation=90)
ax.set_yticks([0, 1, 2, 3])
ax.set_yticklabels(list(feature_names))

plt.colorbar(im).ax.set_ylabel("$r$", rotation=0)
ax.set_title("Iris Merkmalskorrelationsmatrix")
plt.tight_layout()

Führe die Faktorenanalyse mit Varimax-Drehung durch

Wir führen jetzt die Faktorenanalyse auf dem Iris-Datensatz mit Varimax-Drehung durch, um die zugrunde liegende Struktur der Daten zu enthüllen. Wir werden die Ergebnisse mit der PCA und der nicht gedrehten Faktorenanalyse vergleichen.

## Führe die Faktorenanalyse mit Varimax-Drehung durch
n_comps = 2

methods = [
    ("PCA", PCA()),
    ("Nicht gedrehte FA", FactorAnalysis()),
    ("Varimax FA", FactorAnalysis(rotation="varimax")),
]
fig, axes = plt.subplots(ncols=len(methods), figsize=(10, 8), sharey=True)

for ax, (method, fa) in zip(axes, methods):
    fa.set_params(n_components=n_comps)
    fa.fit(X)

    components = fa.components_.T
    print("\n\n %s :\n" % method)
    print(components)

    vmax = np.abs(components).max()
    ax.imshow(components, cmap="RdBu_r", vmax=vmax, vmin=-vmax)
    ax.set_yticks(np.arange(len(feature_names)))
    ax.set_yticklabels(feature_names)
    ax.set_title(str(method))
    ax.set_xticks([0, 1])
    ax.set_xticklabels(["Komponente 1", "Komponente 2"])
fig.suptitle("Faktoren")
plt.tight_layout()
plt.show()

Analysiere die Ergebnisse

Wir werden jetzt die Ergebnisse der Faktorenanalyse analysieren, um zu sehen, wie die zugrunde liegende Struktur des Iris-Datensatzes aufgedeckt wird.

Deute die Ergebnisse

Wir werden jetzt die Ergebnisse der Faktorenanalyse interpretieren, um Einblicke in die zugrunde liegende Struktur des Iris-Datensatzes zu erhalten.

Zusammenfassung

In diesem Lab haben wir die Faktorenanalyse mit Varimax-Drehung verwendet, um die zugrunde liegende Struktur des Iris-Datensatzes zu enthüllen. Wir haben die Ergebnisse mit der PCA und der nicht gedrehten Faktorenanalyse verglichen und die Ergebnisse analysiert, um Einblicke in die zugrunde liegende Struktur der Daten zu erhalten.