Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Vergleich der Modellleistung vor und nach PCA | Implementierung von PCA in Python
Dimensionsreduktion mit PCA

bookVergleich der Modellleistung vor und nach PCA

PCA kann als Vorverarbeitungsschritt vor dem Training von Machine-Learning-Modellen verwendet werden. In diesem Kapitel wird die Leistung eines LogisticRegression-Klassifikators auf den original standardisierten Daten mit der auf Daten verglichen, die auf zwei Hauptkomponenten reduziert wurden. Dieser praxisorientierte Ansatz verdeutlicht, wie sich die Dimensionsreduktion sowohl auf die Effektivität als auch auf die Effizienz von Modellen auswirken kann.

123456789101112131415161718192021222324
from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # Split data into train and test sets X_train, X_test, y_train, y_test = train_test_split(X_scaled, data.target, test_size=0.3, random_state=42) # Train on original data clf_orig = LogisticRegression(max_iter=200) clf_orig.fit(X_train, y_train) y_pred_orig = clf_orig.predict(X_test) acc_orig = accuracy_score(y_test, y_pred_orig) # Train on PCA-reduced data (2 components) pca = PCA(n_components=2) X_train_pca = pca.fit_transform(X_train) X_test_pca = pca.transform(X_test) clf_pca = LogisticRegression(max_iter=200) clf_pca.fit(X_train_pca, y_train) y_pred_pca = clf_pca.predict(X_test_pca) acc_pca = accuracy_score(y_test, y_pred_pca) print(f"Accuracy on original data: {acc_orig:.2f}") print(f"Accuracy after PCA (2 components): {acc_pca:.2f}")
copy

Der obige Code teilt die Daten auf, trainiert ein Logistic Regression-Modell sowohl auf den originalen als auch auf den PCA-reduzierten Daten und vergleicht deren Genauigkeiten. Eine perfekte Genauigkeit von 1,0 auf den Originaldaten kann auf Overfitting hindeuten, wobei das Modell die Trainingsdaten zu genau abbildet und möglicherweise nicht gut generalisiert. Die Anwendung von PCA reduziert die Dimensionalität, was helfen kann, Overfitting zu verringern. Nach der Anwendung von PCA sinkt die Genauigkeit leicht auf 0,91, was ein besseres Gleichgewicht zwischen Leistung und Generalisierbarkeit sowie eine höhere Geschwindigkeit und Interpretierbarkeit zeigt.

question mark

Was ist ein wahrscheinliches Ergebnis der Anwendung von PCA zur Reduktion von Merkmalen vor dem Training eines Klassifikators, wie im obigen Beispiel gezeigt?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain why the accuracy drops after applying PCA?

What are the benefits of using PCA before training a model?

How do I choose the number of principal components for PCA?

Awesome!

Completion rate improved to 8.33

bookVergleich der Modellleistung vor und nach PCA

Swipe um das Menü anzuzeigen

PCA kann als Vorverarbeitungsschritt vor dem Training von Machine-Learning-Modellen verwendet werden. In diesem Kapitel wird die Leistung eines LogisticRegression-Klassifikators auf den original standardisierten Daten mit der auf Daten verglichen, die auf zwei Hauptkomponenten reduziert wurden. Dieser praxisorientierte Ansatz verdeutlicht, wie sich die Dimensionsreduktion sowohl auf die Effektivität als auch auf die Effizienz von Modellen auswirken kann.

123456789101112131415161718192021222324
from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # Split data into train and test sets X_train, X_test, y_train, y_test = train_test_split(X_scaled, data.target, test_size=0.3, random_state=42) # Train on original data clf_orig = LogisticRegression(max_iter=200) clf_orig.fit(X_train, y_train) y_pred_orig = clf_orig.predict(X_test) acc_orig = accuracy_score(y_test, y_pred_orig) # Train on PCA-reduced data (2 components) pca = PCA(n_components=2) X_train_pca = pca.fit_transform(X_train) X_test_pca = pca.transform(X_test) clf_pca = LogisticRegression(max_iter=200) clf_pca.fit(X_train_pca, y_train) y_pred_pca = clf_pca.predict(X_test_pca) acc_pca = accuracy_score(y_test, y_pred_pca) print(f"Accuracy on original data: {acc_orig:.2f}") print(f"Accuracy after PCA (2 components): {acc_pca:.2f}")
copy

Der obige Code teilt die Daten auf, trainiert ein Logistic Regression-Modell sowohl auf den originalen als auch auf den PCA-reduzierten Daten und vergleicht deren Genauigkeiten. Eine perfekte Genauigkeit von 1,0 auf den Originaldaten kann auf Overfitting hindeuten, wobei das Modell die Trainingsdaten zu genau abbildet und möglicherweise nicht gut generalisiert. Die Anwendung von PCA reduziert die Dimensionalität, was helfen kann, Overfitting zu verringern. Nach der Anwendung von PCA sinkt die Genauigkeit leicht auf 0,91, was ein besseres Gleichgewicht zwischen Leistung und Generalisierbarkeit sowie eine höhere Geschwindigkeit und Interpretierbarkeit zeigt.

question mark

Was ist ein wahrscheinliches Ergebnis der Anwendung von PCA zur Reduktion von Merkmalen vor dem Training eines Klassifikators, wie im obigen Beispiel gezeigt?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
some-alt