[ML] Redução de Dimensionalidade usando PCA
Importância do PCA
A redução de dimensionalidade utilizando o algoritmo PCA (Principal Component Analysis) é uma técnica usada para simplificar conjuntos de dados com muitas variáveis (dimensões), mantendo o máximo de informação possível.
O PCA transforma os dados originais em um novo conjunto de variáveis chamadas componentes principais, que são combinações lineares das variáveis originais. Esses componentes são ordenados de forma que:
- o primeiro componente explique a maior parte da variabilidade nos dados;
- o segundo componente explique a maior parte da variabilidade restante, e assim por diante.
Assim é possível manter apenas os primeiros N componentes, reduzindo a dimensionalidade com perda mínima de informação.
Vantagens da utilização do PCA
Reduz o ruído e a complexidade dos dados.
Facilita visualizações de dados originalmente com muitas variáveis.
Melhora desempenho de modelos de machine learning, especialmente com dados altamente correlacionados.
Exemplificando, em um cenário com dados sobre clientes com 20 variáveis (idade, renda, score de crédito etc.), Com o PCA é possível transformar essas 20 variáveis em, por exemplo, 3 componentes principais que capturam 95% da variação dos dados. Isso facilita a análise e acelera algoritmos de modelagem.
Projeto de redução de Dimensionalidade
link: Utilizando PCA
O objetivo da aplicação do PCA é explorar e aplicar PCA para simplificar um conjunto de dados relacionados a salários em carreiras de Data Science disponibilizado no Kaggle, com foco em manter a performance de um modelo de classificação.
Etapas do Projeto
O trabalho começa com a importação das principais bibliotecas necessárias para manipulação de dados, pré-processamento, modelagem e avaliação. Em seguida, é feito o carregamento de um conjunto de dados sobre salários na área de Data Science no ano de 2023, obtido da plataforma Kaggle. O dataset contém informações como ano, nível de experiência, tipo de emprego, cargo, salário bruto e em dólares, localização do funcionário e da empresa, entre outros.
Após a leitura dos dados, é feita uma breve análise estrutural usando info() e a seleção das variáveis independentes (X) e da variável dependente (y), que neste caso é o salário em dólares (salary_in_usd). Como o dataset contém várias colunas categóricas, utilizamos o Label Encoder para converter essas categorias em números, permitindo que algoritmos de machine learning consigam processá-las.
Na etapa seguinte, os dados são normalizados com o Standard Scaler, o que garante que todas as variáveis numéricas passem a ter média zero e desvio padrão igual a um. Essa etapa é importante antes de aplicar o PCA, já que o algoritmo é sensível à escala dos dados. Com os dados prontos, é feita a separação entre dados de treino e teste, usando 80% para treino e 20% para teste.
A partir daí, é aplicada a técnica de PCA (Principal Component Analysis) com o objetivo de reduzir o número de variáveis explicativas de forma a manter o máximo possível da informação original. O número de componentes principais foi definido como 6. Os dados de treino e teste são então transformados para esse novo espaço de menor dimensionalidade. Também é calculada a variância explicada por cada componente, além da variância total retida pelos 6 componentes escolhidos, o que permite avaliar a qualidade da redução.
Por fim, é treinado um modelo de classificação utilizando o algoritmo Random Forest com e sem PCA. O modelo é treinado para fazer previsões sobre o conjunto de teste. A acurácia da classificação é então calculada e exibida, com a redução de dimensionalidade.
Comentários
Postar um comentário