Tutorial Python

Python HOME Introdução ao Python Introdução ao Python Sintaxe do Python Comentários do Python Variáveis ​​Python Tipos de dados Python Números Python Conversão de Python Strings Python Booleanos Python Operadores Python Listas Python Tuplas Python Conjuntos Python Dicionários Python Python Se... Senão Python While Loops Python para loops Funções do Python Python Lambda Matrizes Python Classes/objetos Python Herança Python Iteradores Python Escopo do Python Módulos Python Datas em Python Matemática Python Python JSON Python RegEx Python PIP Python Tente...Exceto Entrada do usuário Python Formatação de String Python

Manipulação de arquivos

Manipulação de arquivos Python Arquivos de leitura do Python Python Gravar/Criar Arquivos Arquivos de exclusão do Python

Módulos Python

Tutorial NumPy Passo a passo do Panda Tutorial Scipy

Python Matplotlib

Introdução ao Matplotlib Introdução ao Matplotlib Matplotlib Pyplot Plotagem Matplotlib Marcadores Matplotlib Linha Matplotlib Etiquetas Matplotlib Grade Matplotlib Subtramas do Matplotlib Dispersão Matplotlib Barras Matplotlib Histogramas Matplotlib Gráficos de pizza Matplotlib

Aprendizado de máquina

Começando Modo Mediano Médio Desvio padrão Percentil Distribuição de dados Distribuição normal de dados Gráfico de dispersão Regressão linear Regressão Polinomial Regressão múltipla Régua Treinar/Teste Árvore de decisão

Python MySQL

Introdução ao MySQL MySQL Criar banco de dados MySQL Criar Tabela Inserir MySQL Seleção do MySQL MySQL Onde MySQL Ordenar por Excluir MySQL Tabela de descarte do MySQL Atualização do MySQL Limite do MySQL Associação do MySQL

Python MongoDB

Introdução ao MongoDB Banco de dados de criação do MongoDB Criar coleção do MongoDB Inserir MongoDB MongoDB Find Consulta do MongoDB Classificação do MongoDB Excluir MongoDB Coleção de Drops do MongoDB Atualização do MongoDB Limite do MongoDB

Referência Python

Visão geral do Python Funções incorporadas do Python Métodos de string do Python Métodos de lista do Python Métodos de dicionário Python Métodos de Tupla Python Métodos de conjunto do Python Métodos de arquivo Python Palavras-chave Python Exceções do Python Glossário Python

Referência do Módulo

Módulo Aleatório Módulo de solicitações Módulo de Estatísticas Módulo de matemática cMódulo de matemática

Python Como fazer

Remover duplicatas de lista Inverter uma string Adicionar dois números

Exemplos de Python

Exemplos de Python Compilador Python Exercícios de Python Teste do Python Certificado Python

Aprendizado de máquina - Escala


Recursos de escala

Quando seus dados têm valores diferentes e até unidades de medida diferentes, pode ser difícil compará-los. O que é quilogramas comparado a metros? Ou altitude em relação ao tempo?

A resposta para este problema é a escala. Podemos dimensionar os dados em novos valores que são mais fáceis de comparar.

Dê uma olhada na tabela abaixo, é o mesmo conjunto de dados que usamos no capítulo de regressão múltipla , mas desta vez a coluna de volume contém valores em litros em vez de cm 3 (1,0 em vez de 1000).

O arquivo é apenas para fins de teste, você pode baixá-lo aqui: cars2.csv

Carro Modelo Volume Peso CO2
Toyota Aygo 1,0 790 99
Mitsubishi Estrela do Espaço 1.2 1160 95
Skoda Citigo 1,0 929 95
Fiat 500 0,9 865 90
Mini Tanoeiro 1,5 1140 105
VW Acima! 1,0 929 105
Skoda Fábia 1,4 1109 90
Mercedes Uma aula 1,5 1365 92
Ford Festa 1,5 1112 98
Audi A1 1,6 1150 99
Hyundai I20 1.1 980 99
Suzuki Rápido 1.3 990 101
Ford Festa 1,0 1112 99
Honda Cívico 1,6 1252 94
Hyundai I30 1,6 1326 97
Opel Astra 1,6 1330 97
BMW 1 1,6 1365 99
Mazda 3 2.2 1280 104
Skoda Rápido 1,6 1119 104
Ford Foco 2,0 1328 105
Ford Mondeo 1,6 1584 94
Opel Insígnia 2,0 1428 99
Mercedes Classe C 2.1 1365 99
Skoda Otávia 1,6 1415 99
Volvo S60 2,0 1415 99
Mercedes CLA 1,5 1465 102
Audi A4 2,0 1490 104
Audi A6 2,0 1725 114
Volvo V70 1,6 1523 109
BMW 5 2,0 1705 114
Mercedes Classe E 2.1 1605 115
Volvo XC70 2,0 1746 117
Ford B-Max 1,6 1235 104
BMW 2 1,6 1390 108
Opel Zafira 1,6 1405 109
Mercedes SLK 2,5 1395 120

