Aplicación del aprendizaje automático al análisis de emisiones de combustible

Bienvenidos a mi blog, donde expreso mi interés por aplicar el aprendizaje automático para identificar soluciones a largo plazo a problemas ambientales. Hoy me gustaría hablar sobre uno de los temas más apremiantes de nuestro tiempo: las emisiones de gasolina. Como sabrá, las emisiones de combustible son una fuente importante de gases de efecto invernadero que contribuyen al cambio climático y la contaminación del aire. Pero, ¿qué podemos hacer para reducirlos? ¿Cómo podemos elegir los mejores modelos de automóviles para nuestros requisitos y el medio ambiente? Para abordar estas preocupaciones, usaré el aprendizaje automático para analizar y estimar las emisiones de CO2 de varios automóviles según el tamaño del motor, el número de cilindros y el uso de combustible. El aprendizaje automático es una técnica poderosa para descubrir patrones e información ocultos en los datos. En este proyecto, demostraré cómo utilizar el aprendizaje automático para investigar un conjunto de datos que incluye estadísticas sobre el consumo de combustible y las emisiones de CO2 para varios modelos de automóviles. Aprenderemos a crear y evaluar modelos de aprendizaje automático que pueden anticipar y explicar las emisiones de CO2 de varios automóviles. ¿Estás listo para emprender este increíble viaje conmigo? ¡Vamos a empezar esta fiesta!

Comenzamos importando el conjunto de datos, que contiene información sobre el consumo de combustible y las emisiones de CO2 de varios automóviles. El conjunto de datos incluye información como el tamaño del motor, el número de cilindros, el consumo total de combustible y las emisiones de CO2. Veamos las primeras filas del conjunto de datos.

Para este ejemplo, obtengamos el conjunto de datos «Emisión de combustible» del repositorio de aprendizaje automático de UCI.

Primeras cinco filas

El conjunto de datos tiene 13 columnas y 1067 filas. Para nuestro estudio, nos centraremos en las columnas ‘TAMAÑO DEL MOTOR’, ‘CILINDROS’, ‘COMBUSTIBLE_COMB’ y ‘EMISIONES DE CO2’.

También te puede interesarEl Poder de la Inteligencia Artificial en la Creación de Presentaciones: Optimización y Eficiencia

Antes de comenzar a crear modelos de aprendizaje automático, hagamos un análisis exploratorio de datos para comprender mejor cómo se relacionan las variables entre sí. Usaremos una variedad de visualizaciones para ayudarnos a comprender mejor los datos.

Realicemos un análisis exploratorio de datos para comprender mejor cómo se relacionan las variables entre sí antes de comenzar a desarrollar modelos de aprendizaje automático. Para comprender mejor los datos, emplearemos una variedad de visualizaciones.

Histogramas

Podemos trazar histogramas para visualizar la distribución de las variables. Deben mostrarse los histogramas para «CILINDROS», «TAMAÑO DEL MOTOR», «EMISIONES DE CO2» y «CONSUMO DE COMBUSTIBLE_COMB»:

Histograma

La distribución de cada variable se representa visualmente a través de los histogramas. Para cada atributo, podemos ver su frecuencia y rango de valor.

También te puede interesar Compuse una canción usando solo IA: así es como resultó Compuse una canción usando solo IA: así es como resultó

Gráfico de dispersión

Usando diagramas de dispersión, investiguemos ahora las conexiones entre las “EMISIONES DE CO2” y las otras variables. Para “CONSUMO_COMBUSTIBLE_COMB frente a EMISIONES DE CO2”, “TAMAÑO DEL MOTOR frente a EMISIONES DE CO2” y “CILINDROS frente a EMISIONES DE CO2”, crearemos diagramas de dispersión.

CONSUMO DE COMBUSTIBLE_COMB frente a EMISIONES DE CO2
TAMAÑO DEL MOTOR vs. EMISIONES DE CO2
CILINDROS vs. EMISIONES DE CO2

