Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Comparación del Rendimiento del Modelo Antes y Después de PCA | Implementación de PCA en Python
Reducción de Dimensionalidad con PCA

bookComparació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.

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

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.

question mark

¿Cuál es un resultado probable de aplicar PCA para reducir características antes de entrenar un clasificador, como se observa en el ejemplo anterior?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

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

bookComparació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.

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

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.

question mark

¿Cuál es un resultado probable de aplicar PCA para reducir características antes de entrenar un clasificador, como se observa en el ejemplo anterior?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4
some-alt