Pode ser difícil comparar o volume 1.0 com o peso 790, mas se dimensionarmos ambos em valores comparáveis, podemos ver facilmente o quanto um valor é comparado ao outro.

Existem diferentes métodos para dimensionar dados, neste tutorial usaremos um método chamado padronização.

O método de padronização usa esta fórmula:

z = (x - u) / s

Onde zé o novo valor, xé o valor original, ué a média e sé o desvio padrão.

Se você pegar a coluna de peso do conjunto de dados acima, o primeiro valor será 790 e o valor dimensionado será:

(790 - ) / = -2.1

Se você pegar a coluna de volume do conjunto de dados acima, o primeiro valor será 1,0 e o valor dimensionado será:

(1.0 - ) / = -1.59

Agora você pode comparar -2,1 com -1,59 em vez de comparar 790 com 1,0.

Você não precisa fazer isso manualmente, o módulo Python sklearn possui um método chamado StandardScaler() que retorna um objeto Scaler com métodos para transformar conjuntos de dados.

Exemplo

Dimensione todos os valores nas colunas Peso e Volume:

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]

scaledX = scale.fit_transform(X)

print(scaledX)

Resultado:

Observe que os dois primeiros valores são -2,1 e -1,59, o que corresponde aos nossos cálculos:

[[-2.10389253 -1.59336644]
 [-0.55407235 -1.07190106]
 [-1.52166278 -1.59336644]
 [-1.78973979 -1.85409913]
 [-0.63784641 -0.28970299]
 [-1.52166278 -1.59336644]
 [-0.76769621 -0.55043568]
 [ 0.3046118  -0.28970299]
 [-0.7551301  -0.28970299]
 [-0.59595938 -0.0289703 ]
 [-1.30803892 -1.33263375]
 [-1.26615189 -0.81116837]
 [-0.7551301  -1.59336644]
 [-0.16871166 -0.0289703 ]
 [ 0.14125238 -0.0289703 ]
 [ 0.15800719 -0.0289703 ]
 [ 0.3046118  -0.0289703 ]
 [-0.05142797  1.53542584]
 [-0.72580918 -0.0289703 ]
 [ 0.14962979  1.01396046]
 [ 1.2219378  -0.0289703 ]
 [ 0.5685001   1.01396046]
 [ 0.3046118   1.27469315]
 [ 0.51404696 -0.0289703 ]
 [ 0.51404696  1.01396046]
 [ 0.72348212 -0.28970299]
 [ 0.8281997   1.01396046]
 [ 1.81254495  1.01396046]
 [ 0.96642691 -0.0289703 ]
 [ 1.72877089  1.01396046]
 [ 1.30990057  1.27469315]
 [ 1.90050772  1.01396046]
 [-0.23991961 -0.0289703 ]
 [ 0.40932938 -0.0289703 ]
 [ 0.47215993 -0.0289703 ]
 [ 0.4302729   2.31762392]]


Prever valores de CO2

A tarefa no capítulo de Regressão Múltipla era prever a emissão de CO2 de um carro quando você sabia apenas seu peso e volume.

Quando o conjunto de dados for dimensionado, você terá que usar a escala ao prever valores:

Exemplo

Preveja a emissão de CO2 de um carro de 1,3 litro que pesa 2300 kg:

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

scaledX = scale.fit_transform(X)

regr = linear_model.LinearRegression()
regr.fit(scaledX, y)

scaled = scale.transform([[2300, 1.3]])

predictedCO2 = regr.predict([scaled[0]])
print(predictedCO2)

Resultado:

[107.2087328]