Podemos ver los vínculos entre las variables y detectar cualquier tendencia o patrón con la ayuda de los diagramas de dispersión. Podemos ver cómo los distintos tamaños de motor, el número de cilindros y los niveles de consumo de combustible afectan las emisiones de CO2.

Ahora vamos a crear modelos de regresión para pronosticar las emisiones de CO2 en función de las funciones que ya están disponibles. Comenzaremos observando un modelo de regresión lineal simple antes de pasar a los modelos de regresión lineal múltiple y regresión polinomial.

Primero preparemos nuestros datos antes de comenzar el proceso de entrenamiento del modelo. Nuestro conjunto de datos se dividirá en conjuntos de entrenamiento y prueba, con el 70 % de los datos utilizados para entrenar el modelo y el 30 % restante para evaluar su eficacia.

También te puede interesar El futuro de Windows 11 es la IA, te guste o no El futuro de Windows 11 es la IA, te guste o no

Ahora, podemos continuar con el entrenamiento del modelo.

Regresión lineal simple

Para entrenar nuestro modelo, usaremos el enfoque de regresión lineal de la biblioteca scikit-learn. El modelo de regresión lineal supone que las variables de entrada (tamaño del motor) y salida (emisiones de combustible) tienen una relación lineal.

Entrenamiento modelo

Usando la característica ‘ENGINESIZE’ para estimar las emisiones de CO2, primero entrenaremos un modelo de regresión lineal simple.

Al ajustar una línea que represente con mayor precisión la correlación entre el tamaño del motor y las emisiones de combustible, se entrena el modelo. Los coeficientes muestran cómo varían las emisiones de combustible con un aumento en el tamaño del motor como la pendiente de la línea. La intersección de la línea con el eje y está indicada por la intersección.

También te puede interesar Perplexity AI es la mejor herramienta de búsqueda de Google basada en IA que no estás utilizando Perplexity AI es la mejor herramienta de búsqueda de Google basada en IA que no estás utilizando

Evaluación del modelo

Utilizando los datos de prueba, calcularemos una serie de medidas, incluido el error absoluto medio (MAE), el error cuadrático medio (MSE) y la puntuación R-cuadrada, para evaluar la eficacia de nuestro modelo entrenado.

Producción

La diferencia absoluta media entre las emisiones de combustible previstas y los valores reales se representa mediante el error absoluto medio (MAE). El promedio de las diferencias cuadráticas entre los valores esperados y reales se mide por el error cuadrático medio (MSE). La puntuación R-cuadrado muestra el porcentaje de la varianza de la variable objetivo que el modelo puede tener en cuenta.

Modelo de regresión lineal múltiple

Examinaremos cómo se puede usar la regresión lineal múltiple para pronosticar las emisiones de combustible. Para pronosticar la variable objetivo, que son las emisiones de CO2, la regresión lineal múltiple tiene en cuenta una serie de variables de entrada, incluida la cantidad de cilindros, el tamaño del motor y el consumo de combustible.

Entrenamiento modelo

Emplearemos la técnica LinearRegression de la biblioteca scikit-learn para entrenar el modelo de regresión lineal múltiple.

Consideraremos las funciones ‘CYLINDERS’, ‘ENGINESIZE’ y ‘FUELCONSUMPTION_COMB’.

Tomamos la variable objetivo (‘CO2EMISSIONS’) y las características de entrada (‘CYLINDERS’, ‘ENGINESIZE’ y ‘FUELCONSUMPTION_COMB’) del conjunto de datos de entrenamiento y las convertimos en arreglos NumPy. Establecemos una instancia de clase de regresión lineal y ajustamos el modelo al conjunto de datos de entrenamiento. Es necesario estimar los coeficientes (pesos) necesarios para reducir la desviación cuadrática total entre los valores objetivo esperados y reales.

Evaluación del modelo

