Comparaison des Performances du Modèle Avant et Après ACP
PCA peut être utilisé comme étape de prétraitement avant l'entraînement des modèles d'apprentissage automatique. Dans ce chapitre, la performance d'un classificateur LogisticRegression sera comparée sur les données standardisées d'origine et sur les données réduites à deux composantes principales. Cette approche pratique met en évidence l'impact de la réduction de dimensionnalité sur l'efficacité et la performance des modèles.
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}")
Le code ci-dessus divise les données, entraîne un modèle de régression logistique à la fois sur les données d'origine et sur les données réduites par PCA, puis compare leurs précisions. Il est à noter qu'une précision parfaite de 1,0 sur les données d'origine peut indiquer un surapprentissage, où le modèle s'ajuste trop étroitement aux données d'entraînement et peut ne pas bien généraliser. L'application du PCA réduit la dimensionnalité, ce qui peut aider à limiter le surapprentissage. Après PCA, la précision diminue légèrement à 0,91, montrant un meilleur équilibre entre performance et généralisation, avec une vitesse et une interprétabilité accrues.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain why the accuracy drops after applying PCA?
What are the benefits of using PCA before training a model?
How do I choose the number of principal components for PCA?
Awesome!
Completion rate improved to 8.33
Comparaison des Performances du Modèle Avant et Après ACP
Glissez pour afficher le menu
PCA peut être utilisé comme étape de prétraitement avant l'entraînement des modèles d'apprentissage automatique. Dans ce chapitre, la performance d'un classificateur LogisticRegression sera comparée sur les données standardisées d'origine et sur les données réduites à deux composantes principales. Cette approche pratique met en évidence l'impact de la réduction de dimensionnalité sur l'efficacité et la performance des modèles.
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}")
Le code ci-dessus divise les données, entraîne un modèle de régression logistique à la fois sur les données d'origine et sur les données réduites par PCA, puis compare leurs précisions. Il est à noter qu'une précision parfaite de 1,0 sur les données d'origine peut indiquer un surapprentissage, où le modèle s'ajuste trop étroitement aux données d'entraînement et peut ne pas bien généraliser. L'application du PCA réduit la dimensionnalité, ce qui peut aider à limiter le surapprentissage. Après PCA, la précision diminue légèrement à 0,91, montrant un meilleur équilibre entre performance et généralisation, avec une vitesse et une interprétabilité accrues.
Merci pour vos commentaires !