Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Jämförelse av Modellprestanda Före och Efter PCA | Implementering av PCA i Python
Dimensionsreduktion med PCA

bookJämförelse av Modellprestanda Före och Efter PCA

PCA kan användas som ett förbehandlingssteg innan träning av maskininlärningsmodeller. I detta kapitel jämförs prestandan hos en LogisticRegression-klassificerare på den ursprungliga standardiserade datan och på data reducerad till två huvudkomponenter. Detta praktiska tillvägagångssätt belyser hur dimensionsreduktion kan påverka både effektivitet och prestanda hos dina modeller.

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

Koden ovan delar upp datan, tränar en logistisk regressionsmodell på både den ursprungliga och PCA-reducerade datan, samt jämför deras noggrannhet. Observera att en perfekt noggrannhet på 1,0 på den ursprungliga datan kan indikera överanpassning, där modellen passar träningsdatan för nära och kanske inte generaliserar väl. Att tillämpa PCA minskar dimensionaliteten, vilket kan hjälpa till att motverka överanpassning. Efter PCA sjunker noggrannheten något till 0,91, vilket visar en bättre balans mellan prestanda och generalisering, med ökad hastighet och tolkbarhet.

question mark

Vilket är ett sannolikt resultat av att använda PCA för att minska antalet variabler före träning av en klassificerare, som visas i exemplet ovan?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookJämförelse av Modellprestanda Före och Efter PCA

Svep för att visa menyn

PCA kan användas som ett förbehandlingssteg innan träning av maskininlärningsmodeller. I detta kapitel jämförs prestandan hos en LogisticRegression-klassificerare på den ursprungliga standardiserade datan och på data reducerad till två huvudkomponenter. Detta praktiska tillvägagångssätt belyser hur dimensionsreduktion kan påverka både effektivitet och prestanda hos dina modeller.

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

Koden ovan delar upp datan, tränar en logistisk regressionsmodell på både den ursprungliga och PCA-reducerade datan, samt jämför deras noggrannhet. Observera att en perfekt noggrannhet på 1,0 på den ursprungliga datan kan indikera överanpassning, där modellen passar träningsdatan för nära och kanske inte generaliserar väl. Att tillämpa PCA minskar dimensionaliteten, vilket kan hjälpa till att motverka överanpassning. Efter PCA sjunker noggrannheten något till 0,91, vilket visar en bättre balans mellan prestanda och generalisering, med ökad hastighet och tolkbarhet.

question mark

Vilket är ett sannolikt resultat av att använda PCA för att minska antalet variabler före träning av en klassificerare, som visas i exemplet ovan?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4
some-alt