Confronto 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.
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}")
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à.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 8.33
Confronto 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.
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}")
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à.
Grazie per i tuoi commenti!