Normalização de dados em python

Normalização de dados em python

A normalização dos dados é uma técnica que ajuda a obter o resultado mais rápido, pois a máquina precisa processar uma gama menor de dados. A normalização não é uma tarefa fácil, porque todos os seus resultados dependem da escolha do seu método de normalização. Portanto, se você escolheu o método errado para normalizar seus dados, pode obter algo diferente de suas expectativas.

A normalização também depende do tipo de dados, como imagens, texto, numérico, etc. Portanto, todo tipo de dados tem um método diferente para normalizar. Então, neste artigo, estamos focando em dados numéricos.

Método 1: Usando Sklearn

O método Sklearn é um método muito famoso para normalizar os dados.

da Sklearn Import pré -processamento
importar numpy como np
numpy_array = np.Array ([2, 3, 5, 6, 7, 4, 8, 7, 6, 17, 18, 19, 2, 1, 89])
normalizado_array = pré -processamento.Normalize ([Numpy_array])
Imprimir (normalizado_array)

Resultado:

Nós importamos todas as bibliotecas necessárias, Numpy e Sklearn. Você pode ver que importamos o pré -processamento do próprio Sklearn. É por isso que este é o método de normalização Sklearn.

Criamos uma matriz Numpy com algum valor inteiro que não é o mesmo.

Chamamos o método normalizado do pré -processamento e passamos pelo Numpy_array, que acabamos de criar como um parâmetro.

Podemos ver nos resultados, nossos dados inteiros agora são normalizados entre 0 e 1.

Método 2: Normalize uma coluna específica em um conjunto de dados usando Sklearn

Também podemos normalizar a coluna de conjunto de dados específica. Nisso, vamos discutir sobre isso.

importar pandas como PD
da Sklearn Import pré -processamento
importar numpy como np
csvfile = pd.read_csv ("demonstração.CSV ")
Imprimir (CSVFile)
value_array = np.Array (CSVFile ['Value']))
print (value_array)
normalizado_array = pré -processamento.Normalize ([value_array])
Imprimir (normalizado_array)

Resultado:

Nós importamos a biblioteca pandas e sklearn.

Criamos um arquivo CSV dummy e agora estamos carregando esse arquivo CSV com a ajuda do pacote pandas (read_csv).

Imprimos esse arquivo CSV que carregamos recentemente.

Lemos a coluna específica do arquivo CSV usando o NP. matriz e armazenar o resultado para value_array.

Chamamos o método normalizado do pré -processamento e passamos o parâmetro value_array.

Método 3: Converta para normalizar sem usar as colunas para matar (usando Sklearn)

No método anterior 2, discutimos como uma coluna de arquivo CSV específica que poderíamos normalizar. Mas às vezes precisamos normalizar todo o conjunto de dados, então podemos usar o método abaixo, onde normalizamos todo o conjunto de dados, mas ao longo da coluna (Axis = 0). Se mencionarmos o eixo = 1, ele fará normalizar-se em linha. O eixo = 1 é por padrão padrão.

importar pandas como PD
da Sklearn Import pré -processamento
csvfile = pd.read_csv ("Demo_numeric.CSV ")
Imprimir (CSVFile)
# Normalize os dados ao longo da coluna (eixo = 0)
resultado = pré -processamento.normalize (csvfile, eixo = 0)
Imprimir (resultado)

Resultado:

Nós importamos a biblioteca pandas e sklearn.

Criamos um arquivo CSV dummy (Demo_numeric.CSV), e agora estamos carregando esse arquivo CSV com a ajuda do pacote Pandas (Read_CSV).

Imprimos esse arquivo CSV que carregamos recentemente.

Agora, passamos o arquivo CSV inteiro junto com mais um eixo de parâmetro extra = 0, que disse à biblioteca que o usuário queria normalizar todo o conjunto de dados em termos de coluna.

Imprimos o resultado e normalizamos dados com um valor entre 0 e 1.

Método 4: Usando MinmaxScaler ()

O Sklearn também fornece outro método de normalização, que o chamamos de minmaxscalar. Este também é um método muito popular porque é fácil de usar.

importar pandas como PD
da Sklearn Import pré -processamento
csvfile = pd.read_csv ("Demo_numeric.CSV ")
Imprimir (CSVFile)
min_max_scalar = pré -processamento.Minmaxscaler ()
col = csvfile.colunas
resultado = min_max_scalar.FIT_TRANSFORM (CSVFILE)
min_max_scalar_df = pd.Dataframe (resultado, colunas = col)
print (min_max_scalar_df)

Resultado:

Nós importamos todos os pacotes necessários.

Criamos um arquivo CSV dummy (Demo_numeric.CSV), e agora estamos carregando esse arquivo CSV com a ajuda do pacote Pandas (Read_CSV).

