Mallin Suorituskyvyn Vertailu Ennen ja Jälkeen PCA:n
PCA voidaan käyttää esikäsittelyvaiheena ennen koneoppimismallien koulutusta. Tässä luvussa vertaillaan LogisticRegression-luokittelijan suorituskykyä alkuperäisellä standardoidulla datalla sekä datalla, joka on pienennetty kahteen pääkomponenttiin. Tämä käytännön lähestymistapa havainnollistaa, miten ulottuvuuksien vähentäminen voi vaikuttaa mallien tehokkuuteen ja suorituskykyyn.
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}")
Yllä oleva koodi jakaa datan, kouluttaa logistisen regressio -mallin sekä alkuperäisellä että PCA-vähennetyllä datalla ja vertaa niiden tarkkuuksia. Huomaa, että täydellinen tarkkuus 1.0 alkuperäisellä datalla voi viitata ylioppimiseen, jolloin malli sovittaa koulutusdataan liian tarkasti eikä välttämättä yleisty hyvin. PCA:n soveltaminen vähentää ulottuvuuksia, mikä voi auttaa ehkäisemään ylioppimista. PCA:n jälkeen tarkkuus laskee hieman arvoon 0.91, mikä osoittaa paremman tasapainon suorituskyvyn ja yleistettävyyden välillä sekä lisää nopeutta ja tulkittavuutta.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 8.33
Mallin Suorituskyvyn Vertailu Ennen ja Jälkeen PCA:n
Pyyhkäise näyttääksesi valikon
PCA voidaan käyttää esikäsittelyvaiheena ennen koneoppimismallien koulutusta. Tässä luvussa vertaillaan LogisticRegression-luokittelijan suorituskykyä alkuperäisellä standardoidulla datalla sekä datalla, joka on pienennetty kahteen pääkomponenttiin. Tämä käytännön lähestymistapa havainnollistaa, miten ulottuvuuksien vähentäminen voi vaikuttaa mallien tehokkuuteen ja suorituskykyyn.
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}")
Yllä oleva koodi jakaa datan, kouluttaa logistisen regressio -mallin sekä alkuperäisellä että PCA-vähennetyllä datalla ja vertaa niiden tarkkuuksia. Huomaa, että täydellinen tarkkuus 1.0 alkuperäisellä datalla voi viitata ylioppimiseen, jolloin malli sovittaa koulutusdataan liian tarkasti eikä välttämättä yleisty hyvin. PCA:n soveltaminen vähentää ulottuvuuksia, mikä voi auttaa ehkäisemään ylioppimista. PCA:n jälkeen tarkkuus laskee hieman arvoon 0.91, mikä osoittaa paremman tasapainon suorituskyvyn ja yleistettävyyden välillä sekä lisää nopeutta ja tulkittavuutta.
Kiitos palautteestasi!