Veamos cómo predecir el índice de calidad del aire usando Python. El AQI se calcula en función de la cantidad de contaminantes químicos. Mediante el uso de aprendizaje automático, podemos predecir el AQI.
AQI: El índice de calidad del aire es un índice para informar la calidad del aire diariamente. En otras palabras, es una medida de cómo la contaminación del aire afecta la salud en un corto período de tiempo. El AQI se calcula en base a la concentración promedio de un contaminante en particular medido durante un intervalo de tiempo estándar. Generalmente, el intervalo de tiempo es de 24 horas para la mayoría de los contaminantes, 8 horas para el monrust de carbono y el ozono.
Podemos ver cómo es la contaminación del aire mirando el AQI
Nivel de ICA | Rango de ICA |
Bueno | 0 – 50 |
Moderado | 51 – 100 |
Insalubre | 101 – 150 |
Insalubre para personas fuertes | 151 – 200 |
Peligroso | 201+ |
Busquemos el AQI basado en contaminantes químicos utilizando el concepto de aprendizaje automático.
Nota: Para descargar el conjunto de datos, haga clic aquí .
Descripción del conjunto de datos
Contiene 8 atributos, de los cuales 7 son cantidades de contaminación química y uno es el índice de calidad del aire. PM2.5-PROMEDIO, PM10-PROMEDIO, NO2-PROMEDIO, NH3-PROMEDIO, SO2-AG, OZONO-PROMEDIO son atributos independientes. air_quality_index es un atributo dependiente. Dado que air_quality_index se calcula en función de los 7 atributos.
Como los datos son numéricos y no faltan valores en los datos, no se requiere preprocesamiento. Nuestro objetivo es predecir el AQI, por lo que esta tarea es Clasificación o regresión. Entonces, como nuestra etiqueta de clase es continua, se requiere una técnica de regresión .
La regresión es una técnica de aprendizaje supervisado que ajusta los datos en un rango determinado. Ejemplo de técnicas de regresión en Python:
- Regresor de bosque aleatorio
- Regresor de impulso de Ada
- Regresor de embolsado
- Regresión lineal, etc
Python3
# importing pandas module for data frame import pandas as pd # loading dataset and storing in train variable train=pd.read_csv('AQI.csv') # display top 5 data train.head()
Producción:
Python3
# importing Randomforest from sklearn.ensemble import AdaBoostRegressor from sklearn.ensemble import RandomForestRegressor # creating model m1 = RandomForestRegressor() # separating class label and other attributes train1 = train.drop(['air_quality_index'], axis=1) target = train['air_quality_index'] # Fitting the model m1.fit(train1, target) '''RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse', max_depth=None, max_features='auto', max_leaf_nodes=None, max_samples=None, min_impurity_decrease=0.0, min_impurity_split=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=None, oob_score=False, random_state=None, verbose=0, warm_start=False)''' # calculating the score and the score is 97.96360799890066% m1.score(train1, target) * 100 # predicting the model with other values (testing the data) # so AQI is 123.71 m1.predict([[123, 45, 67, 34, 5, 0, 23]]) # Adaboost model # importing module # defining model m2 = AdaBoostRegressor() # Fitting the model m2.fit(train1, target) '''AdaBoostRegressor(base_estimator=None, learning_rate=1.0, loss='linear', n_estimators=50, random_state=None)''' # calculating the score and the score is 96.15377360010211% m2.score(train1, target)*100 # predicting the model with other values (testing the data) # so AQI is 94.42105263 m2.predict([[123, 45, 67, 34, 5, 0, 23]])
Producción:
Por esto, podemos decir que según los datos de prueba dados, obtuvimos 123 y 95, por lo que el AQI no es saludable.
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA