Predicción de CO2
Aprendizaje Supervisado
--2023-02-25 19:14:01-- https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv
Resolving cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)... 169.63.118.104
Connecting to cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)|169.63.118.104|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 72629 (71K) [text/csv]
Saving to: ‘FuelConsumption.csv’
FuelConsumption.csv 100%[===================>] 70.93K --.-KB/s in 0.001s
2023-02-25 19:14:01 (66.0 MB/s) - ‘FuelConsumption.csv’ saved [72629/72629]
MODELO e.g. 2014 MOTOR e.g. Acura MODELO e.g. ILX CLASE DE VEHICULO e.g. SUV TAMAÑO DE LA MAQUINA e.g. 4.7 CILINDROS e.g 6 TRANSMISIÓN e.g. A6U CONSUMO COMBUSTIBLE CITY(L/100 km) e.g. 9.9 CONDUMO COMBUSTIBLE HWY (L/100 km) e.g. 8.9 CONSUMO DE COMBUSTIBLE COMB (L/100 km) e.g. 9.2 CO2 EMISSIONS (g/km) e.g. 182 --> low --> 0
PROCESAMIENTO DE DATOS
0
2014
ACURA
1
2014
ACURA
2
2014
ACURA
3
2014
ACURA
4
2014
ACURA
5
2014
ACURA
6
2014
ACURA
7
2014
ACURA
8
2014
ACURA
9
2014
ACURA
Exploramos estadísticamente
count
1067.0
1067.0
mean
2014.0
3.346298031865042
std
0.0
1.4158950514240647
min
2014.0
1.0
25%
2014.0
2.0
50%
2014.0
3.4
75%
2014.0
4.3
max
2014.0
8.4
Información de los tipos de datos y homegeniedad
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1067 entries, 0 to 1066
Data columns (total 13 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 MODELYEAR 1067 non-null int64
1 MAKE 1067 non-null object
2 MODEL 1067 non-null object
3 VEHICLECLASS 1067 non-null object
4 ENGINESIZE 1067 non-null float64
5 CYLINDERS 1067 non-null int64
6 TRANSMISSION 1067 non-null object
7 FUELTYPE 1067 non-null object
8 FUELCONSUMPTION_CITY 1067 non-null float64
9 FUELCONSUMPTION_HWY 1067 non-null float64
10 FUELCONSUMPTION_COMB 1067 non-null float64
11 FUELCONSUMPTION_COMB_MPG 1067 non-null int64
12 CO2EMISSIONS 1067 non-null int64
dtypes: float64(4), int64(4), object(5)
memory usage: 108.5+ KB
Las 13 columnas tienes las mismas 1067 filas.
Dimensiones de la Data
El DataFrames está compuesto por 1067 filas y 13 columnas.
Verificamos los datos nulos
Correlación de Pearson
Segementamos las carecteristicas para profundizar más en el analisis
Nos concentraremos en las variables que guaradan más correlación con la variables de CO2EMISSION
0
2.0
4
1
2.4
4
2
1.5
4
3
3.5
6
4
3.5
6
5
3.5
6
6
3.5
6
7
3.7
6
8
3.7
6
CYLINDERS: Existen 5 tipos de tamaños de cilindros en los autos; 4, 6, 8, 10 y 12 cilindros. Los más frecuentes son los de 4 cilindros.
ENGINESIZE: el tamaño de la maquina más frecuentes son de 2 y 4 tiempos.
CO2EMISSIONS: las emisiones de CO2 más frecuentes se encuentran ubicadas entre 200 y 300 g/km.
Diagramamos la dispersión de las variables Consumo combustible_COMB y Emisiones de CO2
Regresión Lineal Simple
ENTRENAMIENTO-PRUEBA
Dividamos nuestro conjunto de datos en conjuntos de entrenamiento y prueba. El 80 % de todo el conjunto de datos se utilizará para entrenamiento y el 20 % para pruebas. Creamos una máscara para seleccionar filas aleatorias usando la función np.random.rand():
Modelo de Regresión Simple
Distribución del entrenamiento
Entrenamos el modelo
Coeficientes: [[38.77581176]]
Intecepto: [125.99573685]
Observamos los parámetros de la regresión lineal. La pendiente o coeficientes es ~39.19 y el intercepto es ~125.08.
Evaluación
Mean absolute error: 23.20
Residual sum of squares (MSE): 999.18
R2-score: 0.74
Probamos el modelo
La predicción de emision de C02 para 2.4 de ENGINESIZE es: 219.136
Regresión Lineal Multiple
Usaremos tres variables:
x1: ENGINESIZE
x2: CYLINDERS
x3: FUELCONSUMPTION_COMB
Los parámetros son: [[11.95276152 6.61053771 9.63457808]]
Intecepto: [66.12956034]
θ0: 67.22 , θ1: 11.08, θ2: 7.35, θ3: 9.42
Evaluación de la predicción
Suma residual de cuadrados: 610.07
Puntuación de varianza: 0.86
/shared-libs/python3.9/py/lib/python3.9/site-packages/sklearn/base.py:443: UserWarning: X has feature names, but LinearRegression was fitted without feature names
warnings.warn(
Probamos el modelo
# Párametros de la ecuacion lineal θ0: 67.22 , θ1: 11.08, θ2: 7.35, θ3: 9.42
La predicción de emision de C02 para:
-2.5 ENGINESIZE
-4 CYLINDERS
-9.2 FUELCONSUMPTION_COMB es:
209.87599999999998
USAMOS ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY'
FUELCONSUMPTION_CITY 1067 non-null float64 9 FUELCONSUMPTION_HWY 1067 non-null float64 10 FUELCONSUMPTION_COMB 1067 non-null float64 11 FUELCONSUMPTION_COMB_MPG 1067 non-null int64 12 CO2EMISSIONS 1
Coefficients: [[10.9920066 6.80738791 6.64002216 2.79223331]]
Intercep: [65.44152433]
Residual sum of squares: 498.65
Variance score: 0.87
/shared-libs/python3.9/py/lib/python3.9/site-packages/sklearn/base.py:443: UserWarning: X has feature names, but LinearRegression was fitted without feature names
warnings.warn(
La predicción de emision de C02 para:
-2.5 ENGINESIZE
-4 CYLINDERS
-10.6 FUELCONSUMPTION_CITY es:
-7.5 FUELCONSUMPTION_HWY es:
183.89
Regresión Polinomial
Con la variable ENGINESIZE
Coeficientes: [[ 0. 49.09447924 -1.36977445]]
Intercepto: [109.74235774]
Evaluamos
Mean absolute error: 23.46
Residual sum of squares (MSE): 968.43
R2-score: 0.76
Coeficientes: [[ 0. 31.4253647 3.46995198 -0.39884123]]
Intercepto: [128.56786668]
Mean absolute error: 23.42
Residual sum of squares (MSE): 961.26
R2-score: 0.76