Comparando o Desempenho do Modelo Antes e Depois do PCA
PCA pode ser utilizado como uma etapa de pré-processamento antes do treinamento de modelos de aprendizado de máquina. Neste capítulo, será realizada uma comparação do desempenho de um classificador LogisticRegression nos dados originais padronizados e nos dados reduzidos para dois componentes principais. Esta abordagem prática destaca como a redução de dimensionalidade pode impactar tanto a eficácia quanto a eficiência dos 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}")
O código acima divide os dados, treina um modelo de regressão logística tanto nos dados originais quanto nos dados reduzidos por PCA, e compara suas acurácias. Observe que uma acurácia perfeita de 1.0 nos dados originais pode indicar overfitting, quando o modelo se ajusta excessivamente aos dados de treinamento e pode não generalizar bem. A aplicação do PCA reduz a dimensionalidade, o que pode ajudar a mitigar o overfitting. Após o PCA, a acurácia diminui levemente para 0.91, demonstrando um melhor equilíbrio entre desempenho e generalização, com maior velocidade e interpretabilidade.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 8.33
Comparando o Desempenho do Modelo Antes e Depois do PCA
Deslize para mostrar o menu
PCA pode ser utilizado como uma etapa de pré-processamento antes do treinamento de modelos de aprendizado de máquina. Neste capítulo, será realizada uma comparação do desempenho de um classificador LogisticRegression nos dados originais padronizados e nos dados reduzidos para dois componentes principais. Esta abordagem prática destaca como a redução de dimensionalidade pode impactar tanto a eficácia quanto a eficiência dos 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}")
O código acima divide os dados, treina um modelo de regressão logística tanto nos dados originais quanto nos dados reduzidos por PCA, e compara suas acurácias. Observe que uma acurácia perfeita de 1.0 nos dados originais pode indicar overfitting, quando o modelo se ajusta excessivamente aos dados de treinamento e pode não generalizar bem. A aplicação do PCA reduz a dimensionalidade, o que pode ajudar a mitigar o overfitting. Após o PCA, a acurácia diminui levemente para 0.91, demonstrando um melhor equilíbrio entre desempenho e generalização, com maior velocidade e interpretabilidade.
Obrigado pelo seu feedback!