Comparación del Rendimiento del Modelo Antes y Después de PCA
PCA puede utilizarse como un paso de preprocesamiento antes de entrenar modelos de aprendizaje automático. En este capítulo, se comparará el rendimiento de un clasificador LogisticRegression sobre los datos estandarizados originales y sobre los datos reducidos a dos componentes principales. Este enfoque práctico resalta cómo la reducción de dimensionalidad puede afectar tanto la efectividad como la eficiencia de los modelos.
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}")
El código anterior divide los datos, entrena un modelo de regresión logística tanto en los datos originales como en los datos reducidos mediante PCA, y compara sus precisiones. Nótese que una precisión perfecta de 1.0 en los datos originales puede indicar sobreajuste, donde el modelo se ajusta demasiado a los datos de entrenamiento y puede no generalizar bien. Aplicar PCA reduce la dimensionalidad, lo que puede ayudar a mitigar el sobreajuste. Después de aplicar PCA, la precisión disminuye ligeramente a 0.91, mostrando un mejor equilibrio entre rendimiento y generalización, con mayor velocidad e interpretabilidad.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
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
Comparación del Rendimiento del Modelo Antes y Después de PCA
Desliza para mostrar el menú
PCA puede utilizarse como un paso de preprocesamiento antes de entrenar modelos de aprendizaje automático. En este capítulo, se comparará el rendimiento de un clasificador LogisticRegression sobre los datos estandarizados originales y sobre los datos reducidos a dos componentes principales. Este enfoque práctico resalta cómo la reducción de dimensionalidad puede afectar tanto la efectividad como la eficiencia de los modelos.
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}")
El código anterior divide los datos, entrena un modelo de regresión logística tanto en los datos originales como en los datos reducidos mediante PCA, y compara sus precisiones. Nótese que una precisión perfecta de 1.0 en los datos originales puede indicar sobreajuste, donde el modelo se ajusta demasiado a los datos de entrenamiento y puede no generalizar bien. Aplicar PCA reduce la dimensionalidad, lo que puede ayudar a mitigar el sobreajuste. Después de aplicar PCA, la precisión disminuye ligeramente a 0.91, mostrando un mejor equilibrio entre rendimiento y generalización, con mayor velocidad e interpretabilidad.
¡Gracias por tus comentarios!