Ciência de dados: usando python para executar fator e análise de componentes principais

cientistas de dados pode usar Python para executar fator e análise de componentes principais. SVD opera diretamente sobre os valores numéricos em dados, mas você também pode expressar os dados como uma relação entre variáveis. Cada recurso tem uma certa variação. Você pode calcular a variabilidade como a medida da variância em torno da média. Quanto mais a variância, mais a informação contida dentro da variável.

Video: PCA Análise por componentes principais usando SCILAB

Além disso, se você colocar a variável em um conjunto, você pode comparar a variância de duas variáveis ​​para determinar se eles se correlacionam, que é uma medida de quão fortemente eles têm valores semelhantes.

Verificando todas as possíveis correlações de uma variável com os outros no set, você pode descobrir que você pode ter dois tipos de variação:

  • variância única: Alguns variância é exclusivo para a variável em análise. Ele não pode ser associado ao que acontece com qualquer outra variável.

  • variância compartilhada: Alguns variância é compartilhado com uma ou mais outras variáveis, criando redundância nos dados. Redundância implica que você pode encontrar a mesma informação, com valores ligeiramente diferentes, em várias características e através de muitas observações.

Claro, o próximo passo é determinar a razão para a variância compartilhada. Tentando responder a essa pergunta, bem como para determinar como lidar com variações únicas e partilhados, levou à criação do fator e análise de componentes principais.

Considerando o modelo psicométrica

Muito antes de muitos algoritmos de aprendizado de máquina foram pensados ​​para cima, psicometria, a disciplina de psicologia que se preocupa com a medição psicológica, tentou encontrar uma solução estatística para medir efetivamente dimensões na personalidade. A personalidade humana, como acontece com outros aspectos do ser humano, não é diretamente mensurável. Por exemplo, não é possível medir com precisão o quanto uma pessoa é introvertida ou inteligente. Questionários e testes psicológicos única dica para esses valores.

Psicólogos sabia de SVD e tentou aplicá-lo para o problema. variância compartilhada atraiu sua atenção: Se algumas variáveis ​​são quase os mesmos, eles devem ter a mesma causa raiz, eles pensavam. psicólogos criado análise fatorial para executar esta tarefa! Em vez de aplicar SVD diretamente aos dados, eles aplicaram a uma matriz recém-criado rastreando a variância comum, na esperança de condensar todas as informações e recuperação de novas funcionalidades úteis chamada factores.

Procurando por fatores ocultos

Uma boa maneira de mostrar como usar a análise fator é começar com o conjunto de dados Iris.

de sklearn.datasets importar load_irisfrom sklearn.decomposition importação FactorAnalysisiris = load_iris () X, Y = iris.data, iris.targetfactor = FactorAnalysis (n_components = 4,, random_state = 101) .fit (X)


Após o carregamento dos dados armazenados e tendo todas as características preditivos, os FactorAnalysis classe é inicializada com um pedido para procurar quatro fatores. Os dados são então montados. Você pode explorar os resultados observando o components_ atributo, que retorna uma matriz contendo medidas da relação entre os factores de recém-criadas, colocados em fileiras, e as características originais, dispostos em colunas.

Na intersecção de cada um dos factores e característica, um número positivo indica que existe uma proporção positiva entre a dois um número negativo, em vez disso, refere que divergem e uma é pelo contrário para o outro.

Você vai ter que testar diferentes valores de n_components porque não é possível saber quantos fatores existem nos dados. Se o algoritmo é necessário para mais fatores do que existe, ele irá gerar fatores com valores baixos no components_ matriz.

pandas importação como pd.DataFrame pdprint (factor.components_, colunas = iris.feature_names) sépalas comprimento (cm) sépalas largura (cm) de comprimento pétala (cm) de largura da pétala (cm) 0 0,707227 1,653151 -0,153147 0,7015691 0,114676 0,159763 -0,045604 -0,0140522 0.000000 -,000000 -,000000 -,0000003 -,000000 0.000000 0.000000 -,000000

No teste sobre o conjunto de dados da íris, por exemplo, os factores resultantes devem ter um máximo de 2, e não quatro, porque apenas dois factores tem conexões significativas com as características originais. Você pode usar esses dois fatores como novas variáveis ​​em seu projeto porque refletem um recurso invisível, mas importante que os dados anteriormente disponível apenas insinuada.

Video: PCA with Scilab and FACT - Análise por componentes principais

A utilização de componentes, e não factores

Se um SVD poderia ser aplicado com sucesso para a variância comum, você pode perguntar por que você não pode aplicá-lo a todas as variações. Utilizando uma matriz de partida ligeiramente modificado, todas as relações de dados pode ser reduzida e comprimida de uma maneira semelhante ao modo como o faz SVD.

Os resultados deste processo, que são bastante semelhante ao SVD, são chamados análise de componentes principais (APC). Os recursos recém-criados são nomeados componentes. Em contraste com fatores, componentes não são descritas como a causa raiz da estrutura de dados, mas estão apenas reestruturado de dados, para que você possa vê-los como uma grande soma, inteligente de variáveis ​​selecionadas.

Para aplicações de ciência de dados, PCA e SVD são bastante semelhantes. No entanto, PCA não é afetado pela escala das características originais (porque ele funciona em medidas de correlação que são todos ligados entre -1 e +1 valores) e PCA se concentra na reconstrução da relação entre as variáveis, oferecendo assim resultados diferentes da SVD .

Video: Python Fundamentos para Análise de Dados

Alcançar a redução da dimensionalidade

O procedimento para obter um PCA é bastante semelhante ao da análise fatorial. A diferença é que você não especificar o número de componentes para extrair. Você decide mais tarde quantos componentes para manter após a verificação do explained_variance_ratio_ atributo, que fornece a quantificação do valor informativo de cada componente extraído. O exemplo a seguir mostra como executar esta tarefa:

. De pandas sklearn.decomposition importação PCAimport como pdpca = PCA () encaixar (X) de impressão `variância explicada pelo componente:% s` % pca.explained_variance_ratio_print pd.DataFrame (pca.components_, colunas = iris.feature_names) variância explicada pelo componente : [0.92461621 0.05301557 0.01718514 0.00518309] comprimento sépalas (cm) sépalas largura (cm) de comprimento pétala (cm) de largura da pétala (cm) 0 0,361590 0,856572 0,3588441 -0,082269 -0,656540 -0,729712 0,175767 0,0747062 0,580997 0,317255 -0,596418 -0,072524 -0,5490613 -0,324094 - 0.479719 0.751121

Neste decomposição do conjunto de dados da íris, a matriz de vetor fornecida pela explained_variance_ratio_ indica que a maior parte da informação é concentrada no primeiro componente (92,5 por cento). É, portanto, possível reduzir todo o conjunto de dados para apenas dois componentes, proporcionando uma redução de ruído e informações redundantes do conjunto de dados original.


Publicações relacionadas