Evaluaremos la efectividad de nuestro modelo de regresión lineal múltiple utilizando una serie de métricas, como la suma residual de cuadrados (RSS) y la puntuación de varianza, también conocida como puntuación R-cuadrado.

La evaluación del modelo utilizando métricas como la suma residual de cuadrados (RSS) y la puntuación de varianza proporciona información sobre la precisión y el rendimiento del modelo de regresión lineal múltiple. Un RSS más bajo y una puntuación de varianza más alta indican un mejor rendimiento predictivo y un mejor ajuste de los datos.

Modelo de regresión lineal polinomial

Investigaremos la regresión polinomial como una estrategia diferente para pronosticar las emisiones de combustible. Podemos identificar correlaciones no lineales entre la variable de entrada (tamaño del motor) y la variable objetivo (emisiones de combustible) mediante regresión polinomial. Usaremos la clase LinearRegression del módulo sklearn.linear_model y la clase PolynomialFeatures del módulo sklearn.preprocessing.

Las entidades de entrada se transformarán utilizando términos polinómicos para capturar la relación no lineal. Aquí, se usará un polinomio de segundo grado como ejemplo:

poly = PolynomialFeatures(grado=2) train_x_poly = poly.fit_transform(train_x)

La clase PolynomialFeatures toma los poderes y las interacciones de las características originales para producir un nuevo conjunto de características. En este caso, la función original del tamaño del motor (ENGINESIZE), su cuadrado y el término de interacción entre la función original y su cuadrado se producen como nuevas funciones a través del parámetro grado=2.

Producción

Entrenamiento modelo

A continuación, entrenaremos el modelo de regresión polinomial usando los datos de entrenamiento transformados.

clf = modelo_lineal.RegresiónLineal()
tren_y_ = clf.fit(tren_x_poly, tren_y)

Los datos de entrenamiento modificados (train_x_poly) y la variable de destino coincidente (train_y) se utilizan para ajustar el modelo de regresión lineal.

Visualización de modelos

Podemos trazar la curva de regresión en un diagrama de dispersión para mostrar el modelo de regresión polinomial:

En el diagrama de dispersión, los tamaños de los motores (ENGINESIZE) se comparan con los niveles reales de emisiones de combustible (CO2EMISSIONS). Al reflejar la relación no lineal, la representación de la ecuación polinomial de la curva de regresión demuestra cómo el modelo ajusta con precisión los datos.

Evaluación del modelo

Podemos evaluar el rendimiento del modelo de regresión polinomial utilizando varias métricas, incluido el error absoluto medio (MAE), la suma residual del error cuadrático (RSS) y la precisión (puntaje R-cuadrado)

El MAE calcula la diferencia absoluta promedio entre las emisiones de combustible calculadas y las emisiones reales. El RSS mide la diferencia cuadrática promedio entre los valores esperados y los reales. El valor R-cuadrado, que significa precisión, muestra qué parte de la variación en las emisiones de combustible explica el modelo.

Usando técnicas de aprendizaje automático, examinamos un conjunto de datos sobre el uso de combustible y las emisiones de CO2 para esta investigación. Los datos se examinaron mediante histogramas y gráficos de dispersión, se encontraron correlaciones entre las variables y se crearon modelos de regresión para pronosticar las emisiones de CO2.

La comprensión de las conexiones entre el tamaño del motor y las emisiones de CO2 fue posible gracias a los modelos de regresión lineal. Se agregaron parámetros adicionales como el número de cilindros y el consumo de combustible al modelo de regresión lineal múltiple para mejorar las predicciones. Finalmente, se incluyeron relaciones no lineales en el modelo de regresión polinomial, lo que permitió predicciones más precisas.

Podemos aprender lecciones importantes y crear modelos utilizando el aprendizaje automático para analizar los datos de emisiones de combustible, lo que ayudará al sector del automóvil a adoptar prácticas más respetuosas con el medio ambiente.

Scroll al inicio