Jä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.
123456789101112131415161718192021222324from 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}")
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.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Jä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.
123456789101112131415161718192021222324from 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}")
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.
Tack för dina kommentarer!