Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Modelprestaties Vergelijken Vóór en Na PCA | PCA Implementeren in Python
Quizzes & Challenges
Quizzes
Challenges
/
Dimensionaliteitsreductie met PCA

bookModelprestaties Vergelijken Vóór en Na PCA

PCA kan worden gebruikt als een pre-processing stap vóór het trainen van machine learning-modellen. In dit hoofdstuk wordt de prestatie van een LogisticRegression-classifier vergeleken op de originele gestandaardiseerde data en op data die is teruggebracht tot twee hoofdcomponenten. Deze praktische benadering laat zien hoe dimensionaliteitsreductie zowel de effectiviteit als de efficiëntie van modellen kan beïnvloeden.

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

De bovenstaande code splitst de data, traint een logistische regressie-model op zowel de originele als de PCA-gereduceerde data, en vergelijkt hun nauwkeurigheid. Merk op dat een perfecte nauwkeurigheid van 1.0 op de originele data kan wijzen op overfitting, waarbij het model te nauw aansluit op de trainingsdata en mogelijk niet goed generaliseert. Het toepassen van PCA vermindert de dimensionaliteit, wat kan helpen om overfitting te beperken. Na PCA daalt de nauwkeurigheid licht naar 0.91, wat een betere balans laat zien tussen prestaties en generalisatie, met verhoogde snelheid en interpretatie.

question mark

Wat is een waarschijnlijke uitkomst van het toepassen van PCA om kenmerken te reduceren vóór het trainen van een classifier, zoals hierboven te zien is?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

bookModelprestaties Vergelijken Vóór en Na PCA

Veeg om het menu te tonen

PCA kan worden gebruikt als een pre-processing stap vóór het trainen van machine learning-modellen. In dit hoofdstuk wordt de prestatie van een LogisticRegression-classifier vergeleken op de originele gestandaardiseerde data en op data die is teruggebracht tot twee hoofdcomponenten. Deze praktische benadering laat zien hoe dimensionaliteitsreductie zowel de effectiviteit als de efficiëntie van modellen kan beïnvloeden.

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

De bovenstaande code splitst de data, traint een logistische regressie-model op zowel de originele als de PCA-gereduceerde data, en vergelijkt hun nauwkeurigheid. Merk op dat een perfecte nauwkeurigheid van 1.0 op de originele data kan wijzen op overfitting, waarbij het model te nauw aansluit op de trainingsdata en mogelijk niet goed generaliseert. Het toepassen van PCA vermindert de dimensionaliteit, wat kan helpen om overfitting te beperken. Na PCA daalt de nauwkeurigheid licht naar 0.91, wat een betere balans laat zien tussen prestaties en generalisatie, met verhoogde snelheid en interpretatie.

question mark

Wat is een waarschijnlijke uitkomst van het toepassen van PCA om kenmerken te reduceren vóór het trainen van een classifier, zoals hierboven te zien is?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4
some-alt