Sammenligning af Modelpræstation Før og Efter PCA
PCA kan anvendes som et forbehandlingsskridt før træning af maskinlæringsmodeller. I dette kapitel sammenlignes ydeevnen for en LogisticRegression-klassifikator på de oprindelige standardiserede data og på data reduceret til to hovedkomponenter. Denne praktiske tilgang fremhæver, hvordan dimensionsreduktion kan påvirke både effektiviteten og effektiviteten af dine 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 ovenfor opdeler dataene, træner en logistisk regression-model på både de oprindelige og PCA-reducerede data og sammenligner deres nøjagtigheder. Bemærk, at en perfekt nøjagtighed på 1,0 på de oprindelige data kan indikere overfitting, hvor modellen tilpasser sig træningsdataene for tæt og muligvis ikke generaliserer godt. Anvendelse af PCA reducerer dimensionaliteten, hvilket kan hjælpe med at afbøde overfitting. Efter PCA falder nøjagtigheden en smule til 0,91, hvilket viser en bedre balance mellem ydeevne og generalisering, med øget hastighed og fortolkelighed.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 8.33
Sammenligning af Modelpræstation Før og Efter PCA
Stryg for at vise menuen
PCA kan anvendes som et forbehandlingsskridt før træning af maskinlæringsmodeller. I dette kapitel sammenlignes ydeevnen for en LogisticRegression-klassifikator på de oprindelige standardiserede data og på data reduceret til to hovedkomponenter. Denne praktiske tilgang fremhæver, hvordan dimensionsreduktion kan påvirke både effektiviteten og effektiviteten af dine 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 ovenfor opdeler dataene, træner en logistisk regression-model på både de oprindelige og PCA-reducerede data og sammenligner deres nøjagtigheder. Bemærk, at en perfekt nøjagtighed på 1,0 på de oprindelige data kan indikere overfitting, hvor modellen tilpasser sig træningsdataene for tæt og muligvis ikke generaliserer godt. Anvendelse af PCA reducerer dimensionaliteten, hvilket kan hjælpe med at afbøde overfitting. Efter PCA falder nøjagtigheden en smule til 0,91, hvilket viser en bedre balance mellem ydeevne og generalisering, med øget hastighed og fortolkelighed.
Tak for dine kommentarer!