Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Mallin Suorituskyvyn Vertailu Ennen ja Jälkeen PCA:n | PCA:n Toteuttaminen Pythonilla
Ulottuvuuksien Vähentäminen PCA:lla

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.

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}")

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.

question mark

Mikä on todennäköinen seuraus PCA:n soveltamisesta ominaisuuksien vähentämiseksi ennen luokittelijan koulutusta, kuten yllä olevassa esimerkissä?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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.

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}")

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.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt