Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Confronto delle Prestazioni del Modello Prima e Dopo PCA | Implementazione della PCA in Python
Riduzione della Dimensionalità con PCA

bookConfronto delle Prestazioni del Modello Prima e Dopo PCA

PCA può essere utilizzato come fase di pre-elaborazione prima dell'addestramento dei modelli di machine learning. In questo capitolo, verrà confrontata la performance di un classificatore LogisticRegression sui dati originali standardizzati e sui dati ridotti a due componenti principali. Questo approccio pratico evidenzia come la riduzione della dimensionalità possa influenzare sia l'efficacia che l'efficienza dei modelli.

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

Il codice sopra suddivide i dati, addestra un modello di regressione logistica sia sui dati originali che su quelli ridotti tramite PCA, e confronta le rispettive accuratezze. Si noti che un'accuratezza perfetta di 1.0 sui dati originali può indicare overfitting, ovvero quando il modello si adatta troppo ai dati di addestramento e potrebbe non generalizzare bene. L'applicazione della PCA riduce la dimensionalità, contribuendo a mitigare l'overfitting. Dopo la PCA, l'accuratezza diminuisce leggermente a 0.91, mostrando un miglior equilibrio tra prestazioni e generalizzazione, con maggiore velocità e interpretabilità.

question mark

Qual è un probabile risultato dell'applicazione della PCA per ridurre le caratteristiche prima di addestrare un classificatore, come visto nell'esempio sopra?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 8.33

bookConfronto delle Prestazioni del Modello Prima e Dopo PCA

Scorri per mostrare il menu

PCA può essere utilizzato come fase di pre-elaborazione prima dell'addestramento dei modelli di machine learning. In questo capitolo, verrà confrontata la performance di un classificatore LogisticRegression sui dati originali standardizzati e sui dati ridotti a due componenti principali. Questo approccio pratico evidenzia come la riduzione della dimensionalità possa influenzare sia l'efficacia che l'efficienza dei modelli.

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

Il codice sopra suddivide i dati, addestra un modello di regressione logistica sia sui dati originali che su quelli ridotti tramite PCA, e confronta le rispettive accuratezze. Si noti che un'accuratezza perfetta di 1.0 sui dati originali può indicare overfitting, ovvero quando il modello si adatta troppo ai dati di addestramento e potrebbe non generalizzare bene. L'applicazione della PCA riduce la dimensionalità, contribuendo a mitigare l'overfitting. Dopo la PCA, l'accuratezza diminuisce leggermente a 0.91, mostrando un miglior equilibrio tra prestazioni e generalizzazione, con maggiore velocità e interpretabilità.

question mark

Qual è un probabile risultato dell'applicazione della PCA per ridurre le caratteristiche prima di addestrare un classificatore, come visto nell'esempio sopra?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
some-alt