Lar Finanças Pessoais Como usar o Python para selecionar as variáveis ​​corretas para a Ciência dos Dados - dummies

Como usar o Python para selecionar as variáveis ​​corretas para a Ciência dos Dados - dummies

Índice:

Vídeo: Python - Intro to Computer Science - Harvard's CS50 (2018) 2024

Vídeo: Python - Intro to Computer Science - Harvard's CS50 (2018) 2024
Anonim

Selecionar as variáveis ​​corretas no Python pode melhorar o processo de aprendizagem na ciência dos dados reduzindo a quantidade de ruído (inútil informação) que podem influenciar as estimativas do aluno. A seleção variável, portanto, pode efetivamente reduzir a variância das previsões. Para envolver apenas as variáveis ​​úteis no treinamento e excluir os redundantes, você pode usar essas técnicas:

  • Abordagem univariada: Selecione as variáveis ​​mais relacionadas ao resultado alvo.

  • Abordagem gananciosa ou inversa: Mantenha apenas as variáveis ​​que você pode remover do processo de aprendizagem sem prejudicar seu desempenho.

Selecionando por medidas univariadas

Se você decidir selecionar uma variável pelo seu nível de associação com seu alvo, a classe SelectPercentile fornece um procedimento automático para manter apenas uma certa porcentagem das melhores características associadas. As métricas disponíveis para associação são

  • f_regression: usado apenas para alvos numéricos e com base no desempenho de regressão linear.

  • f_classif: Usado apenas para alvos categóricos e com base no teste estatístico Análise de Variância (ANOVA).

  • chi2: Executa a estatística do qui-quadrado para alvos categóricos, o que é menos sensível à relação não-linear entre a variável preditiva e seu alvo.

Ao avaliar candidatos para um problema de classificação, f_classif e chi2 tendem a fornecer o mesmo conjunto de variáveis ​​superiores. Ainda é uma boa prática testar as seleções de ambas as métricas de associação.

Além de aplicar uma seleção direta das associações percentile superiores, SelectPercentile também pode classificar as melhores variáveis ​​para facilitar a decisão em que percentil excluir uma característica de participar do processo de aprendizagem. A classe SelectKBest é análoga em sua funcionalidade, mas seleciona as principais variáveis ​​k, onde k é um número, não um percentil.

da sklearn. feature_selection import SelectPercentile from sklearn. feature_selection import f_regression Selector_f = SelectPercentile (f_regression, percentile = 25) Selector_f. caber (X, y) para n, s em zip (boston. feature_names, Selector_f. scores_): imprimir 'F-score:% 3. 2 pés para o recurso% s '% (s, n) F-score: 88. 15 para a função CRIM F-score: 75. 26 para o recurso ZN F-score: 153. 95 para o recurso INDUS F-score: 15. 97 para com CHAS F-score: 112. 59 para o recurso NOX F-score: 471. 85 para o recurso RM F-score: 83.48 para o recurso AGE F-score: 33. 58 para o recurso DIS F-score: 85. 91 para o recurso RAD F-score: 141. 76 para o recurso TAX F-score: 175. 11 para o recurso PTRATIO F-score: 63. 05 para o recurso B F-score: 601. 62 para o recurso LSTAT

O uso do nível de resultado da associação ajuda você a escolher as variáveis ​​mais importantes para o seu modelo de aprendizado de máquina, mas você deve estar atento a esses possíveis problemas: > Algumas variáveis ​​com alta associação também podem ser altamente correlacionadas, introduzindo informações duplicadas, que atua como ruído no processo de aprendizagem.

  • Algumas variáveis ​​podem ser penalizadas, especialmente binárias (variáveis ​​que indicam um status ou característica usando o valor 1 quando está presente, 0 quando não é). Por exemplo, observe que a saída mostra a variável binária CHAS como a menor associada à variável alvo (mas você sabe dos exemplos anteriores que é influente da fase de validação cruzada).

  • O processo de seleção univariado pode dar-lhe uma vantagem real quando você possui um grande número de variáveis ​​a serem selecionadas e todos os outros métodos tornam-se inválidos computacionalmente. O melhor procedimento é reduzir o valor do SelectPercentile em metade ou mais das variáveis ​​disponíveis, reduzir o número de variáveis ​​para um número gerenciável e, conseqüentemente, permitir o uso de um método mais sofisticado e preciso, como uma busca gananciosa.

Usando uma busca gananciosa

Ao usar uma seleção univariada, você deve decidir por si próprio quantas variáveis ​​manter: a seleção gananciosa reduz automaticamente o número de recursos envolvidos em um modelo de aprendizagem com base em sua contribuição efetiva para a desempenho medido pela medida de erro.

A classe RFECV, ajustando os dados, pode fornecer-lhe informações sobre o número de recursos úteis, apontá-lo para você e transformar automaticamente os dados X, pela transformação do método, para um conjunto de variáveis ​​reduzidas, conforme mostrado em o seguinte exemplo:

da sklearn. feature_selection import RFECV selector = RFECV (estimator = regression, cv = 10, scoring = "mean_squared_error") seletor. Cópia ajustada (X, y) ("Número otimizado de recursos:% d"% seletor. n_features_) Número ótimo de recursos: 6

É possível obter um índice para a variável otimizada definida ao chamar o atributo support_ do RFECV classe depois de você se encaixar.

imprimir boston. Nome do recurso [seletor. Suporte_] ['CHAS "NOX" RM "DIS" PTRATIO "LSTAT']

Observe que o CHAS está agora incluído entre os recursos mais preditivos, o que contrasta com o resultado da pesquisa univariada. O método RFECV pode detectar se uma variável é importante, independentemente de ser binário, categórico ou numérico, porque ele avalia diretamente o papel desempenhado pelo recurso na predição.

O método RFECV é certamente mais eficiente, quando comparado com a abordagem não-variável, porque ele considera características altamente correlacionadas e está sintonizado para otimizar a medida de avaliação (que geralmente não é Qui-quadrado ou F-score). Sendo um processo ganancioso, é computacionalmente exigente e pode apenas se aproximar do melhor conjunto de preditores.

Como o RFECV aprende o melhor conjunto de variáveis ​​a partir de dados, a seleção pode se superar, o que acontece com todos os outros algoritmos de aprendizado de máquina. Testar o RFECV em diferentes amostras dos dados de treinamento pode confirmar as melhores variáveis ​​a serem usadas.

Como usar o Python para selecionar as variáveis ​​corretas para a Ciência dos Dados - 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 ...