Imprimos esse arquivo CSV que carregamos recentemente.

Chamamos o minmaxscalar do método de pré -processamento e criamos um objeto (min_max_scalar) para isso. Não passamos nenhum parâmetros porque precisamos normalizar os dados entre 0 e 1. Mas se você quiser, você pode adicionar seus valores que serão vistos no próximo método.

Primeiro lemos todos os nomes das colunas para uso adicional para exibir resultados. Então chamamos o FIT_TRANFORM do objeto criado min_max_scalar e passamos o arquivo CSV para isso.

Temos os resultados normalizados que estão entre 0 e 1.

Método 5: Usando o MinmaxScaler (característica_Range = (x, y))

O Sklearn também oferece a opção de alterar o valor normalizado do que você deseja. Por padrão, eles normalizam o valor entre 0 e 1. Mas há um parâmetro que chamamos de destaque_Range, que pode definir o valor normalizado de acordo com nossos requisitos.

importar pandas como PD
da Sklearn Import pré -processamento
csvfile = pd.read_csv ("Demo_numeric.CSV ")
Imprimir (CSVFile)
min_max_scalar = pré -processamento.Minmaxscaler (range_range = (0, 2))
col = csvfile.colunas
resultado = min_max_scalar.FIT_TRANSFORM (CSVFILE)
min_max_scalar_df = pd.Dataframe (resultado, colunas = col)
print (min_max_scalar_df)

Resultado:

Nós importamos todos os pacotes necessários.

Criamos um arquivo CSV dummy (Demo_numeric.CSV), e agora estamos carregando esse arquivo CSV com a ajuda do pacote Pandas (Read_CSV).

Imprimos esse arquivo CSV que carregamos recentemente.

Chamamos o minmaxscalar do método de pré -processamento e criamos um objeto (min_max_scalar) para isso. Mas também passamos por outro parâmetro dentro do minmaxscaler (range_range). Esse valor de parâmetro, definimos 0 a 2. Então agora, o minmaxscaler normalizará os valores de dados entre 0 e 2.

Primeiro lemos todos os nomes das colunas para uso adicional para exibir resultados. Então chamamos o FIT_TRANFORM do objeto criado min_max_scalar e passamos o arquivo CSV para isso.

Temos os resultados normalizados que estão entre 0 e 2.

Método 6: Usando a escala absoluta máxima

Também podemos fazer normalizar os dados usando pandas. Esses recursos também são muito populares na normalização dos dados. A escala absoluta máxima normaliza os valores entre 0 e 1. Estamos nos inscrevendo aqui .max () e .ABS () como mostrado abaixo:

importar pandas como PD
# Crie uma demonstração DataFrame
df = pd.Quadro de dados([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]],
colunas = ['a', 'b', 'c']))
Impressão (DF)
# Método normalizado
para coluna em df.colunas:
df [coluna] = df [coluna] / df [coluna].abdômen().max ()
Impressão (DF)

Resultado:

Nós importamos a biblioteca dos pandas.

Criamos um quadro de dados dummy e imprimimos esse dataframe.

Chamamos de cada coluna e depois dividimos os valores da coluna com o .max () e .abdômen().

Imprimos o resultado e, a partir do resultado, confirmamos que nossos dados normalizam entre 0 e 1.

Método 7: Usando o método Z-Score

O próximo método que vamos discutir é o método Z-Score. Este método converte as informações para a distribuição. Este método calcula a média de cada coluna e depois subtrai de cada coluna e, finalmente, divide -a com o desvio padrão. Isso normaliza os dados entre -1 e 1.

importar pandas como PD
# Crie uma demonstração DataFrame
df = pd.Quadro de dados([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]],
colunas = ['a', 'b', 'c']))
Impressão (DF)
# Método normalizado
para coluna em df.colunas:
df [coluna] = (df [coluna] - df [coluna].mean ()) / df [coluna].std ()
Impressão (DF)

Resultado:

Criamos um quadro de dados dummy e imprimimos esse dataframe.

Calculamos a média da coluna e a subtraímos da coluna. Em seguida, dividimos o valor da coluna com o desvio padrão.

Imprimos os dados normalizados entre -1 e 1.

Conclusão: Vimos diferentes tipos de métodos normalizados. Entre eles, Sklearn é muito famoso por apoiar o aprendizado de máquina. Mas isso depende dos requisitos do usuário. Às vezes, o recurso de pandas para normalizar dados é suficiente. Não podemos dizer que existem apenas métodos acima de normalizar. Existem inúmeros métodos para fazer normalização de dados que também dependem do seu tipo de dados, como imagens, numérico, texto, etc. Nós nos concentramos nesse dado numérico e python.