Tutorial de Python

Pitón INICIO Introducción a Python Python Empezar Sintaxis de Python Comentarios de Python Variables de Python Tipos de datos de Python Números de Python Fundición de Python Cadenas de pitón Booleanos de Python Operadores de Python Listas de Python Tuplas de Python Conjuntos de Python Diccionarios de Python Python si... si no Ciclos while de Python Python para bucles Funciones de Python pitón lambda Matrices de Python Clases/Objetos de Python Herencia de Python Iteradores de Python Alcance de Python Módulos de Python Fechas de Python Python Matemáticas PythonJSON Python expresión regular PIP de Python Prueba Python... Excepto Entrada de usuario de Python Formato de cadenas de Python

Manejo de archivos

Manejo de archivos de Python Python Leer archivos Python escribir/crear archivos Python Eliminar archivos

Módulos de Python

Tutorial NumPy Pandas Tutorial SciPy Tutorial

Matplotlib de Python

Introducción a Matplotlib Matplotlib Comenzar Pyplot de Matplotlib Trazado de Matplotlib Marcadores Matplotlib Línea Matplotlib Etiquetas Matplotlib Cuadrícula Matplotlib Subparcelas de Matplotlib Dispersión de Matplotlib Barras Matplotlib Histogramas de Matplotlib Gráficos circulares de Matplotlib

Aprendizaje automático

Empezando Media Mediana Moda Desviación Estándar percentil Distribución de datos Distribución normal de datos Gráfico de dispersión Regresión lineal Regresión polinomial Regresión múltiple Escala Entrenar/Prueba Árbol de decisión

pitón mysql

MySQL Empezar Crear base de datos MySQL Crear tabla MySQL Insertar MySQL Seleccionar MySQL mysql donde MySQL Ordenar por MySQL Eliminar Tabla desplegable de MySQL Actualización de MySQL Límite MySQL unirse a mysql

Python MongoDB

MongoDB Empezar MongoDB Crear base de datos MongoDB Crear colección Insertar MongoDB MongoDB Buscar Consulta MongoDB MongoDB Ordenar Eliminar MongoDB Colección de eliminación de MongoDB Actualización de MongoDB Límite de MongoDB

Referencia de Python

Descripción general de Python Funciones integradas de Python Métodos de cadenas de Python Métodos de lista de Python Métodos de diccionario de Python Métodos de tupla de Python Métodos de conjuntos de Python Métodos de archivos de Python Palabras clave de Python Excepciones de Python Glosario de Python

Referencia del módulo

Módulo aleatorio Módulo de Solicitudes Módulo de estadísticas Módulo Matemático cMódulo Matemático

Python Cómo

Eliminar duplicados de lista Invertir una cadena Añadir dos números

Ejemplos de Python

Ejemplos de Python Compilador de Python Ejercicios de pitón Cuestionario de Python Certificado de Python

Aprendizaje automático: regresión múltiple


Regresión múltiple

La regresión múltiple es como la regresión lineal , pero con más de un valor independiente, lo que significa que tratamos de predecir un valor en función de dos o más variables.

Eche un vistazo al conjunto de datos a continuación, contiene información sobre automóviles.

Carro Modelo Volumen Peso CO2
Toyota aygo 1000 790 99
mitsubishi estrella espacial 1200 1160 95
Skoda Cítigo 1000 929 95
Fíat 500 900 865 90
Mini cobre 1500 1140 105
vw ¡Arriba! 1000 929 105
Skoda Fabia 1400 1109 90
mercedes Una clase 1500 1365 92
Vado Fiesta 1500 1112 98
Audi A1 1600 1150 99
hyundai I20 1100 980 99
Suzuki Rápido 1300 990 101
Vado Fiesta 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
Vado Enfocar 2000 1328 105
Vado Mondeo 1600 1584 94
Opel Insignias 2000 1428 99
mercedes Clase C 2100 1365 99
Skoda octavia 1600 1415 99
volvo S60 2000 1415 99
mercedes ALC 1500 1465 102
Audi A4 2000 1490 104
Audi A6 2000 1725 114
volvo V70 1600 1523 109
BMW 5 2000 1705 114
mercedes Clase E 2100 1605 115
volvo XC70 2000 1746 117
Vado B-máx 1600 1235 104
BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
mercedes SLK 2500 1395 120

Podemos predecir las emisiones de CO2 de un automóvil en función del tamaño del motor, pero con la regresión múltiple podemos agregar más variables, como el peso del automóvil, para que la predicción sea más precisa.


¿Como funciona?

En Python tenemos módulos que harán el trabajo por nosotros. Comience importando el módulo Pandas.

import pandas

Aprenda sobre el módulo Pandas en nuestro Tutorial de Pandas .

El módulo Pandas nos permite leer archivos csv y devolver un objeto DataFrame.

El archivo está destinado solo para fines de prueba, puede descargarlo aquí: cars.csv

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

Luego haz una lista de los valores independientes y llama a esta variable X.

Ponga los valores dependientes en una variable llamada y.

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

Sugerencia: es común nombrar la lista de valores independientes con una X mayúscula y la lista de valores dependientes con una y minúscula.

Usaremos algunos métodos del módulo sklearn, por lo que también tendremos que importar ese módulo:

from sklearn import linear_model

Desde el módulo sklearn usaremos el LinearRegression()método para crear un objeto de regresión lineal.

Este objeto tiene un método llamado fit()que toma los valores independientes y dependientes como parámetros y llena el objeto de regresión con datos que describen la relación:

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

Ahora tenemos un objeto de regresión que está listo para predecir los valores de CO2 en función del peso y el volumen de un automóvil:

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

Ejemplo

Vea el ejemplo completo en acción:

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]

Hemos pronosticado que un coche con motor de 1,3 litros y un peso de 2300 kg, emitirá aproximadamente 107 gramos de CO2 por cada kilómetro recorrido.



Coeficiente

El coeficiente es un factor que describe la relación con una variable desconocida.

Ejemplo: si xes una variable, entonces 2xes xdos veces. xes la variable desconocida, y el número 2es el coeficiente.

En este caso, podemos pedir el valor del coeficiente de peso frente a CO2, y el de volumen frente a CO2. La(s) respuesta(s) que obtenemos nos dice qué pasaría si aumentamos o disminuimos uno de los valores independientes.

Ejemplo

Imprime los valores de los coeficientes del objeto de regresión:

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

La matriz de resultados representa los valores de los coeficientes de peso y volumen.

Peso: 0,00755095
Volumen: 0,00780526

Estos valores nos dicen que si el peso aumenta en 1 kg, la emisión de CO2 aumenta en 0,00755095 g.

Y si el tamaño del motor (Volumen) aumenta en 1 cm 3 , la emisión de CO2 aumenta en 0,00780526 g.

Creo que es una suposición justa, ¡pero vamos a probarlo!

Ya hemos pronosticado que si un coche con un motor de 1300cm3 pesa 2300kg, la emisión de CO2 será de aproximadamente 107g.

¿Qué pasa si aumentamos el peso con 1000 kg?

Ejemplo

Copie el ejemplo anterior, pero cambie el peso de 2300 a 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]

Hemos pronosticado que un coche con motor de 1,3 litros y un peso de 3300 kg, emitirá aproximadamente 115 gramos de CO2 por cada kilómetro recorrido.

Lo que demuestra que el coeficiente de 0.00755095 es correcto:

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