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