Ciência de dados: usando python para modificar distribuições de dados

Python permite que os cientistas de dados para modificar distribuições de dados como parte da abordagem EDA. Como um subproduto da exploração de dados, numa fase EDA você pode fazer as seguintes coisas:

  • Obter nova criação recurso a partir da combinação de diferentes mas relacionados variáveis

  • Identificar grupos ocultos ou valores estranhos à espreita em seus dados

  • Tente algumas modificações úteis de suas distribuições de dados por binning (ou outros discretizações como variáveis ​​binárias)

Ao realizar EDA, é preciso considerar a importância da transformação de dados em preparação para a fase de aprendizagem, o que também significa usando certas fórmulas matemáticas. As informações a seguir fornece uma visão geral das fórmulas matemáticas mais comuns utilizados para EDA. A transformação de dados que você escolher depende da distribuição de seus dados, com uma distribuição normal, sendo o mais comum. Além disso, você vê a necessidade de adequar o processo de transformação para a fórmula matemática que você usa.

Utilizando a distribuição normal

O normal ou Gaussiana, a distribuição é a distribuição mais útil nas estatísticas graças à sua recorrência frequente e particulares propriedades matemáticas. É essencialmente a fundação de muitos testes estatísticos e modelos, com alguns deles, como a regressão linear, amplamente utilizado na ciência de dados.



Durante a prática da ciência de dados, você vai encontrar-se com uma ampla gama de diferentes distribuições - com alguns deles nomeado pela teoria probabilística, outros não. Para algumas distribuições, a suposição de que eles devem se comportar como uma distribuição normal pode ser titular, mas para outros, pode ser que não, e que poderia ser um problema dependendo do que os algoritmos que você usa para o processo de aprendizagem.

Como regra geral, se o seu modelo é uma regressão linear ou parte da família modelo linear, porque tudo se resume a um somatório de coeficientes, então ambos transformação padronização e distribuição variável deve ser considerada.

Criando uma padronização Z-score

Em seu processo de EDA, você pode ter percebido que suas variáveis ​​têm diferentes escalas e são heterogêneos em suas distribuições. Como consequência da sua análise, você precisa para transformar as variáveis ​​de uma forma que os torna facilmente comparáveis:

sklearn.preprocessing de importação scalestand_sepal_width = escala (iris_dataframe [ ‘sépalas largura (cm)’])

Transformar outras distribuições notáveis

Quando você verificar as variáveis ​​com elevada assimetria e curtose para sua correlação, os resultados podem decepcioná-lo. Usando uma medida não paramétrica de correlação, como Spearman, pode dizer mais sobre duas variáveis ​​de r de Pearson pode dizer-lhe. Neste caso, você deve transformar a sua visão sobre um recurso novo, transformado:

Transformações = { `x`: lambda x: x, `1 / x`: lambda x: 1 / x `x ** 2`: lambda x: x ** 2, `x ** 3`: lambda x: ** x 3, `log (x)`: lambda x: np.log (x)} para a transformação em transformações: pearsonr_coef, pearsonr_p = pearsonr (iris_dataframe [ `sépalas comprimento (cm)`], transformações [transformação] (iris_dataframe [ `sépalas largura (cm)`])) impressão `transformação: r% de st Pearson:% 0.3f` % (transformação, pearsonr_coef) transformação: x r de Pearson: -0.109Transformation: x ** 2 de Pearson r: -0.122Transformation : ** x 3 r de Pearson: -0.131Transformation: log (x) r de Pearson: -0.093Transformation: 1 / x r ​​de Pearson: 0,073

Ao explorar várias transformações possíveis, usando um para circuito pode dizer-lhe que uma transformação de energia vai aumentar a correlação entre as duas variáveis, aumentando assim o desempenho de um algoritmo de aprendizado de máquina linear. Você também pode tentar outras, novas transformações como a raiz quadrada np.sqrt (x), exponencial np.exp (x), e várias combinações de todas as transformações, tal como o inverso de log np.log (1 / x).


Publicações relacionadas