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 - Regressão Múltipla


Regressão múltipla

A regressão múltipla é como a regressão linear , mas com mais de um valor independente, o que significa que tentamos prever um valor com base em duas ou mais variáveis.

Dê uma olhada no conjunto de dados abaixo, ele contém algumas informações sobre carros.

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

Podemos prever a emissão de CO2 de um carro com base no tamanho do motor, mas com a regressão múltipla podemos incluir mais variáveis, como o peso do carro, para tornar a previsão mais precisa.


Como funciona?

Em Python temos módulos que farão o trabalho para nós. Comece importando o módulo Pandas.

import pandas

Saiba mais sobre o módulo Pandas em nosso Tutorial Pandas .

O módulo Pandas nos permite ler arquivos csv e retornar um objeto DataFrame.

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

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

Em seguida, faça uma lista dos valores independentes e chame essa variável X.

Coloque os valores dependentes em uma variável chamada y.

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

Dica: É comum nomear a lista de valores independentes com X maiúsculo e a lista de valores dependentes com y minúsculo.

Usaremos alguns métodos do módulo sklearn, então teremos que importar esse módulo também:

from sklearn import linear_model

A partir do módulo sklearn, usaremos o LinearRegression()método para criar um objeto de regressão linear.

Este objeto tem um método chamado fit()que toma os valores independentes e dependentes como parâmetros e preenche o objeto de regressão com dados que descrevem o relacionamento:

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

Agora temos um objeto de regressão que está pronto para prever os valores de CO2 com base no peso e volume de um carro:

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

Exemplo

Veja o exemplo completo em ação:

import pandas
from sklearn import linear_model

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

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

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

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

print(predictedCO2)

Resultado:

[107.2087328]

Previmos que um carro com motor de 1,3 litro e peso de 2.300 kg liberará aproximadamente 107 gramas de CO2 por cada quilômetro percorrido.



Coeficiente

O coeficiente é um fator que descreve a relação com uma variável desconhecida.

Exemplo: se xé uma variável, então 2xé xduas vezes. xé a variável desconhecida e o número 2é o coeficiente.

Neste caso, podemos pedir o valor do coeficiente de peso em relação ao CO2 e volume em relação ao CO2. A(s) resposta(s) que obtemos nos diz o que aconteceria se aumentarmos ou diminuirmos um dos valores independentes.

Exemplo

Imprima os valores de coeficiente do objeto de regressão:

import pandas
from sklearn import linear_model

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

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

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

print(regr.coef_)

Resultado:

[0.00755095 0.00780526]

Resultado explicado

A matriz de resultados representa os valores dos coeficientes de peso e volume.

Peso: 0,00755095
Volume: 0,00780526

Esses valores nos dizem que se o peso aumentar em 1kg, a emissão de CO2 aumenta em 0,00755095g.

E se o tamanho do motor (Volume) aumenta em 1 cm 3 , a emissão de CO2 aumenta em 0,00780526 g.

Eu acho que é um palpite justo, mas vamos testá-lo!

Já prevíamos que se um carro com motor de 1300cm 3 pesa 2300kg, a emissão de CO2 será de aproximadamente 107g.

E se aumentarmos o peso com 1000kg?

Exemplo

Copie o exemplo anterior, mas altere o peso de 2300 para 3300:

import pandas
from sklearn import linear_model

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

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

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

predictedCO2 = regr.predict([[3300, 1300]])

print(predictedCO2)

Resultado:

[114.75968007]

Previmos que um carro com motor de 1,3 litro e peso de 3.300 kg liberará aproximadamente 115 gramas de CO2 por cada quilômetro percorrido.

O que mostra que o coeficiente de 0,00755095 está correto:

107,2087328 + (1000 * 0,00755095) = 114,75968