Trabalhando com PCA e atividades práticas

 Modelo PCA - (Análise de componente principal)


Conceituando:

Durante a semana trabalhamos com o modelo PCA que é um algoritmo de machine learning não supervisionado que tenta reduzir a dimensionalidade (número de recursos) em um conjunto de dados enquanto mantém o maior número possível de informações. Para isso, ele encontra um novo conjunto de recursos chamados componentes, que são composições de recursos originais não correlacionados entre si. Eles também são limitados para que o primeiro componente represente a maior variabilidade possível nos dados, o segundo componente, a segunda maior variabilidade, e assim por diante.

O PCA é particularmente útil quando lidamos com conjuntos de dados de alta dimensionalidade, onde a quantidade de variáveis pode dificultar a compreensão e a análise dos dados. Nesse sentido, ao projetar os dados em um espaço de dimensão reduzida, a análise de componentes principais simplifica a visualização, a interpretação e a extração de insights a partir dos dados.

 Respondendo: O Que é a Análise de Componentes Principais?

A análise de componentes principais, ou PCA (Principal Component Analysis), é uma técnica estatística que transforma um conjunto de variáveis, possivelmente correlacionadas, em um conjunto de valores de variáveis linearmente não correlacionadas, chamadas componentes principais.

Para compreender como a PCA funciona, é essencial explorar seus fundamentos matemáticos. A PCA utiliza a decomposição de valores singulares (SVD) ou a decomposição espectral da matriz de covariância dos dados. Vamos detalhar esses conceitos.

 Exemplo em Sala de aula

Durante os dias 20 e 21 foi integrado ao dataset "dc_small" como trabalhar com o modelo PCA, no caso ele foi aplicado para reduzir ou aprimorar o nosso dataset em questão, conforme o código a seguir:

 

Em seguida foram aplicados os modelos de classificação LogisticRegression, RandomForest e SVM que seriam os responsáveis por fazer os relatórios e aplicações dos modelos já no dataset reduzido, conforme realizado pelo PCA.

E em seguida o código mostra como foi o resultado aplicando o LogisticRegression:
 

Na mesma semana tivemos que aplicar esse mesmo modelo ao dataset que cada equipe produziu para uma outra atividade. Conforme mostra o código a seguir: utilizando o Keras Application Resnet50

 

Aqui é mostrado o código utilizando o PCA para reduzir o dataset: Observe que o número de componentes é 50. Isso quer dizer que número de componentes refere-se à quantidade de componentes principais que serão mantidos no novo espaço dimensional reduzido.

Abaixo um exemplo do relatório obtido pela aplicação do modelo de classificação Random Forest: O número de estimativas corresponde a 200:

Ao final da atividade deveríamos mostrar qual foi o melhor modelo e qual o relatório geral da classificação, conforme a imagem a seguir:

 

Comentários