Lar Finanças Pessoais Ciência de dados: usando Python para executar o fator e a análise de componentes principais - dummies

Ciência de dados: usando Python para executar o fator e a análise de componentes principais - dummies

Índice:

Vídeo: Developer Keynote: Get to the Fun Part (Cloud Next '19) 2024

Vídeo: Developer Keynote: Get to the Fun Part (Cloud Next '19) 2024
Anonim

Os cientistas de dados podem usar o Python para realizar análise de fatores e componentes principais. SVD opera diretamente nos valores numéricos em dados, mas você também pode expressar dados como uma relação entre variáveis. Cada característica tem uma certa variação. Você pode calcular a variabilidade como a medida de variância em torno da média. Quanto mais a variância, mais as informações contidas dentro da variável.

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 elas se correlacionam, o que é uma medida de quão forte elas têm valores semelhantes.

Verificando todas as correlações possíveis de uma variável com as demais no set, você pode descobrir que você pode ter dois tipos de variância:

  • Variância única: Algumas variâncias são exclusivas para a variável em análise. Não pode ser associado ao que acontece com qualquer outra variável.

  • Variância compartilhada: Algumas variâncias são compartilhadas com uma ou mais outras variáveis, criando redundância nos dados. A redundância implica que você pode encontrar a mesma informação, com valores ligeiramente diferentes, em vários recursos e em muitas observações.

Claro, o próximo passo é determinar o motivo da variância compartilhada. Tentando responder a essa pergunta, bem como determinar como lidar com variâncias únicas e compartilhadas, levou à criação de análise de fatores e componentes principais.

Considerando o modelo psicométrico

Muito antes de muitos algoritmos de aprendizagem mecânica serem pensados, psicometria , a disciplina em psicologia que se ocupa da medida psicológica, tentou encontrar uma solução estatística para medir efetivamente as dimensões na personalidade. A personalidade humana, assim como outros aspectos do ser humano, não é diretamente mensurável. Por exemplo, não é possível medir exatamente quanto uma pessoa é introvertida ou inteligente. Questionários e testes psicológicos apenas sugerem esses valores.

Os psicólogos conheciam a SVD e tentaram aplicá-la ao problema. A variância compartilhada atraiu a atenção deles: se algumas variáveis ​​são quase iguais, elas devem ter a mesma causa raiz, pensaram. Os psicólogos criaram análise fatorial para executar esta tarefa! Em vez de aplicar SVD diretamente aos dados, eles o aplicaram a uma matriz recém-criada rastreando a variância comum, na esperança de condensar todas as informações e recuperar novos recursos úteis chamados fa c tors .

Procurando por fatores ocultos

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

da sklearn. conjuntos de dados importar load_iris da sklearn. importação de decomposição FactorAnalysis iris = load_iris () X, y = íris. dados, íris. Fator alvo = Análise de fator (n_componentes = 4, aleatório = 101). fit (X)

Depois de carregar os dados e ter armazenado todos os recursos preditivos, a classe FactorAnalysis é inicializada com um pedido para procurar quatro fatores. Os dados são então ajustados. Você pode explorar os resultados observando o atributo components_, que retorna uma matriz contendo medidas da relação entre os fatores recém-criados, colocados em linhas e os recursos originais, colocados em colunas.

Na interseção de cada fator e característica, um número positivo indica que existe uma proporção positiva entre os dois; um número negativo, em vez disso, aponta que eles divergem e um é contrário ao outro.

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

importam pandas como pd print pd. DataFrame (fator. Components_, columns = iris. Feature_names) comprimento sepal (cm) largura sepal (cm) comprimento da pétala (cm) largura da pétala (cm) 0 0. 707227 -0. 153147 1. 653151 0. 701569 1 0. 114676 0. 159763 -0. 045604 -0. 014052 2 0 000000 -0. 000000 -0. 000000 -0. 000000 3 -0. 000000 0. 000000 0. 000000 -0. 000000

No teste no conjunto de dados Iris, por exemplo, os fatores resultantes devem ser no máximo de 2, e não 4, pois apenas dois fatores têm conexões significativas com os recursos originais. Você pode usar esses dois fatores como novas variáveis ​​em seu projeto porque refletem uma característica não visível, mas importante, que os dados disponíveis anteriormente apenas sugeriram.

Usando componentes, não fatores

Se um SVD pode ser aplicado com sucesso na variância comum, você pode se perguntar por que você não pode aplicá-lo a todas as variâncias. Usando uma matriz de partida ligeiramente modificada, todos os relacionamentos nos dados podem ser reduzidos e compactados de forma semelhante à de como a SVD o faz.

Os resultados deste processo, que são bastante semelhantes aos SVD, são chamados análise de componentes principais (PCA). Os recursos recém-criados são chamados componentes . Em contraste com os fatores, os componentes não são descritos como a causa raiz da estrutura de dados, mas são apenas dados reestruturados, para que você possa vê-los como uma soma grande e inteligente de variáveis ​​selecionadas.

Para aplicações de ciência de dados, PCA e SVD são bastante semelhantes. No entanto, o PCA não é afetado pela escala dos recursos originais (porque funciona em medidas de correlação que estão unidas entre os valores de -1 e +1) e a PCA se concentra na reconstrução da relação entre as variáveis, oferecendo resultados diferentes de SVD.

Realização da redução da dimensionalidade

O procedimento para obter um PCA é bastante semelhante à análise fatorial.A diferença é que você não especifica o número de componentes a serem extraídos. Você decide mais tarde quantos componentes manter depois de verificar o atributo explain_variance_ratio_, que fornece quantificação do valor informativo de cada componente extraído. O exemplo a seguir mostra como executar esta tarefa:

de sklearn. decomposição importar PCA importar pandas como pd pca = PCA (). fit (X) print 'Variedade explicada por componente:% s'% pca. explicit_variance_ratio_ print pd. DataFrame (pca. Components_, columns = iris. Feature_names) Variedade explicada por componente: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] comprimento sepal (cm) largura sepal (cm) comprimento da pétala (cm) largura da pétala (cm) 0 0. 361590 -0. 082269 0. 856572 0. 358844 1 -0. 656540 -0. 729712 0. 175767 0. 074706 2 0. 580997 -0. 596418 -0. 072524 -0. 549061 3 0. 317255 -0. 324094 -0. 479719 0. 751121

Nesta decomposição do conjunto de dados Iris, a matriz vetorial fornecida por explain_variance_ratio_ indica que a maioria das informações é 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.

Ciência de dados: usando Python para executar o fator e a análise de componentes principais - dummies

Escolha dos editores

Origem e Design de Hadoop - dummies

Origem e Design de Hadoop - dummies

Então, o que é exatamente isso com o nome engraçado - Hadoop? No seu núcleo, o Hadoop é uma estrutura para armazenar dados em grandes clusters de hardware de commodities - hardware de computador todos os dias acessível e facilmente disponível - e executando aplicativos contra esses dados. Um cluster é um grupo de computadores interligados (conhecido como ...

A arquitetura do porco em Hadoop - dummies

A arquitetura do porco em Hadoop - dummies

"Simples" geralmente significa "elegante" quando se trata de desenhos arquitetônicos para Essa nova mansão do Vale do Silício que você planejou quando o dinheiro começa a rolar depois de implementar o Hadoop. O mesmo princípio se aplica à arquitetura de software. O porco é composto por dois componentes (count 'em, two): O próprio idioma: como prova de que os programadores ...

MapReduce Application Flow em Hadoop - dummies

MapReduce Application Flow em Hadoop - dummies

No seu núcleo, MapReduce é um modelo de programação para o processamento de conjuntos de dados que são armazenados de forma distribuída nos nós de escravo de um cluster Hadoop. O conceito-chave aqui é dividir e conquistar. Especificamente, você deseja quebrar um grande conjunto de dados em muitas peças menores e processá-las em paralelo com o mesmo algoritmo. ...

Escolha dos editores

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

A base de todo o trabalho do mecanismo de pesquisa é uma análise de palavras-chave. Fazer uma análise de palavras-chave realmente não é tão complicado e pode significar a diferença entre sucesso e falha em sua campanha PPC. Comece digitando as palavras-chave óbvias em um editor de texto ou processador de texto - aqueles que você já pensou ou, se você ...

Envie seu site para Yahoo! Search Directory - dummies

Envie seu site para Yahoo! Search Directory - dummies

Envios para o Yahoo! O diretório costumava ser muito difícil. Pesquisas mostraram que as pessoas que conseguiram obter seus sites listados no diretório tiveram que tentar várias vezes em questão de meses. Era grátis, mas era um aborrecimento. A boa notícia: você pode obter seu site listado em Yahoo! Diretório ...

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Em A superfície, a criação de conteúdo não soa tão difícil até você se sentar e tentar escrever. Sua estratégia de SEO depende desse conteúdo. É ainda pior se você estiver escrevendo conteúdo para o que muitas pessoas podem considerar uma indústria chata. A boa notícia é que é possível transformar indivíduos potencialmente chatos em bons ...

Escolha dos editores

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Um transistor dentro de um O circuito eletrônico funciona como uma combinação de um diodo e um resistor variável, também chamado de potenciômetro ou pote. Mas isso não é apenas um pote comum; é um pote mágico cujo botão é misteriosamente conectado ao diodo por raios invisíveis, tipo desse tipo: quando a tensão direta é aplicada em ...

Componentes eletrônicos: Resistores - manequins

Componentes eletrônicos: Resistores - manequins

Um resistor é um pequeno componente projetado para fornecer um específico quantidade de resistência em um circuito eletrônico. Como a resistência é um elemento essencial de quase todos os circuitos eletrônicos, você usará resistores em quase todos os circuitos que você constrói. Embora os resistores venham em uma variedade de tamanhos e formas, o tipo mais comum ...