22-T67/keras_multi-attention.ipynb

1184 lines
1.8 MiB
Plaintext
Raw Permalink Normal View History

2023-03-30 10:25:44 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split\n",
"import matplotlib.pyplot as plt\n",
"#新增加的两行\n",
"from pylab import mpl\n",
"# 设置显示中文字体\n",
"mpl.rcParams[\"font.sans-serif\"] = [\"SimHei\"]\n",
"\n",
"mpl.rcParams[\"axes.unicode_minus\"] = False"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data = pd.read_excel('data/merge_ssr&MEIC&BUGS.xlsx')\n",
"data.head(2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data['date'] = pd.to_datetime(data['date'])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data.set_index('date', inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(48496, 51)"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.shape"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2880x2880 with 49 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(40, 40))\n",
"for index, col in enumerate(data.columns[:-1]):\n",
" if col != 'date' and col != 'wd':\n",
" plt.subplot(10,5,index+1)\n",
" plt.title(col)\n",
" plt.hist(data[col])"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [],
"source": [
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1728x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"corrmat = use_data[feature_cols + ['CO']].corr()\n",
"f, ax = plt.subplots(figsize=(24, 16))\n",
"sns.heatmap(corrmat, vmax=.4, square=True)"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"k = 10\n",
"cols = corrmat.nlargest(k, 'CO')['CO'].index\n",
"cm = np.corrcoef(data[cols].values.T)\n",
"sns.set(font_scale=1.25)\n",
"hm = sns.heatmap(cm, cbar=True, annot=True, square=True, fmt='.2f', annot_kws={'size': 10}, \n",
" yticklabels=cols.values, xticklabels=cols.values)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 130,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/zhaojh/miniconda3/envs/py37/lib/python3.7/site-packages/seaborn/axisgrid.py:2076: UserWarning: The `size` parameter has been renamed to `height`; please update your code.\n",
" warnings.warn(msg, UserWarning)\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1800x1800 with 110 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set()\n",
"sns.pairplot(data[cols], size = 2.5)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"out_cols = data.columns[:7].tolist()\n",
"feature_cols = [x for x in data.columns if x != 'wd' and 'agricultural' not in x and x!='NH3_power' and x not in out_cols]\n",
"len(feature_cols), len(out_cols)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"from tensorflow import keras\n",
"from tensorflow.keras import layers"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"os.environ['CUDA_DEVICE_ORDER'] = 'PCB_BUS_ID'\n",
"os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1'"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class TransformerBlock(layers.Layer):\n",
" def __init__(self, embed_dim, num_heads, ff_dim, rate=0.1):\n",
" super().__init__()\n",
" self.att = layers.MultiHeadAttention(num_heads=num_heads, key_dim=embed_dim)\n",
" self.ffn = keras.Sequential(\n",
" [layers.Dense(ff_dim, activation=\"relu\"), layers.Dense(embed_dim),]\n",
" )\n",
" self.layernorm1 = layers.LayerNormalization(epsilon=1e-6)\n",
" self.layernorm2 = layers.LayerNormalization(epsilon=1e-6)\n",
" self.dropout1 = layers.Dropout(rate)\n",
" self.dropout2 = layers.Dropout(rate)\n",
"\n",
" def call(self, inputs, training):\n",
" attn_output = self.att(inputs, inputs)\n",
" attn_output = self.dropout1(attn_output, training=training)\n",
" out1 = self.layernorm1(inputs + attn_output)\n",
" ffn_output = self.ffn(out1)\n",
" ffn_output = self.dropout2(ffn_output, training=training)\n",
" return self.layernorm2(out1 + ffn_output)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from tensorflow.keras import Model"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def build_multi_task(num_heads, ff_dim):\n",
" def build_output(transformer_block, lstm_out, out_name):\n",
" out = transformer_block(lstm_out)\n",
" out = layers.GlobalAveragePooling1D()(out)\n",
" out = layers.Dropout(0.1)(out)\n",
" out = layers.Dense(32, activation=\"relu\")(out)\n",
" out = layers.Dense(1, name=out_name, activation=\"sigmoid\")(out)\n",
" inputs = layers.Input(shape=(1,len(feature_cols)), name='input')\n",
" x = layers.Conv1D(filters=64, kernel_size=1, activation='relu')(inputs)\n",
" # x = layers.Dropout(rate=0.1)(x)\n",
" lstm_out = layers.Bidirectional(layers.LSTM(units=64, return_sequences=True))(x)\n",
" transformer_block = TransformerBlock(128, num_heads, ff_dim)\n",
"\n",
" pm25 = build_output(transformer_block, lstm_out, 'pm25')\n",
" pm10 = build_output(transformer_block, lstm_out, 'pm10')\n",
" so2 = build_output(transformer_block, lstm_out, 'so2')\n",
" no2 = build_output(transformer_block, lstm_out, 'no2')\n",
" o3 = build_output(transformer_block, lstm_out, 'o3')\n",
" co = build_output(transformer_block, lstm_out, 'co')\n",
"\n",
" model = Model(inputs=[inputs], outputs=[pm25, pm10, so2, no2, o3, co])\n",
" model.summary()\n",
" return model"
]
},
{
"cell_type": "code",
"execution_count": 131,
"metadata": {},
"outputs": [],
"source": [
"def build_model(num_heads, ff_dim):\n",
" inputs = layers.Input(shape=(1,len(feature_cols)), name='input')\n",
" x = layers.Conv1D(filters=64, kernel_size=1, activation='relu')(inputs)\n",
" # x = layers.Dropout(rate=0.1)(x)\n",
" lstm_out = layers.Bidirectional(layers.LSTM(units=64, return_sequences=True))(x)\n",
" transformer_block = TransformerBlock(128, num_heads, ff_dim)\n",
" x = transformer_block(lstm_out)\n",
" x = layers.GlobalAveragePooling1D()(x)\n",
" x = layers.Dropout(0.1)(x)\n",
" x = layers.Dense(32, activation=\"relu\")(x)\n",
" x = layers.Dropout(0.1)(x)\n",
" # task_1_branch = layers.Dense(1, name='PM25_out', activation=\"sigmoid\")(x)\n",
" # task_2_branch = layers.Dense(1, name='PM10_out', activation=\"sigmoid\")(x)\n",
" # task_3_branch = layers.Dense(1, name='SO2', activation=\"sigmoid\")(x)\n",
" # task_4_branch = layers.Dense(1, name='NO2', activation=\"sigmoid\")(x)\n",
" # task_5_branch = layers.Dense(1, name='O3', activation=\"sigmoid\")(x)\n",
" # # task_6_branch = layers.Dense(1, name='O3_8h', activation=\"sigmoid\")(x)\n",
" # task_6_branch = layers.Dense(1, name='CO', activation=\"sigmoid\")(x)\n",
" out = layers.Dense(1, name='out', activation=\"sigmoid\")(x)\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model: \"model_5\"\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"input (InputLayer) [(None, 1, 35)] 0 \n",
"_________________________________________________________________\n",
"conv1d_5 (Conv1D) (None, 1, 64) 2304 \n",
"_________________________________________________________________\n",
"bidirectional_5 (Bidirection (None, 1, 128) 66048 \n",
"_________________________________________________________________\n",
"transformer_block_5 (Transfo (None, 1, 128) 202640 \n",
"_________________________________________________________________\n",
"global_average_pooling1d_5 ( (None, 128) 0 \n",
"_________________________________________________________________\n",
"dropout_22 (Dropout) (None, 128) 0 \n",
"_________________________________________________________________\n",
"dense_17 (Dense) (None, 32) 4128 \n",
"_________________________________________________________________\n",
"dropout_23 (Dropout) (None, 32) 0 \n",
"_________________________________________________________________\n",
"out (Dense) (None, 1) 33 \n",
"=================================================================\n",
"Total params: 275,153\n",
"Trainable params: 275,153\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"model = build_model(3, 16)"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {},
"outputs": [],
"source": [
"from tensorflow.python.keras.utils.vis_utils import plot_model"
]
},
{
"cell_type": "code",
"execution_count": 135,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiQAAANHCAYAAAAG5EYwAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeVyU5foG8GuAYV9UZHNFRdE0cd93zSUtN8QVlyytzFTSNiv95VIdd0+mledomSVoR05mamaeckFTc8sUUdNUkMUNEBRk7t8fsszAADMIPAxc389n/vCZ533e+31nnpnLdxk0IiIgIiIiUshKdQFEREREDCRERESkHAMJERERKcdAQkRERMrZqC6AqDhERERg6dKlqssgKnUhISFo37696jKIHhuPkFC5cPXqVWzZskV1GUSlasuWLbh69arqMoiKBY+QULmyefNm1SUQlRqNRqO6BKJiwyMkREREpBwDCRERESnHQEJERETKMZAQERGRcgwkREREpBwDCRERESnHQEJERETKMZAQERGRcgwkREREpBwDCRERESnHQEJERETKMZAQERGRcgwkREREpBwDCVGFshPjnTXQaAwf7RZfVl1YEZSnbSEiBhKquJJ3Y0p9V3gPWIu/VddSavpifbJAjs9GPQAYuAHpIjg001dxXUVRnraFiBhIqOISHXQ6geh0ENW1FCjzSECn5bihupRSV5G3nahisVFdAJEyLn2w+mISVquug4iIeISEiIiI1GMgoYopfAxssi+EHICv7htv//LyHiwY3ga1KjnA0b02AgbMQvjFtOxhLi9ul3NBZY3p2HHkE0zq+QS8Xexh6+iJht0nYuWB+Oz+5+Y3y+mvfxpi5/Nwzmqv+iL+ZzB+P3xxD8CBGfDJ6mMzAuElvE/K5bY/jMex0PkY/1QL+Hk7w86hEmo82RuTVuxDvC6zz5216JXrQtlm889lLr8Jg/SfC9yUPbTEH8LqV59FS193ONrawcmjHtoOeQ1fnLib7z5eF7kdc4Laoo67Y2Z7N6xJKOrGEVk4ISoHQkNDxfy3c7psGAgB+suGVGPt9aTZwPGy9uDfcif5jlzaPVvaOkC0rT+UKINxomReAARO3lK3/XOy7uBfciv5jlw5skEmN3US2DaUkP8l6vXfIeOcIOi4TGIMxvlLPmgJgftk2WvQnl//LH/Ksu5e4lilpcyNeGDaph+fLfUAwcANkm50n1jKthe0LUZsGyd28JC+C3dL1K17khwfJXtWDhVfKxtpOHO/5LwN4uXzPg4Cqxbyjwu5B7kii9u7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
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 135,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot_model(model=model, to_file='./model.png')"
]
},
{
"cell_type": "code",
"execution_count": 136,
"metadata": {},
"outputs": [],
"source": [
"use_cols = feature_cols + out_cols\n",
"use_data = data[use_cols].dropna()"
]
},
{
"cell_type": "code",
"execution_count": 137,
"metadata": {},
"outputs": [],
"source": [
"for col in use_cols:\n",
" use_data[col] = use_data[col].astype(float)\n",
" if col in out_cols:\n",
" use_data[col] = use_data[col].apply(lambda x: 0 if x < 0 else x)\n",
" use_data[col] = np.log1p(use_data[col]) # 输出列,先做对数化再做归一化"
]
},
{
"cell_type": "code",
"execution_count": 138,
"metadata": {},
"outputs": [],
"source": [
"fea_maxs = use_data[feature_cols].max()\n",
"fea_mins = use_data[feature_cols].min()"
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {},
"outputs": [],
"source": [
"for col in feature_cols:\n",
" use_data[col] = (use_data[col] - fea_mins[col]) / (fea_maxs[col] - fea_mins[col])\n",
" # use_data[col] = np.log1p(use_data[col])"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {},
"outputs": [],
"source": [
"out_maxs = use_data[out_cols].max()\n",
"out_mins = use_data[out_cols].min()"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {},
"outputs": [],
"source": [
"for col in out_cols:\n",
" # use_data[col] = use_data[col].apply(lambda x: 0 if x < 0 else x)\n",
" # use_data[col] = np.log1p(use_data[col])\n",
" use_data[col] = (use_data[col] - out_mins[col]) / (out_maxs[col] - out_mins[col])"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {},
"outputs": [],
"source": [
"for col in out_cols:\n",
" use_data = use_data[use_data[col] > 0].copy()"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {},
"outputs": [],
"source": [
"train_data, valid = train_test_split(use_data[use_cols], test_size=0.1, random_state=666, shuffle=True)\n",
"valid_data, test_data = train_test_split(valid, test_size=0.5, random_state=666, shuffle=True)"
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {},
"outputs": [],
"source": [
"from tensorflow.keras import optimizers"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {},
"outputs": [],
"source": [
"opt = optimizers.Adam(learning_rate=5e-5)"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {},
"outputs": [],
"source": [
"def compile_multitask_model(model, gamma):\n",
" w = 1 / gamma\n",
" model.compile(optimizer=opt,\n",
" loss={'PM25_out': 'mean_absolute_error', \n",
" 'PM10_out': 'mean_absolute_error', \n",
" 'SO2': 'mean_absolute_error', \n",
" 'NO2': 'mean_absolute_error', \n",
" 'O3': 'mean_absolute_error', \n",
" 'CO': 'mean_absolute_error'},\n",
" loss_weights={\n",
" 'PM25_out': w, \n",
" 'PM10_out': w,\n",
" 'SO2': w, \n",
" 'NO2': w, \n",
" 'O3': w, \n",
" 'CO': w\n",
" }, \n",
" metrics=['mean_absolute_error'])\n",
" return model"
]
},
{
"cell_type": "code",
"execution_count": 148,
"metadata": {},
"outputs": [],
"source": [
"model.compile(optimizer=opt, loss=tf.keras.losses.MAE, metrics=['mae'])\n",
"# model = compile_multitask_model(model, gamma=6)"
]
},
{
"cell_type": "code",
"execution_count": 149,
"metadata": {},
"outputs": [],
"source": [
"train_cols = [x for x in out_cols if x != 'O3_8h']"
]
},
{
"cell_type": "code",
"execution_count": 152,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/100\n",
"1330/1330 [==============================] - 11s 6ms/step - loss: 0.1004 - mae: 0.1004 - val_loss: 0.0765 - val_mae: 0.0765\n",
"Epoch 2/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0855 - mae: 0.0855 - val_loss: 0.0737 - val_mae: 0.0737\n",
"Epoch 3/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0826 - mae: 0.0826 - val_loss: 0.0716 - val_mae: 0.0716\n",
"Epoch 4/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0802 - mae: 0.0802 - val_loss: 0.0703 - val_mae: 0.0703\n",
"Epoch 5/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0791 - mae: 0.0791 - val_loss: 0.0706 - val_mae: 0.0706\n",
"Epoch 6/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0779 - mae: 0.0779 - val_loss: 0.0694 - val_mae: 0.0694\n",
"Epoch 7/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0773 - mae: 0.0773 - val_loss: 0.0696 - val_mae: 0.0696\n",
"Epoch 8/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0763 - mae: 0.0763 - val_loss: 0.0680 - val_mae: 0.0680\n",
"Epoch 9/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0761 - mae: 0.0761 - val_loss: 0.0687 - val_mae: 0.0687\n",
"Epoch 10/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0752 - mae: 0.0752 - val_loss: 0.0686 - val_mae: 0.0686\n",
"Epoch 11/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0750 - mae: 0.0750 - val_loss: 0.0681 - val_mae: 0.0681\n",
"Epoch 12/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0744 - mae: 0.0744 - val_loss: 0.0673 - val_mae: 0.0673\n",
"Epoch 13/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0741 - mae: 0.0741 - val_loss: 0.0684 - val_mae: 0.0684\n",
"Epoch 14/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0740 - mae: 0.0740 - val_loss: 0.0673 - val_mae: 0.0673\n",
"Epoch 15/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0733 - mae: 0.0733 - val_loss: 0.0672 - val_mae: 0.0672\n",
"Epoch 16/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0730 - mae: 0.0730 - val_loss: 0.0677 - val_mae: 0.0677\n",
"Epoch 17/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0729 - mae: 0.0729 - val_loss: 0.0680 - val_mae: 0.0680\n",
"Epoch 18/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0724 - mae: 0.0724 - val_loss: 0.0665 - val_mae: 0.0665\n",
"Epoch 19/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0724 - mae: 0.0724 - val_loss: 0.0661 - val_mae: 0.0661\n",
"Epoch 20/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0718 - mae: 0.0718 - val_loss: 0.0667 - val_mae: 0.0667\n",
"Epoch 21/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0716 - mae: 0.0716 - val_loss: 0.0662 - val_mae: 0.0662\n",
"Epoch 22/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0714 - mae: 0.0714 - val_loss: 0.0666 - val_mae: 0.0666\n",
"Epoch 23/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0714 - mae: 0.0714 - val_loss: 0.0663 - val_mae: 0.0663\n",
"Epoch 24/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0710 - mae: 0.0710 - val_loss: 0.0661 - val_mae: 0.0661\n",
"Epoch 25/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0706 - mae: 0.0706 - val_loss: 0.0671 - val_mae: 0.0671\n",
"Epoch 26/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0706 - mae: 0.0706 - val_loss: 0.0661 - val_mae: 0.0661\n",
"Epoch 27/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0705 - mae: 0.0705 - val_loss: 0.0656 - val_mae: 0.0656\n",
"Epoch 28/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0701 - mae: 0.0701 - val_loss: 0.0674 - val_mae: 0.0674\n",
"Epoch 29/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0700 - mae: 0.0700 - val_loss: 0.0653 - val_mae: 0.0653\n",
"Epoch 30/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0699 - mae: 0.0699 - val_loss: 0.0656 - val_mae: 0.0656\n",
"Epoch 31/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0699 - mae: 0.0699 - val_loss: 0.0660 - val_mae: 0.0660\n",
"Epoch 32/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0695 - mae: 0.0695 - val_loss: 0.0656 - val_mae: 0.0656\n",
"Epoch 33/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0693 - mae: 0.0693 - val_loss: 0.0653 - val_mae: 0.0653\n",
"Epoch 34/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0692 - mae: 0.0692 - val_loss: 0.0652 - val_mae: 0.0652\n",
"Epoch 35/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0690 - mae: 0.0690 - val_loss: 0.0649 - val_mae: 0.0649\n",
"Epoch 36/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0688 - mae: 0.0688 - val_loss: 0.0662 - val_mae: 0.0662\n",
"Epoch 37/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0690 - mae: 0.0690 - val_loss: 0.0648 - val_mae: 0.0648\n",
"Epoch 38/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0686 - mae: 0.0686 - val_loss: 0.0647 - val_mae: 0.0647\n",
"Epoch 39/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0686 - mae: 0.0686 - val_loss: 0.0648 - val_mae: 0.0648\n",
"Epoch 40/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0684 - mae: 0.0684 - val_loss: 0.0647 - val_mae: 0.0647\n",
"Epoch 41/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0685 - mae: 0.0685 - val_loss: 0.0644 - val_mae: 0.0644\n",
"Epoch 42/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0683 - mae: 0.0683 - val_loss: 0.0646 - val_mae: 0.0646\n",
"Epoch 43/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0682 - mae: 0.0682 - val_loss: 0.0641 - val_mae: 0.0641\n",
"Epoch 44/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0680 - mae: 0.0680 - val_loss: 0.0639 - val_mae: 0.0639\n",
"Epoch 45/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0677 - mae: 0.0677 - val_loss: 0.0647 - val_mae: 0.0647\n",
"Epoch 46/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0677 - mae: 0.0677 - val_loss: 0.0649 - val_mae: 0.0649\n",
"Epoch 47/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0674 - mae: 0.0674 - val_loss: 0.0643 - val_mae: 0.0643\n",
"Epoch 48/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0676 - mae: 0.0676 - val_loss: 0.0637 - val_mae: 0.0637\n",
"Epoch 49/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0675 - mae: 0.0675 - val_loss: 0.0639 - val_mae: 0.0639\n",
"Epoch 50/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0674 - mae: 0.0674 - val_loss: 0.0633 - val_mae: 0.0633\n",
"Epoch 51/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0672 - mae: 0.0672 - val_loss: 0.0645 - val_mae: 0.0645\n",
"Epoch 52/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0671 - mae: 0.0671 - val_loss: 0.0638 - val_mae: 0.0638\n",
"Epoch 53/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0669 - mae: 0.0669 - val_loss: 0.0638 - val_mae: 0.0638\n",
"Epoch 54/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0668 - mae: 0.0668 - val_loss: 0.0636 - val_mae: 0.0636\n",
"Epoch 55/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0668 - mae: 0.0668 - val_loss: 0.0641 - val_mae: 0.0641\n",
"Epoch 56/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0668 - mae: 0.0668 - val_loss: 0.0627 - val_mae: 0.0627\n",
"Epoch 57/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0666 - mae: 0.0666 - val_loss: 0.0638 - val_mae: 0.0638\n",
"Epoch 58/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0665 - mae: 0.0665 - val_loss: 0.0634 - val_mae: 0.0634\n",
"Epoch 59/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0664 - mae: 0.0664 - val_loss: 0.0628 - val_mae: 0.0628\n",
"Epoch 60/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0665 - mae: 0.0665 - val_loss: 0.0629 - val_mae: 0.0629\n",
"Epoch 61/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0664 - mae: 0.0664 - val_loss: 0.0628 - val_mae: 0.0628\n",
"Epoch 62/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0661 - mae: 0.0661 - val_loss: 0.0640 - val_mae: 0.0640\n",
"Epoch 63/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0661 - mae: 0.0661 - val_loss: 0.0626 - val_mae: 0.0626\n",
"Epoch 64/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0660 - mae: 0.0660 - val_loss: 0.0625 - val_mae: 0.0625\n",
"Epoch 65/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0659 - mae: 0.0659 - val_loss: 0.0625 - val_mae: 0.0625\n",
"Epoch 66/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0658 - mae: 0.0658 - val_loss: 0.0630 - val_mae: 0.0630\n",
"Epoch 67/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0660 - mae: 0.0660 - val_loss: 0.0619 - val_mae: 0.0619\n",
"Epoch 68/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0657 - mae: 0.0657 - val_loss: 0.0622 - val_mae: 0.0622\n",
"Epoch 69/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0658 - mae: 0.0658 - val_loss: 0.0637 - val_mae: 0.0637\n",
"Epoch 70/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0657 - mae: 0.0657 - val_loss: 0.0628 - val_mae: 0.0628\n",
"Epoch 71/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0654 - mae: 0.0654 - val_loss: 0.0637 - val_mae: 0.0637\n",
"Epoch 72/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0655 - mae: 0.0655 - val_loss: 0.0622 - val_mae: 0.0622\n",
"Epoch 73/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0655 - mae: 0.0655 - val_loss: 0.0633 - val_mae: 0.0633\n",
"Epoch 74/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0654 - mae: 0.0654 - val_loss: 0.0625 - val_mae: 0.0625\n",
"Epoch 75/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0652 - mae: 0.0652 - val_loss: 0.0618 - val_mae: 0.0618\n",
"Epoch 76/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0652 - mae: 0.0652 - val_loss: 0.0628 - val_mae: 0.0628\n",
"Epoch 77/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0649 - mae: 0.0649 - val_loss: 0.0626 - val_mae: 0.0626\n",
"Epoch 78/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0648 - mae: 0.0648 - val_loss: 0.0615 - val_mae: 0.0615\n",
"Epoch 79/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0651 - mae: 0.0651 - val_loss: 0.0621 - val_mae: 0.0621\n",
"Epoch 80/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0649 - mae: 0.0649 - val_loss: 0.0623 - val_mae: 0.0623\n",
"Epoch 81/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0650 - mae: 0.0650 - val_loss: 0.0627 - val_mae: 0.0627\n",
"Epoch 82/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0649 - mae: 0.0649 - val_loss: 0.0618 - val_mae: 0.0618\n",
"Epoch 83/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0648 - mae: 0.0648 - val_loss: 0.0614 - val_mae: 0.0614\n",
"Epoch 84/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0647 - mae: 0.0647 - val_loss: 0.0617 - val_mae: 0.0617\n",
"Epoch 85/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0646 - mae: 0.0646 - val_loss: 0.0631 - val_mae: 0.0631\n",
"Epoch 86/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0646 - mae: 0.0646 - val_loss: 0.0612 - val_mae: 0.0612\n",
"Epoch 87/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0647 - mae: 0.0647 - val_loss: 0.0622 - val_mae: 0.0622\n",
"Epoch 88/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0644 - mae: 0.0644 - val_loss: 0.0629 - val_mae: 0.0629\n",
"Epoch 89/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0645 - mae: 0.0645 - val_loss: 0.0615 - val_mae: 0.0615\n",
"Epoch 90/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0644 - mae: 0.0644 - val_loss: 0.0616 - val_mae: 0.0616\n",
"Epoch 91/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0644 - mae: 0.0644 - val_loss: 0.0618 - val_mae: 0.0618\n",
"Epoch 92/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0642 - mae: 0.0642 - val_loss: 0.0628 - val_mae: 0.0628\n",
"Epoch 93/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0642 - mae: 0.0642 - val_loss: 0.0616 - val_mae: 0.0616\n",
"Epoch 94/100\n",
"1330/1330 [==============================] - 7s 5ms/step - loss: 0.0642 - mae: 0.0642 - val_loss: 0.0612 - val_mae: 0.0612\n",
"Epoch 95/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0638 - mae: 0.0638 - val_loss: 0.0618 - val_mae: 0.0618\n",
"Epoch 96/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0641 - mae: 0.0641 - val_loss: 0.0619 - val_mae: 0.0619\n",
"Epoch 97/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0639 - mae: 0.0639 - val_loss: 0.0621 - val_mae: 0.0621\n",
"Epoch 98/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0639 - mae: 0.0639 - val_loss: 0.0619 - val_mae: 0.0619\n",
"Epoch 99/100\n",
"1330/1330 [==============================] - 7s 6ms/step - loss: 0.0639 - mae: 0.0639 - val_loss: 0.0616 - val_mae: 0.0616\n",
"Epoch 100/100\n",
"1330/1330 [==============================] - 8s 6ms/step - loss: 0.0639 - mae: 0.0639 - val_loss: 0.0613 - val_mae: 0.0613\n"
]
}
],
"source": [
"model_history = model.fit(\n",
" {'input': np.expand_dims(train_data[feature_cols].values, axis=1)},\n",
" {\n",
" # 'PM25_out': train_data['PM25_out'], \n",
" # 'PM10_out': train_data['PM10_out'],\n",
" # 'SO2': train_data['SO2'], \n",
" # 'NO2': train_data['NO2'], \n",
" # 'O3': train_data['O3'], \n",
" 'out': train_data['CO'],\n",
" },\n",
" validation_data=(np.expand_dims(valid_data[feature_cols].values, axis=1), valid_data['CO'].values),\n",
" epochs=100, batch_size=32, verbose=1)"
]
},
{
"cell_type": "code",
"execution_count": 122,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/100\n",
"1330/1330 [==============================] - 14s 8ms/step - loss: 0.1624 - PM25_out_loss: 0.1634 - PM10_out_loss: 0.1622 - SO2_loss: 0.1619 - NO2_loss: 0.1628 - O3_loss: 0.1627 - CO_loss: 0.1615 - PM25_out_mean_absolute_error: 0.1634 - PM10_out_mean_absolute_error: 0.1622 - SO2_mean_absolute_error: 0.1619 - NO2_mean_absolute_error: 0.1628 - O3_mean_absolute_error: 0.1627 - CO_mean_absolute_error: 0.1615 - val_loss: 0.1582 - val_PM25_out_loss: 0.1611 - val_PM10_out_loss: 0.1580 - val_SO2_loss: 0.1571 - val_NO2_loss: 0.1586 - val_O3_loss: 0.1568 - val_CO_loss: 0.1575 - val_PM25_out_mean_absolute_error: 0.1611 - val_PM10_out_mean_absolute_error: 0.1580 - val_SO2_mean_absolute_error: 0.1571 - val_NO2_mean_absolute_error: 0.1586 - val_O3_mean_absolute_error: 0.1568 - val_CO_mean_absolute_error: 0.1575\n",
"Epoch 2/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1580 - PM25_out_loss: 0.1595 - PM10_out_loss: 0.1574 - SO2_loss: 0.1572 - NO2_loss: 0.1590 - O3_loss: 0.1578 - CO_loss: 0.1569 - PM25_out_mean_absolute_error: 0.1595 - PM10_out_mean_absolute_error: 0.1574 - SO2_mean_absolute_error: 0.1572 - NO2_mean_absolute_error: 0.1590 - O3_mean_absolute_error: 0.1578 - CO_mean_absolute_error: 0.1569 - val_loss: 0.1552 - val_PM25_out_loss: 0.1557 - val_PM10_out_loss: 0.1547 - val_SO2_loss: 0.1547 - val_NO2_loss: 0.1555 - val_O3_loss: 0.1560 - val_CO_loss: 0.1546 - val_PM25_out_mean_absolute_error: 0.1557 - val_PM10_out_mean_absolute_error: 0.1547 - val_SO2_mean_absolute_error: 0.1547 - val_NO2_mean_absolute_error: 0.1555 - val_O3_mean_absolute_error: 0.1560 - val_CO_mean_absolute_error: 0.1546\n",
"Epoch 3/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1550 - PM25_out_loss: 0.1550 - PM10_out_loss: 0.1544 - SO2_loss: 0.1548 - NO2_loss: 0.1557 - O3_loss: 0.1558 - CO_loss: 0.1543 - PM25_out_mean_absolute_error: 0.1550 - PM10_out_mean_absolute_error: 0.1544 - SO2_mean_absolute_error: 0.1548 - NO2_mean_absolute_error: 0.1557 - O3_mean_absolute_error: 0.1558 - CO_mean_absolute_error: 0.1543 - val_loss: 0.1526 - val_PM25_out_loss: 0.1521 - val_PM10_out_loss: 0.1528 - val_SO2_loss: 0.1526 - val_NO2_loss: 0.1527 - val_O3_loss: 0.1532 - val_CO_loss: 0.1520 - val_PM25_out_mean_absolute_error: 0.1521 - val_PM10_out_mean_absolute_error: 0.1528 - val_SO2_mean_absolute_error: 0.1526 - val_NO2_mean_absolute_error: 0.1527 - val_O3_mean_absolute_error: 0.1532 - val_CO_mean_absolute_error: 0.1520\n",
"Epoch 4/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1536 - PM25_out_loss: 0.1537 - PM10_out_loss: 0.1531 - SO2_loss: 0.1534 - NO2_loss: 0.1540 - O3_loss: 0.1544 - CO_loss: 0.1531 - PM25_out_mean_absolute_error: 0.1537 - PM10_out_mean_absolute_error: 0.1531 - SO2_mean_absolute_error: 0.1534 - NO2_mean_absolute_error: 0.1540 - O3_mean_absolute_error: 0.1544 - CO_mean_absolute_error: 0.1531 - val_loss: 0.1523 - val_PM25_out_loss: 0.1521 - val_PM10_out_loss: 0.1518 - val_SO2_loss: 0.1526 - val_NO2_loss: 0.1534 - val_O3_loss: 0.1524 - val_CO_loss: 0.1518 - val_PM25_out_mean_absolute_error: 0.1521 - val_PM10_out_mean_absolute_error: 0.1518 - val_SO2_mean_absolute_error: 0.1526 - val_NO2_mean_absolute_error: 0.1534 - val_O3_mean_absolute_error: 0.1524 - val_CO_mean_absolute_error: 0.1518\n",
"Epoch 5/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1529 - PM25_out_loss: 0.1530 - PM10_out_loss: 0.1525 - SO2_loss: 0.1527 - NO2_loss: 0.1531 - O3_loss: 0.1535 - CO_loss: 0.1526 - PM25_out_mean_absolute_error: 0.1530 - PM10_out_mean_absolute_error: 0.1525 - SO2_mean_absolute_error: 0.1527 - NO2_mean_absolute_error: 0.1531 - O3_mean_absolute_error: 0.1535 - CO_mean_absolute_error: 0.1526 - val_loss: 0.1514 - val_PM25_out_loss: 0.1510 - val_PM10_out_loss: 0.1512 - val_SO2_loss: 0.1518 - val_NO2_loss: 0.1516 - val_O3_loss: 0.1511 - val_CO_loss: 0.1515 - val_PM25_out_mean_absolute_error: 0.1510 - val_PM10_out_mean_absolute_error: 0.1512 - val_SO2_mean_absolute_error: 0.1518 - val_NO2_mean_absolute_error: 0.1516 - val_O3_mean_absolute_error: 0.1511 - val_CO_mean_absolute_error: 0.1515\n",
"Epoch 6/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1525 - PM25_out_loss: 0.1526 - PM10_out_loss: 0.1521 - SO2_loss: 0.1523 - NO2_loss: 0.1527 - O3_loss: 0.1529 - CO_loss: 0.1522 - PM25_out_mean_absolute_error: 0.1526 - PM10_out_mean_absolute_error: 0.1521 - SO2_mean_absolute_error: 0.1523 - NO2_mean_absolute_error: 0.1527 - O3_mean_absolute_error: 0.1529 - CO_mean_absolute_error: 0.1522 - val_loss: 0.1508 - val_PM25_out_loss: 0.1507 - val_PM10_out_loss: 0.1509 - val_SO2_loss: 0.1510 - val_NO2_loss: 0.1510 - val_O3_loss: 0.1508 - val_CO_loss: 0.1508 - val_PM25_out_mean_absolute_error: 0.1507 - val_PM10_out_mean_absolute_error: 0.1509 - val_SO2_mean_absolute_error: 0.1510 - val_NO2_mean_absolute_error: 0.1510 - val_O3_mean_absolute_error: 0.1508 - val_CO_mean_absolute_error: 0.1508\n",
"Epoch 7/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1520 - PM25_out_loss: 0.1522 - PM10_out_loss: 0.1517 - SO2_loss: 0.1518 - NO2_loss: 0.1521 - O3_loss: 0.1525 - CO_loss: 0.1519 - PM25_out_mean_absolute_error: 0.1522 - PM10_out_mean_absolute_error: 0.1517 - SO2_mean_absolute_error: 0.1518 - NO2_mean_absolute_error: 0.1521 - O3_mean_absolute_error: 0.1525 - CO_mean_absolute_error: 0.1519 - val_loss: 0.1524 - val_PM25_out_loss: 0.1527 - val_PM10_out_loss: 0.1522 - val_SO2_loss: 0.1523 - val_NO2_loss: 0.1527 - val_O3_loss: 0.1527 - val_CO_loss: 0.1521 - val_PM25_out_mean_absolute_error: 0.1527 - val_PM10_out_mean_absolute_error: 0.1522 - val_SO2_mean_absolute_error: 0.1523 - val_NO2_mean_absolute_error: 0.1527 - val_O3_mean_absolute_error: 0.1527 - val_CO_mean_absolute_error: 0.1521\n",
"Epoch 8/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1517 - PM25_out_loss: 0.1518 - PM10_out_loss: 0.1515 - SO2_loss: 0.1516 - NO2_loss: 0.1518 - O3_loss: 0.1521 - CO_loss: 0.1516 - PM25_out_mean_absolute_error: 0.1518 - PM10_out_mean_absolute_error: 0.1515 - SO2_mean_absolute_error: 0.1516 - NO2_mean_absolute_error: 0.1518 - O3_mean_absolute_error: 0.1521 - CO_mean_absolute_error: 0.1516 - val_loss: 0.1505 - val_PM25_out_loss: 0.1504 - val_PM10_out_loss: 0.1503 - val_SO2_loss: 0.1506 - val_NO2_loss: 0.1508 - val_O3_loss: 0.1505 - val_CO_loss: 0.1503 - val_PM25_out_mean_absolute_error: 0.1504 - val_PM10_out_mean_absolute_error: 0.1503 - val_SO2_mean_absolute_error: 0.1506 - val_NO2_mean_absolute_error: 0.1508 - val_O3_mean_absolute_error: 0.1505 - val_CO_mean_absolute_error: 0.1503\n",
"Epoch 9/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1515 - PM25_out_loss: 0.1516 - PM10_out_loss: 0.1513 - SO2_loss: 0.1514 - NO2_loss: 0.1516 - O3_loss: 0.1518 - CO_loss: 0.1514 - PM25_out_mean_absolute_error: 0.1516 - PM10_out_mean_absolute_error: 0.1513 - SO2_mean_absolute_error: 0.1514 - NO2_mean_absolute_error: 0.1516 - O3_mean_absolute_error: 0.1518 - CO_mean_absolute_error: 0.1514 - val_loss: 0.1500 - val_PM25_out_loss: 0.1499 - val_PM10_out_loss: 0.1499 - val_SO2_loss: 0.1500 - val_NO2_loss: 0.1501 - val_O3_loss: 0.1500 - val_CO_loss: 0.1500 - val_PM25_out_mean_absolute_error: 0.1499 - val_PM10_out_mean_absolute_error: 0.1499 - val_SO2_mean_absolute_error: 0.1500 - val_NO2_mean_absolute_error: 0.1501 - val_O3_mean_absolute_error: 0.1500 - val_CO_mean_absolute_error: 0.1500\n",
"Epoch 10/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1512 - PM25_out_loss: 0.1512 - PM10_out_loss: 0.1510 - SO2_loss: 0.1511 - NO2_loss: 0.1512 - O3_loss: 0.1514 - CO_loss: 0.1511 - PM25_out_mean_absolute_error: 0.1512 - PM10_out_mean_absolute_error: 0.1510 - SO2_mean_absolute_error: 0.1511 - NO2_mean_absolute_error: 0.1512 - O3_mean_absolute_error: 0.1514 - CO_mean_absolute_error: 0.1511 - val_loss: 0.1505 - val_PM25_out_loss: 0.1506 - val_PM10_out_loss: 0.1506 - val_SO2_loss: 0.1505 - val_NO2_loss: 0.1505 - val_O3_loss: 0.1504 - val_CO_loss: 0.1506 - val_PM25_out_mean_absolute_error: 0.1506 - val_PM10_out_mean_absolute_error: 0.1506 - val_SO2_mean_absolute_error: 0.1505 - val_NO2_mean_absolute_error: 0.1505 - val_O3_mean_absolute_error: 0.1504 - val_CO_mean_absolute_error: 0.1506\n",
"Epoch 11/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1509 - PM25_out_loss: 0.1508 - PM10_out_loss: 0.1507 - SO2_loss: 0.1508 - NO2_loss: 0.1509 - O3_loss: 0.1510 - CO_loss: 0.1508 - PM25_out_mean_absolute_error: 0.1508 - PM10_out_mean_absolute_error: 0.1507 - SO2_mean_absolute_error: 0.1508 - NO2_mean_absolute_error: 0.1509 - O3_mean_absolute_error: 0.1510 - CO_mean_absolute_error: 0.1508 - val_loss: 0.1499 - val_PM25_out_loss: 0.1499 - val_PM10_out_loss: 0.1498 - val_SO2_loss: 0.1499 - val_NO2_loss: 0.1500 - val_O3_loss: 0.1500 - val_CO_loss: 0.1498 - val_PM25_out_mean_absolute_error: 0.1499 - val_PM10_out_mean_absolute_error: 0.1498 - val_SO2_mean_absolute_error: 0.1499 - val_NO2_mean_absolute_error: 0.1500 - val_O3_mean_absolute_error: 0.1500 - val_CO_mean_absolute_error: 0.1498\n",
"Epoch 12/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1507 - PM25_out_loss: 0.1507 - PM10_out_loss: 0.1506 - SO2_loss: 0.1507 - NO2_loss: 0.1508 - O3_loss: 0.1508 - CO_loss: 0.1507 - PM25_out_mean_absolute_error: 0.1507 - PM10_out_mean_absolute_error: 0.1506 - SO2_mean_absolute_error: 0.1507 - NO2_mean_absolute_error: 0.1508 - O3_mean_absolute_error: 0.1508 - CO_mean_absolute_error: 0.1507 - val_loss: 0.1505 - val_PM25_out_loss: 0.1502 - val_PM10_out_loss: 0.1504 - val_SO2_loss: 0.1506 - val_NO2_loss: 0.1507 - val_O3_loss: 0.1504 - val_CO_loss: 0.1505 - val_PM25_out_mean_absolute_error: 0.1502 - val_PM10_out_mean_absolute_error: 0.1504 - val_SO2_mean_absolute_error: 0.1506 - val_NO2_mean_absolute_error: 0.1507 - val_O3_mean_absolute_error: 0.1504 - val_CO_mean_absolute_error: 0.1505\n",
"Epoch 13/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1504 - PM25_out_loss: 0.1504 - PM10_out_loss: 0.1502 - SO2_loss: 0.1503 - NO2_loss: 0.1504 - O3_loss: 0.1505 - CO_loss: 0.1503 - PM25_out_mean_absolute_error: 0.1504 - PM10_out_mean_absolute_error: 0.1502 - SO2_mean_absolute_error: 0.1503 - NO2_mean_absolute_error: 0.1504 - O3_mean_absolute_error: 0.1505 - CO_mean_absolute_error: 0.1503 - val_loss: 0.1509 - val_PM25_out_loss: 0.1510 - val_PM10_out_loss: 0.1509 - val_SO2_loss: 0.1510 - val_NO2_loss: 0.1511 - val_O3_loss: 0.1509 - val_CO_loss: 0.1508 - val_PM25_out_mean_absolute_error: 0.1510 - val_PM10_out_mean_absolute_error: 0.1509 - val_SO2_mean_absolute_error: 0.1510 - val_NO2_mean_absolute_error: 0.1511 - val_O3_mean_absolute_error: 0.1509 - val_CO_mean_absolute_error: 0.1508\n",
"Epoch 14/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1502 - PM25_out_loss: 0.1502 - PM10_out_loss: 0.1501 - SO2_loss: 0.1502 - NO2_loss: 0.1503 - O3_loss: 0.1503 - CO_loss: 0.1502 - PM25_out_mean_absolute_error: 0.1502 - PM10_out_mean_absolute_error: 0.1501 - SO2_mean_absolute_error: 0.1502 - NO2_mean_absolute_error: 0.1503 - O3_mean_absolute_error: 0.1503 - CO_mean_absolute_error: 0.1502 - val_loss: 0.1494 - val_PM25_out_loss: 0.1494 - val_PM10_out_loss: 0.1494 - val_SO2_loss: 0.1494 - val_NO2_loss: 0.1496 - val_O3_loss: 0.1495 - val_CO_loss: 0.1494 - val_PM25_out_mean_absolute_error: 0.1494 - val_PM10_out_mean_absolute_error: 0.1494 - val_SO2_mean_absolute_error: 0.1494 - val_NO2_mean_absolute_error: 0.1496 - val_O3_mean_absolute_error: 0.1495 - val_CO_mean_absolute_error: 0.1494\n",
"Epoch 15/100\n",
"1330/1330 [==============================] - 10s 8ms/step - loss: 0.1502 - PM25_out_loss: 0.1501 - PM10_out_loss: 0.1501 - SO2_loss: 0.1501 - NO2_loss: 0.1503 - O3_loss: 0.1502 - CO_loss: 0.1502 - PM25_out_mean_absolute_error: 0.1501 - PM10_out_mean_absolute_error: 0.1501 - SO2_mean_absolute_error: 0.1501 - NO2_mean_absolute_error: 0.1503 - O3_mean_absolute_error: 0.1502 - CO_mean_absolute_error: 0.1502 - val_loss: 0.1495 - val_PM25_out_loss: 0.1495 - val_PM10_out_loss: 0.1494 - val_SO2_loss: 0.1495 - val_NO2_loss: 0.1496 - val_O3_loss: 0.1495 - val_CO_loss: 0.1494 - val_PM25_out_mean_absolute_error: 0.1495 - val_PM10_out_mean_absolute_error: 0.1494 - val_SO2_mean_absolute_error: 0.1495 - val_NO2_mean_absolute_error: 0.1496 - val_O3_mean_absolute_error: 0.1495 - val_CO_mean_absolute_error: 0.1494\n",
"Epoch 16/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1500 - PM25_out_loss: 0.1500 - PM10_out_loss: 0.1500 - SO2_loss: 0.1500 - NO2_loss: 0.1501 - O3_loss: 0.1501 - CO_loss: 0.1500 - PM25_out_mean_absolute_error: 0.1500 - PM10_out_mean_absolute_error: 0.1500 - SO2_mean_absolute_error: 0.1500 - NO2_mean_absolute_error: 0.1501 - O3_mean_absolute_error: 0.1501 - CO_mean_absolute_error: 0.1500 - val_loss: 0.1496 - val_PM25_out_loss: 0.1496 - val_PM10_out_loss: 0.1496 - val_SO2_loss: 0.1496 - val_NO2_loss: 0.1497 - val_O3_loss: 0.1497 - val_CO_loss: 0.1496 - val_PM25_out_mean_absolute_error: 0.1496 - val_PM10_out_mean_absolute_error: 0.1496 - val_SO2_mean_absolute_error: 0.1496 - val_NO2_mean_absolute_error: 0.1497 - val_O3_mean_absolute_error: 0.1497 - val_CO_mean_absolute_error: 0.1496\n",
"Epoch 17/100\n",
"1330/1330 [==============================] - 10s 8ms/step - loss: 0.1499 - PM25_out_loss: 0.1498 - PM10_out_loss: 0.1498 - SO2_loss: 0.1498 - NO2_loss: 0.1499 - O3_loss: 0.1499 - CO_loss: 0.1498 - PM25_out_mean_absolute_error: 0.1498 - PM10_out_mean_absolute_error: 0.1498 - SO2_mean_absolute_error: 0.1498 - NO2_mean_absolute_error: 0.1499 - O3_mean_absolute_error: 0.1499 - CO_mean_absolute_error: 0.1498 - val_loss: 0.1493 - val_PM25_out_loss: 0.1493 - val_PM10_out_loss: 0.1493 - val_SO2_loss: 0.1493 - val_NO2_loss: 0.1494 - val_O3_loss: 0.1493 - val_CO_loss: 0.1493 - val_PM25_out_mean_absolute_error: 0.1493 - val_PM10_out_mean_absolute_error: 0.1493 - val_SO2_mean_absolute_error: 0.1493 - val_NO2_mean_absolute_error: 0.1494 - val_O3_mean_absolute_error: 0.1493 - val_CO_mean_absolute_error: 0.1493\n",
"Epoch 18/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1497 - PM25_out_loss: 0.1497 - PM10_out_loss: 0.1497 - SO2_loss: 0.1497 - NO2_loss: 0.1498 - O3_loss: 0.1497 - CO_loss: 0.1497 - PM25_out_mean_absolute_error: 0.1497 - PM10_out_mean_absolute_error: 0.1497 - SO2_mean_absolute_error: 0.1497 - NO2_mean_absolute_error: 0.1498 - O3_mean_absolute_error: 0.1497 - CO_mean_absolute_error: 0.1497 - val_loss: 0.1492 - val_PM25_out_loss: 0.1492 - val_PM10_out_loss: 0.1491 - val_SO2_loss: 0.1492 - val_NO2_loss: 0.1493 - val_O3_loss: 0.1492 - val_CO_loss: 0.1491 - val_PM25_out_mean_absolute_error: 0.1492 - val_PM10_out_mean_absolute_error: 0.1491 - val_SO2_mean_absolute_error: 0.1492 - val_NO2_mean_absolute_error: 0.1493 - val_O3_mean_absolute_error: 0.1492 - val_CO_mean_absolute_error: 0.1491\n",
"Epoch 19/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1496 - PM25_out_loss: 0.1496 - PM10_out_loss: 0.1496 - SO2_loss: 0.1496 - NO2_loss: 0.1497 - O3_loss: 0.1496 - CO_loss: 0.1496 - PM25_out_mean_absolute_error: 0.1496 - PM10_out_mean_absolute_error: 0.1496 - SO2_mean_absolute_error: 0.1496 - NO2_mean_absolute_error: 0.1497 - O3_mean_absolute_error: 0.1496 - CO_mean_absolute_error: 0.1496 - val_loss: 0.1490 - val_PM25_out_loss: 0.1489 - val_PM10_out_loss: 0.1489 - val_SO2_loss: 0.1490 - val_NO2_loss: 0.1490 - val_O3_loss: 0.1489 - val_CO_loss: 0.1489 - val_PM25_out_mean_absolute_error: 0.1489 - val_PM10_out_mean_absolute_error: 0.1489 - val_SO2_mean_absolute_error: 0.1490 - val_NO2_mean_absolute_error: 0.1490 - val_O3_mean_absolute_error: 0.1489 - val_CO_mean_absolute_error: 0.1489\n",
"Epoch 20/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1495 - PM25_out_loss: 0.1495 - PM10_out_loss: 0.1495 - SO2_loss: 0.1495 - NO2_loss: 0.1496 - O3_loss: 0.1496 - CO_loss: 0.1495 - PM25_out_mean_absolute_error: 0.1495 - PM10_out_mean_absolute_error: 0.1495 - SO2_mean_absolute_error: 0.1495 - NO2_mean_absolute_error: 0.1496 - O3_mean_absolute_error: 0.1496 - CO_mean_absolute_error: 0.1495 - val_loss: 0.1490 - val_PM25_out_loss: 0.1490 - val_PM10_out_loss: 0.1490 - val_SO2_loss: 0.1490 - val_NO2_loss: 0.1491 - val_O3_loss: 0.1490 - val_CO_loss: 0.1490 - val_PM25_out_mean_absolute_error: 0.1490 - val_PM10_out_mean_absolute_error: 0.1490 - val_SO2_mean_absolute_error: 0.1490 - val_NO2_mean_absolute_error: 0.1491 - val_O3_mean_absolute_error: 0.1490 - val_CO_mean_absolute_error: 0.1490\n",
"Epoch 21/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1494 - PM25_out_loss: 0.1494 - PM10_out_loss: 0.1494 - SO2_loss: 0.1494 - NO2_loss: 0.1495 - O3_loss: 0.1494 - CO_loss: 0.1494 - PM25_out_mean_absolute_error: 0.1494 - PM10_out_mean_absolute_error: 0.1494 - SO2_mean_absolute_error: 0.1494 - NO2_mean_absolute_error: 0.1495 - O3_mean_absolute_error: 0.1494 - CO_mean_absolute_error: 0.1494 - val_loss: 0.1492 - val_PM25_out_loss: 0.1491 - val_PM10_out_loss: 0.1491 - val_SO2_loss: 0.1491 - val_NO2_loss: 0.1492 - val_O3_loss: 0.1492 - val_CO_loss: 0.1491 - val_PM25_out_mean_absolute_error: 0.1491 - val_PM10_out_mean_absolute_error: 0.1491 - val_SO2_mean_absolute_error: 0.1491 - val_NO2_mean_absolute_error: 0.1492 - val_O3_mean_absolute_error: 0.1492 - val_CO_mean_absolute_error: 0.1491\n",
"Epoch 22/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1493 - PM25_out_loss: 0.1493 - PM10_out_loss: 0.1493 - SO2_loss: 0.1493 - NO2_loss: 0.1494 - O3_loss: 0.1493 - CO_loss: 0.1493 - PM25_out_mean_absolute_error: 0.1493 - PM10_out_mean_absolute_error: 0.1493 - SO2_mean_absolute_error: 0.1493 - NO2_mean_absolute_error: 0.1494 - O3_mean_absolute_error: 0.1493 - CO_mean_absolute_error: 0.1493 - val_loss: 0.1489 - val_PM25_out_loss: 0.1489 - val_PM10_out_loss: 0.1489 - val_SO2_loss: 0.1489 - val_NO2_loss: 0.1490 - val_O3_loss: 0.1489 - val_CO_loss: 0.1489 - val_PM25_out_mean_absolute_error: 0.1489 - val_PM10_out_mean_absolute_error: 0.1489 - val_SO2_mean_absolute_error: 0.1489 - val_NO2_mean_absolute_error: 0.1490 - val_O3_mean_absolute_error: 0.1489 - val_CO_mean_absolute_error: 0.1489\n",
"Epoch 23/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1493 - PM25_out_loss: 0.1493 - PM10_out_loss: 0.1493 - SO2_loss: 0.1493 - NO2_loss: 0.1494 - O3_loss: 0.1493 - CO_loss: 0.1493 - PM25_out_mean_absolute_error: 0.1493 - PM10_out_mean_absolute_error: 0.1493 - SO2_mean_absolute_error: 0.1493 - NO2_mean_absolute_error: 0.1494 - O3_mean_absolute_error: 0.1493 - CO_mean_absolute_error: 0.1493 - val_loss: 0.1492 - val_PM25_out_loss: 0.1492 - val_PM10_out_loss: 0.1492 - val_SO2_loss: 0.1492 - val_NO2_loss: 0.1492 - val_O3_loss: 0.1492 - val_CO_loss: 0.1492 - val_PM25_out_mean_absolute_error: 0.1492 - val_PM10_out_mean_absolute_error: 0.1492 - val_SO2_mean_absolute_error: 0.1492 - val_NO2_mean_absolute_error: 0.1492 - val_O3_mean_absolute_error: 0.1492 - val_CO_mean_absolute_error: 0.1492\n",
"Epoch 24/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1493 - PM25_out_loss: 0.1493 - PM10_out_loss: 0.1492 - SO2_loss: 0.1493 - NO2_loss: 0.1494 - O3_loss: 0.1493 - CO_loss: 0.1493 - PM25_out_mean_absolute_error: 0.1493 - PM10_out_mean_absolute_error: 0.1492 - SO2_mean_absolute_error: 0.1493 - NO2_mean_absolute_error: 0.1494 - O3_mean_absolute_error: 0.1493 - CO_mean_absolute_error: 0.1493 - val_loss: 0.1485 - val_PM25_out_loss: 0.1485 - val_PM10_out_loss: 0.1485 - val_SO2_loss: 0.1485 - val_NO2_loss: 0.1486 - val_O3_loss: 0.1485 - val_CO_loss: 0.1485 - val_PM25_out_mean_absolute_error: 0.1485 - val_PM10_out_mean_absolute_error: 0.1485 - val_SO2_mean_absolute_error: 0.1485 - val_NO2_mean_absolute_error: 0.1486 - val_O3_mean_absolute_error: 0.1485 - val_CO_mean_absolute_error: 0.1485\n",
"Epoch 25/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1491 - PM25_out_loss: 0.1491 - PM10_out_loss: 0.1491 - SO2_loss: 0.1491 - NO2_loss: 0.1492 - O3_loss: 0.1491 - CO_loss: 0.1491 - PM25_out_mean_absolute_error: 0.1491 - PM10_out_mean_absolute_error: 0.1491 - SO2_mean_absolute_error: 0.1491 - NO2_mean_absolute_error: 0.1492 - O3_mean_absolute_error: 0.1491 - CO_mean_absolute_error: 0.1491 - val_loss: 0.1485 - val_PM25_out_loss: 0.1485 - val_PM10_out_loss: 0.1485 - val_SO2_loss: 0.1485 - val_NO2_loss: 0.1485 - val_O3_loss: 0.1485 - val_CO_loss: 0.1485 - val_PM25_out_mean_absolute_error: 0.1485 - val_PM10_out_mean_absolute_error: 0.1485 - val_SO2_mean_absolute_error: 0.1485 - val_NO2_mean_absolute_error: 0.1485 - val_O3_mean_absolute_error: 0.1485 - val_CO_mean_absolute_error: 0.1485\n",
"Epoch 26/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1491 - PM25_out_loss: 0.1491 - PM10_out_loss: 0.1490 - SO2_loss: 0.1491 - NO2_loss: 0.1491 - O3_loss: 0.1491 - CO_loss: 0.1490 - PM25_out_mean_absolute_error: 0.1491 - PM10_out_mean_absolute_error: 0.1490 - SO2_mean_absolute_error: 0.1491 - NO2_mean_absolute_error: 0.1491 - O3_mean_absolute_error: 0.1491 - CO_mean_absolute_error: 0.1490 - val_loss: 0.1487 - val_PM25_out_loss: 0.1487 - val_PM10_out_loss: 0.1487 - val_SO2_loss: 0.1487 - val_NO2_loss: 0.1488 - val_O3_loss: 0.1487 - val_CO_loss: 0.1487 - val_PM25_out_mean_absolute_error: 0.1487 - val_PM10_out_mean_absolute_error: 0.1487 - val_SO2_mean_absolute_error: 0.1487 - val_NO2_mean_absolute_error: 0.1488 - val_O3_mean_absolute_error: 0.1487 - val_CO_mean_absolute_error: 0.1487\n",
"Epoch 27/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1490 - PM25_out_loss: 0.1490 - PM10_out_loss: 0.1490 - SO2_loss: 0.1490 - NO2_loss: 0.1491 - O3_loss: 0.1490 - CO_loss: 0.1490 - PM25_out_mean_absolute_error: 0.1490 - PM10_out_mean_absolute_error: 0.1490 - SO2_mean_absolute_error: 0.1490 - NO2_mean_absolute_error: 0.1491 - O3_mean_absolute_error: 0.1490 - CO_mean_absolute_error: 0.1490 - val_loss: 0.1486 - val_PM25_out_loss: 0.1486 - val_PM10_out_loss: 0.1486 - val_SO2_loss: 0.1486 - val_NO2_loss: 0.1486 - val_O3_loss: 0.1486 - val_CO_loss: 0.1486 - val_PM25_out_mean_absolute_error: 0.1486 - val_PM10_out_mean_absolute_error: 0.1486 - val_SO2_mean_absolute_error: 0.1486 - val_NO2_mean_absolute_error: 0.1486 - val_O3_mean_absolute_error: 0.1486 - val_CO_mean_absolute_error: 0.1486\n",
"Epoch 28/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1488 - PM25_out_loss: 0.1488 - PM10_out_loss: 0.1488 - SO2_loss: 0.1488 - NO2_loss: 0.1488 - O3_loss: 0.1488 - CO_loss: 0.1488 - PM25_out_mean_absolute_error: 0.1488 - PM10_out_mean_absolute_error: 0.1488 - SO2_mean_absolute_error: 0.1488 - NO2_mean_absolute_error: 0.1488 - O3_mean_absolute_error: 0.1488 - CO_mean_absolute_error: 0.1488 - val_loss: 0.1486 - val_PM25_out_loss: 0.1486 - val_PM10_out_loss: 0.1486 - val_SO2_loss: 0.1486 - val_NO2_loss: 0.1487 - val_O3_loss: 0.1486 - val_CO_loss: 0.1486 - val_PM25_out_mean_absolute_error: 0.1486 - val_PM10_out_mean_absolute_error: 0.1486 - val_SO2_mean_absolute_error: 0.1486 - val_NO2_mean_absolute_error: 0.1487 - val_O3_mean_absolute_error: 0.1486 - val_CO_mean_absolute_error: 0.1486\n",
"Epoch 29/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1488 - PM25_out_loss: 0.1488 - PM10_out_loss: 0.1488 - SO2_loss: 0.1488 - NO2_loss: 0.1489 - O3_loss: 0.1488 - CO_loss: 0.1488 - PM25_out_mean_absolute_error: 0.1488 - PM10_out_mean_absolute_error: 0.1488 - SO2_mean_absolute_error: 0.1488 - NO2_mean_absolute_error: 0.1489 - O3_mean_absolute_error: 0.1488 - CO_mean_absolute_error: 0.1488 - val_loss: 0.1487 - val_PM25_out_loss: 0.1487 - val_PM10_out_loss: 0.1487 - val_SO2_loss: 0.1487 - val_NO2_loss: 0.1487 - val_O3_loss: 0.1487 - val_CO_loss: 0.1487 - val_PM25_out_mean_absolute_error: 0.1487 - val_PM10_out_mean_absolute_error: 0.1487 - val_SO2_mean_absolute_error: 0.1487 - val_NO2_mean_absolute_error: 0.1487 - val_O3_mean_absolute_error: 0.1487 - val_CO_mean_absolute_error: 0.1487\n",
"Epoch 30/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1488 - PM25_out_loss: 0.1488 - PM10_out_loss: 0.1488 - SO2_loss: 0.1488 - NO2_loss: 0.1488 - O3_loss: 0.1488 - CO_loss: 0.1488 - PM25_out_mean_absolute_error: 0.1488 - PM10_out_mean_absolute_error: 0.1488 - SO2_mean_absolute_error: 0.1488 - NO2_mean_absolute_error: 0.1488 - O3_mean_absolute_error: 0.1488 - CO_mean_absolute_error: 0.1488 - val_loss: 0.1482 - val_PM25_out_loss: 0.1482 - val_PM10_out_loss: 0.1482 - val_SO2_loss: 0.1482 - val_NO2_loss: 0.1482 - val_O3_loss: 0.1482 - val_CO_loss: 0.1482 - val_PM25_out_mean_absolute_error: 0.1482 - val_PM10_out_mean_absolute_error: 0.1482 - val_SO2_mean_absolute_error: 0.1482 - val_NO2_mean_absolute_error: 0.1482 - val_O3_mean_absolute_error: 0.1482 - val_CO_mean_absolute_error: 0.1482\n",
"Epoch 31/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1487 - PM25_out_loss: 0.1487 - PM10_out_loss: 0.1487 - SO2_loss: 0.1487 - NO2_loss: 0.1487 - O3_loss: 0.1487 - CO_loss: 0.1487 - PM25_out_mean_absolute_error: 0.1487 - PM10_out_mean_absolute_error: 0.1487 - SO2_mean_absolute_error: 0.1487 - NO2_mean_absolute_error: 0.1487 - O3_mean_absolute_error: 0.1487 - CO_mean_absolute_error: 0.1487 - val_loss: 0.1484 - val_PM25_out_loss: 0.1484 - val_PM10_out_loss: 0.1485 - val_SO2_loss: 0.1484 - val_NO2_loss: 0.1484 - val_O3_loss: 0.1484 - val_CO_loss: 0.1485 - val_PM25_out_mean_absolute_error: 0.1484 - val_PM10_out_mean_absolute_error: 0.1485 - val_SO2_mean_absolute_error: 0.1484 - val_NO2_mean_absolute_error: 0.1484 - val_O3_mean_absolute_error: 0.1484 - val_CO_mean_absolute_error: 0.1485\n",
"Epoch 32/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1487 - PM25_out_loss: 0.1487 - PM10_out_loss: 0.1487 - SO2_loss: 0.1487 - NO2_loss: 0.1487 - O3_loss: 0.1487 - CO_loss: 0.1486 - PM25_out_mean_absolute_error: 0.1487 - PM10_out_mean_absolute_error: 0.1487 - SO2_mean_absolute_error: 0.1487 - NO2_mean_absolute_error: 0.1487 - O3_mean_absolute_error: 0.1487 - CO_mean_absolute_error: 0.1486 - val_loss: 0.1483 - val_PM25_out_loss: 0.1483 - val_PM10_out_loss: 0.1483 - val_SO2_loss: 0.1483 - val_NO2_loss: 0.1483 - val_O3_loss: 0.1483 - val_CO_loss: 0.1483 - val_PM25_out_mean_absolute_error: 0.1483 - val_PM10_out_mean_absolute_error: 0.1483 - val_SO2_mean_absolute_error: 0.1483 - val_NO2_mean_absolute_error: 0.1483 - val_O3_mean_absolute_error: 0.1483 - val_CO_mean_absolute_error: 0.1483\n",
"Epoch 33/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1486 - PM25_out_loss: 0.1486 - PM10_out_loss: 0.1486 - SO2_loss: 0.1486 - NO2_loss: 0.1486 - O3_loss: 0.1486 - CO_loss: 0.1486 - PM25_out_mean_absolute_error: 0.1486 - PM10_out_mean_absolute_error: 0.1486 - SO2_mean_absolute_error: 0.1486 - NO2_mean_absolute_error: 0.1486 - O3_mean_absolute_error: 0.1486 - CO_mean_absolute_error: 0.1486 - val_loss: 0.1480 - val_PM25_out_loss: 0.1480 - val_PM10_out_loss: 0.1480 - val_SO2_loss: 0.1480 - val_NO2_loss: 0.1480 - val_O3_loss: 0.1480 - val_CO_loss: 0.1480 - val_PM25_out_mean_absolute_error: 0.1480 - val_PM10_out_mean_absolute_error: 0.1480 - val_SO2_mean_absolute_error: 0.1480 - val_NO2_mean_absolute_error: 0.1480 - val_O3_mean_absolute_error: 0.1480 - val_CO_mean_absolute_error: 0.1480\n",
"Epoch 34/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1486 - PM25_out_loss: 0.1486 - PM10_out_loss: 0.1486 - SO2_loss: 0.1486 - NO2_loss: 0.1486 - O3_loss: 0.1486 - CO_loss: 0.1486 - PM25_out_mean_absolute_error: 0.1486 - PM10_out_mean_absolute_error: 0.1486 - SO2_mean_absolute_error: 0.1486 - NO2_mean_absolute_error: 0.1486 - O3_mean_absolute_error: 0.1486 - CO_mean_absolute_error: 0.1486 - val_loss: 0.1481 - val_PM25_out_loss: 0.1481 - val_PM10_out_loss: 0.1481 - val_SO2_loss: 0.1481 - val_NO2_loss: 0.1481 - val_O3_loss: 0.1481 - val_CO_loss: 0.1481 - val_PM25_out_mean_absolute_error: 0.1481 - val_PM10_out_mean_absolute_error: 0.1481 - val_SO2_mean_absolute_error: 0.1481 - val_NO2_mean_absolute_error: 0.1481 - val_O3_mean_absolute_error: 0.1481 - val_CO_mean_absolute_error: 0.1481\n",
"Epoch 35/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1486 - PM25_out_loss: 0.1486 - PM10_out_loss: 0.1486 - SO2_loss: 0.1486 - NO2_loss: 0.1486 - O3_loss: 0.1486 - CO_loss: 0.1486 - PM25_out_mean_absolute_error: 0.1486 - PM10_out_mean_absolute_error: 0.1486 - SO2_mean_absolute_error: 0.1486 - NO2_mean_absolute_error: 0.1486 - O3_mean_absolute_error: 0.1486 - CO_mean_absolute_error: 0.1486 - val_loss: 0.1481 - val_PM25_out_loss: 0.1481 - val_PM10_out_loss: 0.1481 - val_SO2_loss: 0.1481 - val_NO2_loss: 0.1481 - val_O3_loss: 0.1481 - val_CO_loss: 0.1481 - val_PM25_out_mean_absolute_error: 0.1481 - val_PM10_out_mean_absolute_error: 0.1481 - val_SO2_mean_absolute_error: 0.1481 - val_NO2_mean_absolute_error: 0.1481 - val_O3_mean_absolute_error: 0.1481 - val_CO_mean_absolute_error: 0.1481\n",
"Epoch 36/100\n",
"1330/1330 [==============================] - 10s 7ms/step - loss: 0.1484 - PM25_out_loss: 0.1484 - PM10_out_loss: 0.1484 - SO2_loss: 0.1484 - NO2_loss: 0.1484 - O3_loss: 0.1484 - CO_loss: 0.1484 - PM25_out_mean_absolute_error: 0.1484 - PM10_out_mean_absolute_error: 0.1484 - SO2_mean_absolute_error: 0.1484 - NO2_mean_absolute_error: 0.1484 - O3_mean_absolute_error: 0.1484 - CO_mean_absolute_error: 0.1484 - val_loss: 0.1482 - val_PM25_out_loss: 0.1482 - val_PM10_out_loss: 0.1483 - val_SO2_loss: 0.1482 - val_NO2_loss: 0.1482 - val_O3_loss: 0.1482 - val_CO_loss: 0.1483 - val_PM25_out_mean_absolute_error: 0.1482 - val_PM10_out_mean_absolute_error: 0.1483 - val_SO2_mean_absolute_error: 0.1482 - val_NO2_mean_absolute_error: 0.1482 - val_O3_mean_absolute_error: 0.1482 - val_CO_mean_absolute_error: 0.1483\n",
"Epoch 37/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1485 - PM25_out_loss: 0.1485 - PM10_out_loss: 0.1485 - SO2_loss: 0.1485 - NO2_loss: 0.1485 - O3_loss: 0.1485 - CO_loss: 0.1485 - PM25_out_mean_absolute_error: 0.1485 - PM10_out_mean_absolute_error: 0.1485 - SO2_mean_absolute_error: 0.1485 - NO2_mean_absolute_error: 0.1485 - O3_mean_absolute_error: 0.1485 - CO_mean_absolute_error: 0.1485 - val_loss: 0.1486 - val_PM25_out_loss: 0.1486 - val_PM10_out_loss: 0.1486 - val_SO2_loss: 0.1486 - val_NO2_loss: 0.1486 - val_O3_loss: 0.1486 - val_CO_loss: 0.1486 - val_PM25_out_mean_absolute_error: 0.1486 - val_PM10_out_mean_absolute_error: 0.1486 - val_SO2_mean_absolute_error: 0.1486 - val_NO2_mean_absolute_error: 0.1486 - val_O3_mean_absolute_error: 0.1486 - val_CO_mean_absolute_error: 0.1486\n",
"Epoch 38/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1483 - PM25_out_loss: 0.1483 - PM10_out_loss: 0.1483 - SO2_loss: 0.1483 - NO2_loss: 0.1484 - O3_loss: 0.1483 - CO_loss: 0.1483 - PM25_out_mean_absolute_error: 0.1483 - PM10_out_mean_absolute_error: 0.1483 - SO2_mean_absolute_error: 0.1483 - NO2_mean_absolute_error: 0.1484 - O3_mean_absolute_error: 0.1483 - CO_mean_absolute_error: 0.1483 - val_loss: 0.1481 - val_PM25_out_loss: 0.1481 - val_PM10_out_loss: 0.1481 - val_SO2_loss: 0.1481 - val_NO2_loss: 0.1481 - val_O3_loss: 0.1481 - val_CO_loss: 0.1481 - val_PM25_out_mean_absolute_error: 0.1481 - val_PM10_out_mean_absolute_error: 0.1481 - val_SO2_mean_absolute_error: 0.1481 - val_NO2_mean_absolute_error: 0.1481 - val_O3_mean_absolute_error: 0.1481 - val_CO_mean_absolute_error: 0.1481\n",
"Epoch 39/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1483 - PM25_out_loss: 0.1483 - PM10_out_loss: 0.1483 - SO2_loss: 0.1483 - NO2_loss: 0.1483 - O3_loss: 0.1483 - CO_loss: 0.1483 - PM25_out_mean_absolute_error: 0.1483 - PM10_out_mean_absolute_error: 0.1483 - SO2_mean_absolute_error: 0.1483 - NO2_mean_absolute_error: 0.1483 - O3_mean_absolute_error: 0.1483 - CO_mean_absolute_error: 0.1483 - val_loss: 0.1480 - val_PM25_out_loss: 0.1480 - val_PM10_out_loss: 0.1480 - val_SO2_loss: 0.1480 - val_NO2_loss: 0.1480 - val_O3_loss: 0.1480 - val_CO_loss: 0.1480 - val_PM25_out_mean_absolute_error: 0.1480 - val_PM10_out_mean_absolute_error: 0.1480 - val_SO2_mean_absolute_error: 0.1480 - val_NO2_mean_absolute_error: 0.1480 - val_O3_mean_absolute_error: 0.1480 - val_CO_mean_absolute_error: 0.1480\n",
"Epoch 40/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1482 - PM25_out_loss: 0.1482 - PM10_out_loss: 0.1482 - SO2_loss: 0.1482 - NO2_loss: 0.1482 - O3_loss: 0.1482 - CO_loss: 0.1482 - PM25_out_mean_absolute_error: 0.1482 - PM10_out_mean_absolute_error: 0.1482 - SO2_mean_absolute_error: 0.1482 - NO2_mean_absolute_error: 0.1482 - O3_mean_absolute_error: 0.1482 - CO_mean_absolute_error: 0.1482 - val_loss: 0.1479 - val_PM25_out_loss: 0.1479 - val_PM10_out_loss: 0.1479 - val_SO2_loss: 0.1479 - val_NO2_loss: 0.1479 - val_O3_loss: 0.1479 - val_CO_loss: 0.1479 - val_PM25_out_mean_absolute_error: 0.1479 - val_PM10_out_mean_absolute_error: 0.1479 - val_SO2_mean_absolute_error: 0.1479 - val_NO2_mean_absolute_error: 0.1479 - val_O3_mean_absolute_error: 0.1479 - val_CO_mean_absolute_error: 0.1479\n",
"Epoch 41/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1483 - PM25_out_loss: 0.1483 - PM10_out_loss: 0.1483 - SO2_loss: 0.1483 - NO2_loss: 0.1484 - O3_loss: 0.1483 - CO_loss: 0.1483 - PM25_out_mean_absolute_error: 0.1483 - PM10_out_mean_absolute_error: 0.1483 - SO2_mean_absolute_error: 0.1483 - NO2_mean_absolute_error: 0.1484 - O3_mean_absolute_error: 0.1483 - CO_mean_absolute_error: 0.1483 - val_loss: 0.1479 - val_PM25_out_loss: 0.1479 - val_PM10_out_loss: 0.1479 - val_SO2_loss: 0.1479 - val_NO2_loss: 0.1479 - val_O3_loss: 0.1479 - val_CO_loss: 0.1479 - val_PM25_out_mean_absolute_error: 0.1479 - val_PM10_out_mean_absolute_error: 0.1479 - val_SO2_mean_absolute_error: 0.1479 - val_NO2_mean_absolute_error: 0.1479 - val_O3_mean_absolute_error: 0.1479 - val_CO_mean_absolute_error: 0.1479\n",
"Epoch 42/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1483 - PM25_out_loss: 0.1483 - PM10_out_loss: 0.1483 - SO2_loss: 0.1483 - NO2_loss: 0.1483 - O3_loss: 0.1483 - CO_loss: 0.1483 - PM25_out_mean_absolute_error: 0.1483 - PM10_out_mean_absolute_error: 0.1483 - SO2_mean_absolute_error: 0.1483 - NO2_mean_absolute_error: 0.1483 - O3_mean_absolute_error: 0.1483 - CO_mean_absolute_error: 0.1483 - val_loss: 0.1477 - val_PM25_out_loss: 0.1477 - val_PM10_out_loss: 0.1477 - val_SO2_loss: 0.1477 - val_NO2_loss: 0.1477 - val_O3_loss: 0.1477 - val_CO_loss: 0.1477 - val_PM25_out_mean_absolute_error: 0.1477 - val_PM10_out_mean_absolute_error: 0.1477 - val_SO2_mean_absolute_error: 0.1477 - val_NO2_mean_absolute_error: 0.1477 - val_O3_mean_absolute_error: 0.1477 - val_CO_mean_absolute_error: 0.1477\n",
"Epoch 43/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1482 - PM25_out_loss: 0.1482 - PM10_out_loss: 0.1482 - SO2_loss: 0.1482 - NO2_loss: 0.1482 - O3_loss: 0.1482 - CO_loss: 0.1482 - PM25_out_mean_absolute_error: 0.1482 - PM10_out_mean_absolute_error: 0.1482 - SO2_mean_absolute_error: 0.1482 - NO2_mean_absolute_error: 0.1482 - O3_mean_absolute_error: 0.1482 - CO_mean_absolute_error: 0.1482 - val_loss: 0.1492 - val_PM25_out_loss: 0.1492 - val_PM10_out_loss: 0.1492 - val_SO2_loss: 0.1492 - val_NO2_loss: 0.1492 - val_O3_loss: 0.1492 - val_CO_loss: 0.1492 - val_PM25_out_mean_absolute_error: 0.1492 - val_PM10_out_mean_absolute_error: 0.1492 - val_SO2_mean_absolute_error: 0.1492 - val_NO2_mean_absolute_error: 0.1492 - val_O3_mean_absolute_error: 0.1492 - val_CO_mean_absolute_error: 0.1492\n",
"Epoch 44/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1482 - PM25_out_loss: 0.1482 - PM10_out_loss: 0.1482 - SO2_loss: 0.1482 - NO2_loss: 0.1482 - O3_loss: 0.1482 - CO_loss: 0.1482 - PM25_out_mean_absolute_error: 0.1482 - PM10_out_mean_absolute_error: 0.1482 - SO2_mean_absolute_error: 0.1482 - NO2_mean_absolute_error: 0.1482 - O3_mean_absolute_error: 0.1482 - CO_mean_absolute_error: 0.1482 - val_loss: 0.1478 - val_PM25_out_loss: 0.1478 - val_PM10_out_loss: 0.1478 - val_SO2_loss: 0.1478 - val_NO2_loss: 0.1478 - val_O3_loss: 0.1478 - val_CO_loss: 0.1478 - val_PM25_out_mean_absolute_error: 0.1478 - val_PM10_out_mean_absolute_error: 0.1478 - val_SO2_mean_absolute_error: 0.1478 - val_NO2_mean_absolute_error: 0.1478 - val_O3_mean_absolute_error: 0.1478 - val_CO_mean_absolute_error: 0.1478\n",
"Epoch 45/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1481 - PM25_out_loss: 0.1481 - PM10_out_loss: 0.1481 - SO2_loss: 0.1481 - NO2_loss: 0.1481 - O3_loss: 0.1481 - CO_loss: 0.1481 - PM25_out_mean_absolute_error: 0.1481 - PM10_out_mean_absolute_error: 0.1481 - SO2_mean_absolute_error: 0.1481 - NO2_mean_absolute_error: 0.1481 - O3_mean_absolute_error: 0.1481 - CO_mean_absolute_error: 0.1481 - val_loss: 0.1481 - val_PM25_out_loss: 0.1481 - val_PM10_out_loss: 0.1481 - val_SO2_loss: 0.1481 - val_NO2_loss: 0.1481 - val_O3_loss: 0.1481 - val_CO_loss: 0.1481 - val_PM25_out_mean_absolute_error: 0.1481 - val_PM10_out_mean_absolute_error: 0.1481 - val_SO2_mean_absolute_error: 0.1481 - val_NO2_mean_absolute_error: 0.1481 - val_O3_mean_absolute_error: 0.1481 - val_CO_mean_absolute_error: 0.1481\n",
"Epoch 46/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1482 - PM25_out_loss: 0.1482 - PM10_out_loss: 0.1482 - SO2_loss: 0.1482 - NO2_loss: 0.1482 - O3_loss: 0.1482 - CO_loss: 0.1482 - PM25_out_mean_absolute_error: 0.1482 - PM10_out_mean_absolute_error: 0.1482 - SO2_mean_absolute_error: 0.1482 - NO2_mean_absolute_error: 0.1482 - O3_mean_absolute_error: 0.1482 - CO_mean_absolute_error: 0.1482 - val_loss: 0.1478 - val_PM25_out_loss: 0.1479 - val_PM10_out_loss: 0.1478 - val_SO2_loss: 0.1478 - val_NO2_loss: 0.1478 - val_O3_loss: 0.1478 - val_CO_loss: 0.1479 - val_PM25_out_mean_absolute_error: 0.1479 - val_PM10_out_mean_absolute_error: 0.1478 - val_SO2_mean_absolute_error: 0.1478 - val_NO2_mean_absolute_error: 0.1478 - val_O3_mean_absolute_error: 0.1478 - val_CO_mean_absolute_error: 0.1479\n",
"Epoch 47/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1480 - PM25_out_loss: 0.1480 - PM10_out_loss: 0.1480 - SO2_loss: 0.1480 - NO2_loss: 0.1480 - O3_loss: 0.1480 - CO_loss: 0.1480 - PM25_out_mean_absolute_error: 0.1480 - PM10_out_mean_absolute_error: 0.1480 - SO2_mean_absolute_error: 0.1480 - NO2_mean_absolute_error: 0.1480 - O3_mean_absolute_error: 0.1480 - CO_mean_absolute_error: 0.1480 - val_loss: 0.1478 - val_PM25_out_loss: 0.1478 - val_PM10_out_loss: 0.1478 - val_SO2_loss: 0.1478 - val_NO2_loss: 0.1478 - val_O3_loss: 0.1478 - val_CO_loss: 0.1478 - val_PM25_out_mean_absolute_error: 0.1478 - val_PM10_out_mean_absolute_error: 0.1478 - val_SO2_mean_absolute_error: 0.1478 - val_NO2_mean_absolute_error: 0.1478 - val_O3_mean_absolute_error: 0.1478 - val_CO_mean_absolute_error: 0.1478\n",
"Epoch 48/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1481 - PM25_out_loss: 0.1481 - PM10_out_loss: 0.1481 - SO2_loss: 0.1481 - NO2_loss: 0.1481 - O3_loss: 0.1481 - CO_loss: 0.1481 - PM25_out_mean_absolute_error: 0.1481 - PM10_out_mean_absolute_error: 0.1481 - SO2_mean_absolute_error: 0.1481 - NO2_mean_absolute_error: 0.1481 - O3_mean_absolute_error: 0.1481 - CO_mean_absolute_error: 0.1481 - val_loss: 0.1477 - val_PM25_out_loss: 0.1477 - val_PM10_out_loss: 0.1477 - val_SO2_loss: 0.1477 - val_NO2_loss: 0.1477 - val_O3_loss: 0.1477 - val_CO_loss: 0.1477 - val_PM25_out_mean_absolute_error: 0.1477 - val_PM10_out_mean_absolute_error: 0.1477 - val_SO2_mean_absolute_error: 0.1477 - val_NO2_mean_absolute_error: 0.1477 - val_O3_mean_absolute_error: 0.1477 - val_CO_mean_absolute_error: 0.1477\n",
"Epoch 49/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1479 - PM25_out_loss: 0.1479 - PM10_out_loss: 0.1479 - SO2_loss: 0.1479 - NO2_loss: 0.1479 - O3_loss: 0.1479 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1479 - PM10_out_mean_absolute_error: 0.1479 - SO2_mean_absolute_error: 0.1479 - NO2_mean_absolute_error: 0.1479 - O3_mean_absolute_error: 0.1479 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1477 - val_PM25_out_loss: 0.1477 - val_PM10_out_loss: 0.1477 - val_SO2_loss: 0.1477 - val_NO2_loss: 0.1477 - val_O3_loss: 0.1477 - val_CO_loss: 0.1477 - val_PM25_out_mean_absolute_error: 0.1477 - val_PM10_out_mean_absolute_error: 0.1477 - val_SO2_mean_absolute_error: 0.1477 - val_NO2_mean_absolute_error: 0.1477 - val_O3_mean_absolute_error: 0.1477 - val_CO_mean_absolute_error: 0.1477\n",
"Epoch 50/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1480 - PM25_out_loss: 0.1480 - PM10_out_loss: 0.1480 - SO2_loss: 0.1480 - NO2_loss: 0.1480 - O3_loss: 0.1480 - CO_loss: 0.1480 - PM25_out_mean_absolute_error: 0.1480 - PM10_out_mean_absolute_error: 0.1480 - SO2_mean_absolute_error: 0.1480 - NO2_mean_absolute_error: 0.1480 - O3_mean_absolute_error: 0.1480 - CO_mean_absolute_error: 0.1480 - val_loss: 0.1476 - val_PM25_out_loss: 0.1476 - val_PM10_out_loss: 0.1476 - val_SO2_loss: 0.1476 - val_NO2_loss: 0.1476 - val_O3_loss: 0.1476 - val_CO_loss: 0.1476 - val_PM25_out_mean_absolute_error: 0.1476 - val_PM10_out_mean_absolute_error: 0.1476 - val_SO2_mean_absolute_error: 0.1476 - val_NO2_mean_absolute_error: 0.1476 - val_O3_mean_absolute_error: 0.1476 - val_CO_mean_absolute_error: 0.1476\n",
"Epoch 51/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1479 - PM25_out_loss: 0.1479 - PM10_out_loss: 0.1479 - SO2_loss: 0.1479 - NO2_loss: 0.1479 - O3_loss: 0.1479 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1479 - PM10_out_mean_absolute_error: 0.1479 - SO2_mean_absolute_error: 0.1479 - NO2_mean_absolute_error: 0.1479 - O3_mean_absolute_error: 0.1479 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1477 - val_PM25_out_loss: 0.1477 - val_PM10_out_loss: 0.1477 - val_SO2_loss: 0.1477 - val_NO2_loss: 0.1477 - val_O3_loss: 0.1477 - val_CO_loss: 0.1477 - val_PM25_out_mean_absolute_error: 0.1477 - val_PM10_out_mean_absolute_error: 0.1477 - val_SO2_mean_absolute_error: 0.1477 - val_NO2_mean_absolute_error: 0.1477 - val_O3_mean_absolute_error: 0.1477 - val_CO_mean_absolute_error: 0.1477\n",
"Epoch 52/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1480 - PM25_out_loss: 0.1480 - PM10_out_loss: 0.1480 - SO2_loss: 0.1480 - NO2_loss: 0.1480 - O3_loss: 0.1480 - CO_loss: 0.1480 - PM25_out_mean_absolute_error: 0.1480 - PM10_out_mean_absolute_error: 0.1480 - SO2_mean_absolute_error: 0.1480 - NO2_mean_absolute_error: 0.1480 - O3_mean_absolute_error: 0.1480 - CO_mean_absolute_error: 0.1480 - val_loss: 0.1477 - val_PM25_out_loss: 0.1477 - val_PM10_out_loss: 0.1477 - val_SO2_loss: 0.1477 - val_NO2_loss: 0.1477 - val_O3_loss: 0.1477 - val_CO_loss: 0.1477 - val_PM25_out_mean_absolute_error: 0.1477 - val_PM10_out_mean_absolute_error: 0.1477 - val_SO2_mean_absolute_error: 0.1477 - val_NO2_mean_absolute_error: 0.1477 - val_O3_mean_absolute_error: 0.1477 - val_CO_mean_absolute_error: 0.1477\n",
"Epoch 53/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1479 - PM25_out_loss: 0.1479 - PM10_out_loss: 0.1479 - SO2_loss: 0.1479 - NO2_loss: 0.1479 - O3_loss: 0.1479 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1479 - PM10_out_mean_absolute_error: 0.1479 - SO2_mean_absolute_error: 0.1479 - NO2_mean_absolute_error: 0.1479 - O3_mean_absolute_error: 0.1479 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1478 - val_PM25_out_loss: 0.1478 - val_PM10_out_loss: 0.1478 - val_SO2_loss: 0.1478 - val_NO2_loss: 0.1478 - val_O3_loss: 0.1478 - val_CO_loss: 0.1478 - val_PM25_out_mean_absolute_error: 0.1478 - val_PM10_out_mean_absolute_error: 0.1478 - val_SO2_mean_absolute_error: 0.1478 - val_NO2_mean_absolute_error: 0.1478 - val_O3_mean_absolute_error: 0.1478 - val_CO_mean_absolute_error: 0.1478\n",
"Epoch 54/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1479 - PM25_out_loss: 0.1479 - PM10_out_loss: 0.1479 - SO2_loss: 0.1479 - NO2_loss: 0.1479 - O3_loss: 0.1479 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1479 - PM10_out_mean_absolute_error: 0.1479 - SO2_mean_absolute_error: 0.1479 - NO2_mean_absolute_error: 0.1479 - O3_mean_absolute_error: 0.1479 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1474 - val_PM25_out_loss: 0.1474 - val_PM10_out_loss: 0.1474 - val_SO2_loss: 0.1474 - val_NO2_loss: 0.1474 - val_O3_loss: 0.1474 - val_CO_loss: 0.1474 - val_PM25_out_mean_absolute_error: 0.1474 - val_PM10_out_mean_absolute_error: 0.1474 - val_SO2_mean_absolute_error: 0.1474 - val_NO2_mean_absolute_error: 0.1474 - val_O3_mean_absolute_error: 0.1474 - val_CO_mean_absolute_error: 0.1474\n",
"Epoch 55/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1479 - PM25_out_loss: 0.1479 - PM10_out_loss: 0.1479 - SO2_loss: 0.1479 - NO2_loss: 0.1479 - O3_loss: 0.1479 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1479 - PM10_out_mean_absolute_error: 0.1479 - SO2_mean_absolute_error: 0.1479 - NO2_mean_absolute_error: 0.1479 - O3_mean_absolute_error: 0.1479 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1476 - val_PM25_out_loss: 0.1476 - val_PM10_out_loss: 0.1476 - val_SO2_loss: 0.1476 - val_NO2_loss: 0.1476 - val_O3_loss: 0.1476 - val_CO_loss: 0.1476 - val_PM25_out_mean_absolute_error: 0.1476 - val_PM10_out_mean_absolute_error: 0.1476 - val_SO2_mean_absolute_error: 0.1476 - val_NO2_mean_absolute_error: 0.1476 - val_O3_mean_absolute_error: 0.1476 - val_CO_mean_absolute_error: 0.1476\n",
"Epoch 56/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1479 - PM25_out_loss: 0.1479 - PM10_out_loss: 0.1479 - SO2_loss: 0.1479 - NO2_loss: 0.1479 - O3_loss: 0.1479 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1479 - PM10_out_mean_absolute_error: 0.1479 - SO2_mean_absolute_error: 0.1479 - NO2_mean_absolute_error: 0.1479 - O3_mean_absolute_error: 0.1479 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1475 - val_PM25_out_loss: 0.1475 - val_PM10_out_loss: 0.1475 - val_SO2_loss: 0.1475 - val_NO2_loss: 0.1475 - val_O3_loss: 0.1475 - val_CO_loss: 0.1475 - val_PM25_out_mean_absolute_error: 0.1475 - val_PM10_out_mean_absolute_error: 0.1475 - val_SO2_mean_absolute_error: 0.1475 - val_NO2_mean_absolute_error: 0.1475 - val_O3_mean_absolute_error: 0.1475 - val_CO_mean_absolute_error: 0.1475\n",
"Epoch 57/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1479 - PM25_out_loss: 0.1479 - PM10_out_loss: 0.1479 - SO2_loss: 0.1479 - NO2_loss: 0.1479 - O3_loss: 0.1479 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1479 - PM10_out_mean_absolute_error: 0.1479 - SO2_mean_absolute_error: 0.1479 - NO2_mean_absolute_error: 0.1479 - O3_mean_absolute_error: 0.1479 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1476 - val_PM25_out_loss: 0.1476 - val_PM10_out_loss: 0.1476 - val_SO2_loss: 0.1476 - val_NO2_loss: 0.1476 - val_O3_loss: 0.1476 - val_CO_loss: 0.1476 - val_PM25_out_mean_absolute_error: 0.1476 - val_PM10_out_mean_absolute_error: 0.1476 - val_SO2_mean_absolute_error: 0.1476 - val_NO2_mean_absolute_error: 0.1476 - val_O3_mean_absolute_error: 0.1476 - val_CO_mean_absolute_error: 0.1476\n",
"Epoch 58/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1478 - PM25_out_loss: 0.1478 - PM10_out_loss: 0.1478 - SO2_loss: 0.1478 - NO2_loss: 0.1478 - O3_loss: 0.1478 - CO_loss: 0.1479 - PM25_out_mean_absolute_error: 0.1478 - PM10_out_mean_absolute_error: 0.1478 - SO2_mean_absolute_error: 0.1478 - NO2_mean_absolute_error: 0.1478 - O3_mean_absolute_error: 0.1478 - CO_mean_absolute_error: 0.1479 - val_loss: 0.1478 - val_PM25_out_loss: 0.1478 - val_PM10_out_loss: 0.1478 - val_SO2_loss: 0.1478 - val_NO2_loss: 0.1478 - val_O3_loss: 0.1478 - val_CO_loss: 0.1478 - val_PM25_out_mean_absolute_error: 0.1478 - val_PM10_out_mean_absolute_error: 0.1478 - val_SO2_mean_absolute_error: 0.1478 - val_NO2_mean_absolute_error: 0.1478 - val_O3_mean_absolute_error: 0.1478 - val_CO_mean_absolute_error: 0.1478\n",
"Epoch 59/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1478 - PM25_out_loss: 0.1478 - PM10_out_loss: 0.1478 - SO2_loss: 0.1478 - NO2_loss: 0.1478 - O3_loss: 0.1478 - CO_loss: 0.1478 - PM25_out_mean_absolute_error: 0.1478 - PM10_out_mean_absolute_error: 0.1478 - SO2_mean_absolute_error: 0.1478 - NO2_mean_absolute_error: 0.1478 - O3_mean_absolute_error: 0.1478 - CO_mean_absolute_error: 0.1478 - val_loss: 0.1473 - val_PM25_out_loss: 0.1473 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1473 - val_NO2_loss: 0.1473 - val_O3_loss: 0.1473 - val_CO_loss: 0.1474 - val_PM25_out_mean_absolute_error: 0.1473 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1473 - val_NO2_mean_absolute_error: 0.1473 - val_O3_mean_absolute_error: 0.1473 - val_CO_mean_absolute_error: 0.1474\n",
"Epoch 60/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1477 - PM25_out_loss: 0.1477 - PM10_out_loss: 0.1477 - SO2_loss: 0.1477 - NO2_loss: 0.1477 - O3_loss: 0.1477 - CO_loss: 0.1477 - PM25_out_mean_absolute_error: 0.1477 - PM10_out_mean_absolute_error: 0.1477 - SO2_mean_absolute_error: 0.1477 - NO2_mean_absolute_error: 0.1477 - O3_mean_absolute_error: 0.1477 - CO_mean_absolute_error: 0.1477 - val_loss: 0.1476 - val_PM25_out_loss: 0.1476 - val_PM10_out_loss: 0.1476 - val_SO2_loss: 0.1476 - val_NO2_loss: 0.1476 - val_O3_loss: 0.1476 - val_CO_loss: 0.1476 - val_PM25_out_mean_absolute_error: 0.1476 - val_PM10_out_mean_absolute_error: 0.1476 - val_SO2_mean_absolute_error: 0.1476 - val_NO2_mean_absolute_error: 0.1476 - val_O3_mean_absolute_error: 0.1476 - val_CO_mean_absolute_error: 0.1476\n",
"Epoch 61/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1477 - PM25_out_loss: 0.1477 - PM10_out_loss: 0.1477 - SO2_loss: 0.1477 - NO2_loss: 0.1477 - O3_loss: 0.1477 - CO_loss: 0.1477 - PM25_out_mean_absolute_error: 0.1477 - PM10_out_mean_absolute_error: 0.1477 - SO2_mean_absolute_error: 0.1477 - NO2_mean_absolute_error: 0.1477 - O3_mean_absolute_error: 0.1477 - CO_mean_absolute_error: 0.1477 - val_loss: 0.1474 - val_PM25_out_loss: 0.1474 - val_PM10_out_loss: 0.1474 - val_SO2_loss: 0.1474 - val_NO2_loss: 0.1474 - val_O3_loss: 0.1474 - val_CO_loss: 0.1474 - val_PM25_out_mean_absolute_error: 0.1474 - val_PM10_out_mean_absolute_error: 0.1474 - val_SO2_mean_absolute_error: 0.1474 - val_NO2_mean_absolute_error: 0.1474 - val_O3_mean_absolute_error: 0.1474 - val_CO_mean_absolute_error: 0.1474\n",
"Epoch 62/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1477 - PM25_out_loss: 0.1477 - PM10_out_loss: 0.1477 - SO2_loss: 0.1477 - NO2_loss: 0.1477 - O3_loss: 0.1477 - CO_loss: 0.1477 - PM25_out_mean_absolute_error: 0.1477 - PM10_out_mean_absolute_error: 0.1477 - SO2_mean_absolute_error: 0.1477 - NO2_mean_absolute_error: 0.1477 - O3_mean_absolute_error: 0.1477 - CO_mean_absolute_error: 0.1477 - val_loss: 0.1475 - val_PM25_out_loss: 0.1475 - val_PM10_out_loss: 0.1475 - val_SO2_loss: 0.1474 - val_NO2_loss: 0.1474 - val_O3_loss: 0.1474 - val_CO_loss: 0.1475 - val_PM25_out_mean_absolute_error: 0.1475 - val_PM10_out_mean_absolute_error: 0.1475 - val_SO2_mean_absolute_error: 0.1474 - val_NO2_mean_absolute_error: 0.1474 - val_O3_mean_absolute_error: 0.1474 - val_CO_mean_absolute_error: 0.1475\n",
"Epoch 63/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1477 - PM25_out_loss: 0.1477 - PM10_out_loss: 0.1477 - SO2_loss: 0.1477 - NO2_loss: 0.1477 - O3_loss: 0.1477 - CO_loss: 0.1477 - PM25_out_mean_absolute_error: 0.1477 - PM10_out_mean_absolute_error: 0.1477 - SO2_mean_absolute_error: 0.1477 - NO2_mean_absolute_error: 0.1477 - O3_mean_absolute_error: 0.1477 - CO_mean_absolute_error: 0.1477 - val_loss: 0.1477 - val_PM25_out_loss: 0.1477 - val_PM10_out_loss: 0.1477 - val_SO2_loss: 0.1477 - val_NO2_loss: 0.1477 - val_O3_loss: 0.1477 - val_CO_loss: 0.1477 - val_PM25_out_mean_absolute_error: 0.1477 - val_PM10_out_mean_absolute_error: 0.1477 - val_SO2_mean_absolute_error: 0.1477 - val_NO2_mean_absolute_error: 0.1477 - val_O3_mean_absolute_error: 0.1477 - val_CO_mean_absolute_error: 0.1477\n",
"Epoch 64/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1477 - PM25_out_loss: 0.1477 - PM10_out_loss: 0.1477 - SO2_loss: 0.1477 - NO2_loss: 0.1477 - O3_loss: 0.1477 - CO_loss: 0.1477 - PM25_out_mean_absolute_error: 0.1477 - PM10_out_mean_absolute_error: 0.1477 - SO2_mean_absolute_error: 0.1477 - NO2_mean_absolute_error: 0.1477 - O3_mean_absolute_error: 0.1477 - CO_mean_absolute_error: 0.1477 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 65/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1476 - PM25_out_loss: 0.1476 - PM10_out_loss: 0.1476 - SO2_loss: 0.1476 - NO2_loss: 0.1476 - O3_loss: 0.1476 - CO_loss: 0.1476 - PM25_out_mean_absolute_error: 0.1476 - PM10_out_mean_absolute_error: 0.1476 - SO2_mean_absolute_error: 0.1476 - NO2_mean_absolute_error: 0.1476 - O3_mean_absolute_error: 0.1476 - CO_mean_absolute_error: 0.1476 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 66/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1475 - PM25_out_loss: 0.1475 - PM10_out_loss: 0.1475 - SO2_loss: 0.1475 - NO2_loss: 0.1475 - O3_loss: 0.1475 - CO_loss: 0.1475 - PM25_out_mean_absolute_error: 0.1475 - PM10_out_mean_absolute_error: 0.1475 - SO2_mean_absolute_error: 0.1475 - NO2_mean_absolute_error: 0.1475 - O3_mean_absolute_error: 0.1475 - CO_mean_absolute_error: 0.1475 - val_loss: 0.1476 - val_PM25_out_loss: 0.1476 - val_PM10_out_loss: 0.1476 - val_SO2_loss: 0.1476 - val_NO2_loss: 0.1476 - val_O3_loss: 0.1476 - val_CO_loss: 0.1476 - val_PM25_out_mean_absolute_error: 0.1476 - val_PM10_out_mean_absolute_error: 0.1476 - val_SO2_mean_absolute_error: 0.1476 - val_NO2_mean_absolute_error: 0.1476 - val_O3_mean_absolute_error: 0.1476 - val_CO_mean_absolute_error: 0.1476\n",
"Epoch 67/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1476 - PM25_out_loss: 0.1476 - PM10_out_loss: 0.1476 - SO2_loss: 0.1476 - NO2_loss: 0.1476 - O3_loss: 0.1476 - CO_loss: 0.1476 - PM25_out_mean_absolute_error: 0.1476 - PM10_out_mean_absolute_error: 0.1476 - SO2_mean_absolute_error: 0.1476 - NO2_mean_absolute_error: 0.1476 - O3_mean_absolute_error: 0.1476 - CO_mean_absolute_error: 0.1476 - val_loss: 0.1474 - val_PM25_out_loss: 0.1475 - val_PM10_out_loss: 0.1474 - val_SO2_loss: 0.1475 - val_NO2_loss: 0.1474 - val_O3_loss: 0.1474 - val_CO_loss: 0.1475 - val_PM25_out_mean_absolute_error: 0.1475 - val_PM10_out_mean_absolute_error: 0.1474 - val_SO2_mean_absolute_error: 0.1475 - val_NO2_mean_absolute_error: 0.1474 - val_O3_mean_absolute_error: 0.1474 - val_CO_mean_absolute_error: 0.1475\n",
"Epoch 68/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1476 - PM25_out_loss: 0.1475 - PM10_out_loss: 0.1475 - SO2_loss: 0.1476 - NO2_loss: 0.1475 - O3_loss: 0.1476 - CO_loss: 0.1476 - PM25_out_mean_absolute_error: 0.1475 - PM10_out_mean_absolute_error: 0.1475 - SO2_mean_absolute_error: 0.1476 - NO2_mean_absolute_error: 0.1475 - O3_mean_absolute_error: 0.1476 - CO_mean_absolute_error: 0.1476 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 69/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1475 - PM25_out_loss: 0.1475 - PM10_out_loss: 0.1475 - SO2_loss: 0.1475 - NO2_loss: 0.1475 - O3_loss: 0.1475 - CO_loss: 0.1475 - PM25_out_mean_absolute_error: 0.1475 - PM10_out_mean_absolute_error: 0.1475 - SO2_mean_absolute_error: 0.1475 - NO2_mean_absolute_error: 0.1475 - O3_mean_absolute_error: 0.1475 - CO_mean_absolute_error: 0.1475 - val_loss: 0.1474 - val_PM25_out_loss: 0.1474 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1474 - val_NO2_loss: 0.1474 - val_O3_loss: 0.1474 - val_CO_loss: 0.1474 - val_PM25_out_mean_absolute_error: 0.1474 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1474 - val_NO2_mean_absolute_error: 0.1474 - val_O3_mean_absolute_error: 0.1474 - val_CO_mean_absolute_error: 0.1474\n",
"Epoch 70/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1475 - PM25_out_loss: 0.1475 - PM10_out_loss: 0.1475 - SO2_loss: 0.1475 - NO2_loss: 0.1474 - O3_loss: 0.1475 - CO_loss: 0.1475 - PM25_out_mean_absolute_error: 0.1475 - PM10_out_mean_absolute_error: 0.1475 - SO2_mean_absolute_error: 0.1475 - NO2_mean_absolute_error: 0.1474 - O3_mean_absolute_error: 0.1475 - CO_mean_absolute_error: 0.1475 - val_loss: 0.1474 - val_PM25_out_loss: 0.1474 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1474 - val_NO2_loss: 0.1473 - val_O3_loss: 0.1473 - val_CO_loss: 0.1474 - val_PM25_out_mean_absolute_error: 0.1474 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1474 - val_NO2_mean_absolute_error: 0.1473 - val_O3_mean_absolute_error: 0.1473 - val_CO_mean_absolute_error: 0.1474\n",
"Epoch 71/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1475 - PM25_out_loss: 0.1475 - PM10_out_loss: 0.1475 - SO2_loss: 0.1475 - NO2_loss: 0.1475 - O3_loss: 0.1475 - CO_loss: 0.1475 - PM25_out_mean_absolute_error: 0.1475 - PM10_out_mean_absolute_error: 0.1475 - SO2_mean_absolute_error: 0.1475 - NO2_mean_absolute_error: 0.1475 - O3_mean_absolute_error: 0.1475 - CO_mean_absolute_error: 0.1475 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 72/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1474 - PM25_out_loss: 0.1474 - PM10_out_loss: 0.1474 - SO2_loss: 0.1474 - NO2_loss: 0.1474 - O3_loss: 0.1474 - CO_loss: 0.1474 - PM25_out_mean_absolute_error: 0.1474 - PM10_out_mean_absolute_error: 0.1474 - SO2_mean_absolute_error: 0.1474 - NO2_mean_absolute_error: 0.1474 - O3_mean_absolute_error: 0.1474 - CO_mean_absolute_error: 0.1474 - val_loss: 0.1473 - val_PM25_out_loss: 0.1473 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1473 - val_NO2_loss: 0.1473 - val_O3_loss: 0.1473 - val_CO_loss: 0.1473 - val_PM25_out_mean_absolute_error: 0.1473 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1473 - val_NO2_mean_absolute_error: 0.1473 - val_O3_mean_absolute_error: 0.1473 - val_CO_mean_absolute_error: 0.1473\n",
"Epoch 73/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1475 - PM25_out_loss: 0.1475 - PM10_out_loss: 0.1475 - SO2_loss: 0.1475 - NO2_loss: 0.1475 - O3_loss: 0.1475 - CO_loss: 0.1475 - PM25_out_mean_absolute_error: 0.1475 - PM10_out_mean_absolute_error: 0.1475 - SO2_mean_absolute_error: 0.1475 - NO2_mean_absolute_error: 0.1475 - O3_mean_absolute_error: 0.1475 - CO_mean_absolute_error: 0.1475 - val_loss: 0.1472 - val_PM25_out_loss: 0.1471 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1471 - val_O3_loss: 0.1472 - val_CO_loss: 0.1471 - val_PM25_out_mean_absolute_error: 0.1471 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1471 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1471\n",
"Epoch 74/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1474 - PM25_out_loss: 0.1474 - PM10_out_loss: 0.1474 - SO2_loss: 0.1474 - NO2_loss: 0.1474 - O3_loss: 0.1474 - CO_loss: 0.1474 - PM25_out_mean_absolute_error: 0.1474 - PM10_out_mean_absolute_error: 0.1474 - SO2_mean_absolute_error: 0.1474 - NO2_mean_absolute_error: 0.1474 - O3_mean_absolute_error: 0.1474 - CO_mean_absolute_error: 0.1474 - val_loss: 0.1473 - val_PM25_out_loss: 0.1473 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1473 - val_NO2_loss: 0.1473 - val_O3_loss: 0.1473 - val_CO_loss: 0.1473 - val_PM25_out_mean_absolute_error: 0.1473 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1473 - val_NO2_mean_absolute_error: 0.1473 - val_O3_mean_absolute_error: 0.1473 - val_CO_mean_absolute_error: 0.1473\n",
"Epoch 75/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1473 - PM25_out_loss: 0.1473 - PM10_out_loss: 0.1473 - SO2_loss: 0.1473 - NO2_loss: 0.1473 - O3_loss: 0.1473 - CO_loss: 0.1473 - PM25_out_mean_absolute_error: 0.1473 - PM10_out_mean_absolute_error: 0.1473 - SO2_mean_absolute_error: 0.1473 - NO2_mean_absolute_error: 0.1473 - O3_mean_absolute_error: 0.1473 - CO_mean_absolute_error: 0.1473 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1473 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1473 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 76/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1474 - PM25_out_loss: 0.1474 - PM10_out_loss: 0.1474 - SO2_loss: 0.1474 - NO2_loss: 0.1474 - O3_loss: 0.1474 - CO_loss: 0.1474 - PM25_out_mean_absolute_error: 0.1474 - PM10_out_mean_absolute_error: 0.1474 - SO2_mean_absolute_error: 0.1474 - NO2_mean_absolute_error: 0.1474 - O3_mean_absolute_error: 0.1474 - CO_mean_absolute_error: 0.1474 - val_loss: 0.1474 - val_PM25_out_loss: 0.1474 - val_PM10_out_loss: 0.1474 - val_SO2_loss: 0.1475 - val_NO2_loss: 0.1474 - val_O3_loss: 0.1475 - val_CO_loss: 0.1474 - val_PM25_out_mean_absolute_error: 0.1474 - val_PM10_out_mean_absolute_error: 0.1474 - val_SO2_mean_absolute_error: 0.1475 - val_NO2_mean_absolute_error: 0.1474 - val_O3_mean_absolute_error: 0.1475 - val_CO_mean_absolute_error: 0.1474\n",
"Epoch 77/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1475 - PM25_out_loss: 0.1474 - PM10_out_loss: 0.1475 - SO2_loss: 0.1475 - NO2_loss: 0.1475 - O3_loss: 0.1475 - CO_loss: 0.1474 - PM25_out_mean_absolute_error: 0.1474 - PM10_out_mean_absolute_error: 0.1475 - SO2_mean_absolute_error: 0.1475 - NO2_mean_absolute_error: 0.1475 - O3_mean_absolute_error: 0.1475 - CO_mean_absolute_error: 0.1474 - val_loss: 0.1473 - val_PM25_out_loss: 0.1473 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1473 - val_NO2_loss: 0.1473 - val_O3_loss: 0.1473 - val_CO_loss: 0.1473 - val_PM25_out_mean_absolute_error: 0.1473 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1473 - val_NO2_mean_absolute_error: 0.1473 - val_O3_mean_absolute_error: 0.1473 - val_CO_mean_absolute_error: 0.1473\n",
"Epoch 78/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1473 - PM25_out_loss: 0.1473 - PM10_out_loss: 0.1473 - SO2_loss: 0.1473 - NO2_loss: 0.1473 - O3_loss: 0.1473 - CO_loss: 0.1473 - PM25_out_mean_absolute_error: 0.1473 - PM10_out_mean_absolute_error: 0.1473 - SO2_mean_absolute_error: 0.1473 - NO2_mean_absolute_error: 0.1473 - O3_mean_absolute_error: 0.1473 - CO_mean_absolute_error: 0.1473 - val_loss: 0.1471 - val_PM25_out_loss: 0.1471 - val_PM10_out_loss: 0.1471 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1471 - val_O3_loss: 0.1471 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1471 - val_PM10_out_mean_absolute_error: 0.1471 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1471 - val_O3_mean_absolute_error: 0.1471 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 79/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1472 - PM25_out_loss: 0.1472 - PM10_out_loss: 0.1472 - SO2_loss: 0.1472 - NO2_loss: 0.1472 - O3_loss: 0.1472 - CO_loss: 0.1472 - PM25_out_mean_absolute_error: 0.1472 - PM10_out_mean_absolute_error: 0.1472 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1472 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1472 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 80/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1473 - PM25_out_loss: 0.1473 - PM10_out_loss: 0.1473 - SO2_loss: 0.1473 - NO2_loss: 0.1473 - O3_loss: 0.1473 - CO_loss: 0.1473 - PM25_out_mean_absolute_error: 0.1473 - PM10_out_mean_absolute_error: 0.1473 - SO2_mean_absolute_error: 0.1473 - NO2_mean_absolute_error: 0.1473 - O3_mean_absolute_error: 0.1473 - CO_mean_absolute_error: 0.1473 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 81/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1473 - PM25_out_loss: 0.1473 - PM10_out_loss: 0.1473 - SO2_loss: 0.1473 - NO2_loss: 0.1473 - O3_loss: 0.1473 - CO_loss: 0.1473 - PM25_out_mean_absolute_error: 0.1473 - PM10_out_mean_absolute_error: 0.1473 - SO2_mean_absolute_error: 0.1473 - NO2_mean_absolute_error: 0.1473 - O3_mean_absolute_error: 0.1473 - CO_mean_absolute_error: 0.1473 - val_loss: 0.1471 - val_PM25_out_loss: 0.1471 - val_PM10_out_loss: 0.1471 - val_SO2_loss: 0.1471 - val_NO2_loss: 0.1471 - val_O3_loss: 0.1471 - val_CO_loss: 0.1471 - val_PM25_out_mean_absolute_error: 0.1471 - val_PM10_out_mean_absolute_error: 0.1471 - val_SO2_mean_absolute_error: 0.1471 - val_NO2_mean_absolute_error: 0.1471 - val_O3_mean_absolute_error: 0.1471 - val_CO_mean_absolute_error: 0.1471\n",
"Epoch 82/100\n",
"1330/1330 [==============================] - 9s 6ms/step - loss: 0.1472 - PM25_out_loss: 0.1472 - PM10_out_loss: 0.1473 - SO2_loss: 0.1472 - NO2_loss: 0.1473 - O3_loss: 0.1472 - CO_loss: 0.1473 - PM25_out_mean_absolute_error: 0.1472 - PM10_out_mean_absolute_error: 0.1473 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1473 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1473 - val_loss: 0.1473 - val_PM25_out_loss: 0.1473 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1473 - val_NO2_loss: 0.1473 - val_O3_loss: 0.1473 - val_CO_loss: 0.1473 - val_PM25_out_mean_absolute_error: 0.1473 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1473 - val_NO2_mean_absolute_error: 0.1473 - val_O3_mean_absolute_error: 0.1473 - val_CO_mean_absolute_error: 0.1473\n",
"Epoch 83/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1472 - PM25_out_loss: 0.1472 - PM10_out_loss: 0.1472 - SO2_loss: 0.1472 - NO2_loss: 0.1472 - O3_loss: 0.1472 - CO_loss: 0.1472 - PM25_out_mean_absolute_error: 0.1472 - PM10_out_mean_absolute_error: 0.1472 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1472 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1472 - val_loss: 0.1471 - val_PM25_out_loss: 0.1471 - val_PM10_out_loss: 0.1471 - val_SO2_loss: 0.1471 - val_NO2_loss: 0.1471 - val_O3_loss: 0.1471 - val_CO_loss: 0.1471 - val_PM25_out_mean_absolute_error: 0.1471 - val_PM10_out_mean_absolute_error: 0.1471 - val_SO2_mean_absolute_error: 0.1471 - val_NO2_mean_absolute_error: 0.1471 - val_O3_mean_absolute_error: 0.1471 - val_CO_mean_absolute_error: 0.1471\n",
"Epoch 84/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1472 - PM25_out_loss: 0.1471 - PM10_out_loss: 0.1472 - SO2_loss: 0.1472 - NO2_loss: 0.1472 - O3_loss: 0.1472 - CO_loss: 0.1472 - PM25_out_mean_absolute_error: 0.1471 - PM10_out_mean_absolute_error: 0.1472 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1472 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1472 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 85/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1473 - PM25_out_loss: 0.1473 - PM10_out_loss: 0.1473 - SO2_loss: 0.1473 - NO2_loss: 0.1473 - O3_loss: 0.1473 - CO_loss: 0.1473 - PM25_out_mean_absolute_error: 0.1473 - PM10_out_mean_absolute_error: 0.1473 - SO2_mean_absolute_error: 0.1473 - NO2_mean_absolute_error: 0.1473 - O3_mean_absolute_error: 0.1473 - CO_mean_absolute_error: 0.1473 - val_loss: 0.1473 - val_PM25_out_loss: 0.1473 - val_PM10_out_loss: 0.1473 - val_SO2_loss: 0.1473 - val_NO2_loss: 0.1473 - val_O3_loss: 0.1473 - val_CO_loss: 0.1473 - val_PM25_out_mean_absolute_error: 0.1473 - val_PM10_out_mean_absolute_error: 0.1473 - val_SO2_mean_absolute_error: 0.1473 - val_NO2_mean_absolute_error: 0.1473 - val_O3_mean_absolute_error: 0.1473 - val_CO_mean_absolute_error: 0.1473\n",
"Epoch 86/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1472 - PM25_out_loss: 0.1472 - PM10_out_loss: 0.1472 - SO2_loss: 0.1472 - NO2_loss: 0.1472 - O3_loss: 0.1472 - CO_loss: 0.1472 - PM25_out_mean_absolute_error: 0.1472 - PM10_out_mean_absolute_error: 0.1472 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1472 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1472 - val_loss: 0.1470 - val_PM25_out_loss: 0.1470 - val_PM10_out_loss: 0.1469 - val_SO2_loss: 0.1470 - val_NO2_loss: 0.1470 - val_O3_loss: 0.1470 - val_CO_loss: 0.1469 - val_PM25_out_mean_absolute_error: 0.1470 - val_PM10_out_mean_absolute_error: 0.1469 - val_SO2_mean_absolute_error: 0.1470 - val_NO2_mean_absolute_error: 0.1470 - val_O3_mean_absolute_error: 0.1470 - val_CO_mean_absolute_error: 0.1469\n",
"Epoch 87/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1472 - PM25_out_loss: 0.1472 - PM10_out_loss: 0.1472 - SO2_loss: 0.1472 - NO2_loss: 0.1472 - O3_loss: 0.1472 - CO_loss: 0.1472 - PM25_out_mean_absolute_error: 0.1472 - PM10_out_mean_absolute_error: 0.1472 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1472 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1472 - val_loss: 0.1476 - val_PM25_out_loss: 0.1476 - val_PM10_out_loss: 0.1476 - val_SO2_loss: 0.1476 - val_NO2_loss: 0.1476 - val_O3_loss: 0.1476 - val_CO_loss: 0.1476 - val_PM25_out_mean_absolute_error: 0.1476 - val_PM10_out_mean_absolute_error: 0.1476 - val_SO2_mean_absolute_error: 0.1476 - val_NO2_mean_absolute_error: 0.1476 - val_O3_mean_absolute_error: 0.1476 - val_CO_mean_absolute_error: 0.1476\n",
"Epoch 88/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1472 - PM25_out_loss: 0.1472 - PM10_out_loss: 0.1472 - SO2_loss: 0.1472 - NO2_loss: 0.1472 - O3_loss: 0.1472 - CO_loss: 0.1472 - PM25_out_mean_absolute_error: 0.1472 - PM10_out_mean_absolute_error: 0.1472 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1472 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1472 - val_loss: 0.1471 - val_PM25_out_loss: 0.1471 - val_PM10_out_loss: 0.1471 - val_SO2_loss: 0.1471 - val_NO2_loss: 0.1471 - val_O3_loss: 0.1471 - val_CO_loss: 0.1471 - val_PM25_out_mean_absolute_error: 0.1471 - val_PM10_out_mean_absolute_error: 0.1471 - val_SO2_mean_absolute_error: 0.1471 - val_NO2_mean_absolute_error: 0.1471 - val_O3_mean_absolute_error: 0.1471 - val_CO_mean_absolute_error: 0.1471\n",
"Epoch 89/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1472 - PM25_out_loss: 0.1471 - PM10_out_loss: 0.1472 - SO2_loss: 0.1472 - NO2_loss: 0.1472 - O3_loss: 0.1472 - CO_loss: 0.1472 - PM25_out_mean_absolute_error: 0.1471 - PM10_out_mean_absolute_error: 0.1472 - SO2_mean_absolute_error: 0.1472 - NO2_mean_absolute_error: 0.1472 - O3_mean_absolute_error: 0.1472 - CO_mean_absolute_error: 0.1472 - val_loss: 0.1482 - val_PM25_out_loss: 0.1482 - val_PM10_out_loss: 0.1482 - val_SO2_loss: 0.1482 - val_NO2_loss: 0.1482 - val_O3_loss: 0.1482 - val_CO_loss: 0.1482 - val_PM25_out_mean_absolute_error: 0.1482 - val_PM10_out_mean_absolute_error: 0.1482 - val_SO2_mean_absolute_error: 0.1482 - val_NO2_mean_absolute_error: 0.1482 - val_O3_mean_absolute_error: 0.1482 - val_CO_mean_absolute_error: 0.1482\n",
"Epoch 90/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1471 - PM25_out_loss: 0.1471 - PM10_out_loss: 0.1471 - SO2_loss: 0.1471 - NO2_loss: 0.1471 - O3_loss: 0.1471 - CO_loss: 0.1471 - PM25_out_mean_absolute_error: 0.1471 - PM10_out_mean_absolute_error: 0.1471 - SO2_mean_absolute_error: 0.1471 - NO2_mean_absolute_error: 0.1471 - O3_mean_absolute_error: 0.1471 - CO_mean_absolute_error: 0.1471 - val_loss: 0.1470 - val_PM25_out_loss: 0.1470 - val_PM10_out_loss: 0.1470 - val_SO2_loss: 0.1470 - val_NO2_loss: 0.1470 - val_O3_loss: 0.1470 - val_CO_loss: 0.1470 - val_PM25_out_mean_absolute_error: 0.1470 - val_PM10_out_mean_absolute_error: 0.1470 - val_SO2_mean_absolute_error: 0.1470 - val_NO2_mean_absolute_error: 0.1470 - val_O3_mean_absolute_error: 0.1470 - val_CO_mean_absolute_error: 0.1470\n",
"Epoch 91/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1471 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1471 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1479 - val_PM25_out_loss: 0.1479 - val_PM10_out_loss: 0.1479 - val_SO2_loss: 0.1479 - val_NO2_loss: 0.1479 - val_O3_loss: 0.1479 - val_CO_loss: 0.1479 - val_PM25_out_mean_absolute_error: 0.1479 - val_PM10_out_mean_absolute_error: 0.1479 - val_SO2_mean_absolute_error: 0.1479 - val_NO2_mean_absolute_error: 0.1479 - val_O3_mean_absolute_error: 0.1479 - val_CO_mean_absolute_error: 0.1479\n",
"Epoch 92/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1470 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1470 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1472 - val_PM25_out_loss: 0.1472 - val_PM10_out_loss: 0.1472 - val_SO2_loss: 0.1472 - val_NO2_loss: 0.1472 - val_O3_loss: 0.1472 - val_CO_loss: 0.1472 - val_PM25_out_mean_absolute_error: 0.1472 - val_PM10_out_mean_absolute_error: 0.1472 - val_SO2_mean_absolute_error: 0.1472 - val_NO2_mean_absolute_error: 0.1472 - val_O3_mean_absolute_error: 0.1472 - val_CO_mean_absolute_error: 0.1472\n",
"Epoch 93/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1471 - PM25_out_loss: 0.1471 - PM10_out_loss: 0.1471 - SO2_loss: 0.1471 - NO2_loss: 0.1471 - O3_loss: 0.1471 - CO_loss: 0.1471 - PM25_out_mean_absolute_error: 0.1471 - PM10_out_mean_absolute_error: 0.1471 - SO2_mean_absolute_error: 0.1471 - NO2_mean_absolute_error: 0.1471 - O3_mean_absolute_error: 0.1471 - CO_mean_absolute_error: 0.1471 - val_loss: 0.1470 - val_PM25_out_loss: 0.1470 - val_PM10_out_loss: 0.1470 - val_SO2_loss: 0.1470 - val_NO2_loss: 0.1470 - val_O3_loss: 0.1470 - val_CO_loss: 0.1470 - val_PM25_out_mean_absolute_error: 0.1470 - val_PM10_out_mean_absolute_error: 0.1470 - val_SO2_mean_absolute_error: 0.1470 - val_NO2_mean_absolute_error: 0.1470 - val_O3_mean_absolute_error: 0.1470 - val_CO_mean_absolute_error: 0.1470\n",
"Epoch 94/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1470 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1470 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1471 - val_PM25_out_loss: 0.1471 - val_PM10_out_loss: 0.1471 - val_SO2_loss: 0.1471 - val_NO2_loss: 0.1471 - val_O3_loss: 0.1471 - val_CO_loss: 0.1471 - val_PM25_out_mean_absolute_error: 0.1471 - val_PM10_out_mean_absolute_error: 0.1471 - val_SO2_mean_absolute_error: 0.1471 - val_NO2_mean_absolute_error: 0.1471 - val_O3_mean_absolute_error: 0.1471 - val_CO_mean_absolute_error: 0.1471\n",
"Epoch 95/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1470 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1470 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1478 - val_PM25_out_loss: 0.1478 - val_PM10_out_loss: 0.1478 - val_SO2_loss: 0.1478 - val_NO2_loss: 0.1478 - val_O3_loss: 0.1478 - val_CO_loss: 0.1478 - val_PM25_out_mean_absolute_error: 0.1478 - val_PM10_out_mean_absolute_error: 0.1478 - val_SO2_mean_absolute_error: 0.1478 - val_NO2_mean_absolute_error: 0.1478 - val_O3_mean_absolute_error: 0.1478 - val_CO_mean_absolute_error: 0.1478\n",
"Epoch 96/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1470 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1470 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1471 - val_PM25_out_loss: 0.1471 - val_PM10_out_loss: 0.1470 - val_SO2_loss: 0.1471 - val_NO2_loss: 0.1471 - val_O3_loss: 0.1471 - val_CO_loss: 0.1470 - val_PM25_out_mean_absolute_error: 0.1471 - val_PM10_out_mean_absolute_error: 0.1470 - val_SO2_mean_absolute_error: 0.1471 - val_NO2_mean_absolute_error: 0.1471 - val_O3_mean_absolute_error: 0.1471 - val_CO_mean_absolute_error: 0.1470\n",
"Epoch 97/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1470 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1470 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1470 - val_PM25_out_loss: 0.1470 - val_PM10_out_loss: 0.1470 - val_SO2_loss: 0.1470 - val_NO2_loss: 0.1470 - val_O3_loss: 0.1470 - val_CO_loss: 0.1470 - val_PM25_out_mean_absolute_error: 0.1470 - val_PM10_out_mean_absolute_error: 0.1470 - val_SO2_mean_absolute_error: 0.1470 - val_NO2_mean_absolute_error: 0.1470 - val_O3_mean_absolute_error: 0.1470 - val_CO_mean_absolute_error: 0.1470\n",
"Epoch 98/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1470 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1470 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1479 - val_PM25_out_loss: 0.1479 - val_PM10_out_loss: 0.1479 - val_SO2_loss: 0.1480 - val_NO2_loss: 0.1479 - val_O3_loss: 0.1479 - val_CO_loss: 0.1479 - val_PM25_out_mean_absolute_error: 0.1479 - val_PM10_out_mean_absolute_error: 0.1479 - val_SO2_mean_absolute_error: 0.1480 - val_NO2_mean_absolute_error: 0.1479 - val_O3_mean_absolute_error: 0.1479 - val_CO_mean_absolute_error: 0.1479\n",
"Epoch 99/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1469 - PM25_out_loss: 0.1469 - PM10_out_loss: 0.1469 - SO2_loss: 0.1469 - NO2_loss: 0.1469 - O3_loss: 0.1469 - CO_loss: 0.1469 - PM25_out_mean_absolute_error: 0.1469 - PM10_out_mean_absolute_error: 0.1469 - SO2_mean_absolute_error: 0.1469 - NO2_mean_absolute_error: 0.1469 - O3_mean_absolute_error: 0.1469 - CO_mean_absolute_error: 0.1469 - val_loss: 0.1469 - val_PM25_out_loss: 0.1469 - val_PM10_out_loss: 0.1469 - val_SO2_loss: 0.1469 - val_NO2_loss: 0.1469 - val_O3_loss: 0.1469 - val_CO_loss: 0.1469 - val_PM25_out_mean_absolute_error: 0.1469 - val_PM10_out_mean_absolute_error: 0.1469 - val_SO2_mean_absolute_error: 0.1469 - val_NO2_mean_absolute_error: 0.1469 - val_O3_mean_absolute_error: 0.1469 - val_CO_mean_absolute_error: 0.1469\n",
"Epoch 100/100\n",
"1330/1330 [==============================] - 9s 7ms/step - loss: 0.1470 - PM25_out_loss: 0.1470 - PM10_out_loss: 0.1470 - SO2_loss: 0.1470 - NO2_loss: 0.1470 - O3_loss: 0.1470 - CO_loss: 0.1470 - PM25_out_mean_absolute_error: 0.1470 - PM10_out_mean_absolute_error: 0.1470 - SO2_mean_absolute_error: 0.1470 - NO2_mean_absolute_error: 0.1470 - O3_mean_absolute_error: 0.1470 - CO_mean_absolute_error: 0.1470 - val_loss: 0.1468 - val_PM25_out_loss: 0.1468 - val_PM10_out_loss: 0.1468 - val_SO2_loss: 0.1468 - val_NO2_loss: 0.1468 - val_O3_loss: 0.1468 - val_CO_loss: 0.1468 - val_PM25_out_mean_absolute_error: 0.1468 - val_PM10_out_mean_absolute_error: 0.1468 - val_SO2_mean_absolute_error: 0.1468 - val_NO2_mean_absolute_error: 0.1468 - val_O3_mean_absolute_error: 0.1468 - val_CO_mean_absolute_error: 0.1468\n"
]
}
],
"source": [
"model_history = model.fit(\n",
" {'input': np.expand_dims(train_data[feature_cols].values, axis=1)},\n",
" {\n",
" 'PM25_out': train_data['PM25_out'], \n",
" 'PM10_out': train_data['PM10_out'],\n",
" 'SO2': train_data['SO2'], \n",
" 'NO2': train_data['NO2'], \n",
" 'O3': train_data['O3'], \n",
" 'CO': train_data['CO'],\n",
" }\n",
" validation_data=(np.expand_dims(valid_data[feature_cols].values, axis=1), valid_data[train_cols].values),\n",
" epochs=100, batch_size=32, verbose=1)"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[array([[0.41288808],\n",
" [0.371244 ],\n",
" [0.74079716],\n",
" ...,\n",
" [0.52634007],\n",
" [0.54623914],\n",
" [0.4042498 ]], dtype=float32),\n",
" array([[0.41288978],\n",
" [0.37125117],\n",
" [0.74138767],\n",
" ...,\n",
" [0.5266293 ],\n",
" [0.54674375],\n",
" [0.40426075]], dtype=float32),\n",
" array([[0.4128582 ],\n",
" [0.37116575],\n",
" [0.73997295],\n",
" ...,\n",
" [0.52627385],\n",
" [0.5460993 ],\n",
" [0.40421262]], dtype=float32),\n",
" array([[0.41284245],\n",
" [0.37098345],\n",
" [0.739959 ],\n",
" ...,\n",
" [0.52635205],\n",
" [0.54622245],\n",
" [0.4041626 ]], dtype=float32),\n",
" array([[0.4128776 ],\n",
" [0.37116355],\n",
" [0.73998165],\n",
" ...,\n",
" [0.52636135],\n",
" [0.5462481 ],\n",
" [0.40422636]], dtype=float32),\n",
" array([[0.4129048 ],\n",
" [0.3712822 ],\n",
" [0.7416484 ],\n",
" ...,\n",
" [0.52661294],\n",
" [0.5467247 ],\n",
" [0.40427694]], dtype=float32)]"
]
},
"execution_count": 123,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rst = model.predict(np.expand_dims(test_data[feature_cols], axis=1))\n",
"rst"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [],
"source": [
"y_pred_pm25 = rst[0].reshape(-1, )\n",
"y_pred_pm10 = rst[1].reshape(-1, )\n",
"y_pred_so2 = rst[2].reshape(-1, )\n",
"y_pred_no2 = rst[3].reshape(-1, )\n",
"y_pred_o3 = rst[4].reshape(-1, )\n",
"y_pred_co = rst[5].reshape(-1, )\n",
"y_true_pm25 = test_data['PM2.5'].values.reshape(-1,)\n",
"y_true_pm10 = test_data['PM10'].values.reshape(-1,)\n",
"y_true_so2 = test_data['SO2'].values.reshape(-1,)\n",
"y_true_no2 = test_data['NO2'].values.reshape(-1,)\n",
"y_true_o3 = test_data['O3'].values.reshape(-1,)\n",
"y_true_co = test_data['CO'].values.reshape(-1,)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"y_pred_pm25_ori = np.expm1(y_pred_pm25 * (out_maxs['PM2.5'] - out_mins['PM2.5']) - out_mins['PM2.5'])\n",
"y_true_pm25_ori = np.expm1(y_true_pm25 * (out_maxs['PM2.5'] - out_mins['PM2.5']) - out_mins['PM2.5'])"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score, mean_absolute_percentage_error"
]
},
{
"cell_type": "code",
"execution_count": 127,
"metadata": {},
"outputs": [],
"source": [
"def print_eva(y_true, y_pred, tp):\n",
" MSE = mean_squared_error(y_true, y_pred)\n",
" RMSE = np.sqrt(MSE)\n",
" MAE = mean_absolute_error(y_true, y_pred)\n",
" MAPE = mean_absolute_percentage_error(y_true, y_pred)\n",
" R_2 = r2_score(y_true, y_pred)\n",
" print(f\"COL: {tp}, MSE: {format(MSE, '.2E')}\", end=',')\n",
" print(f'RMSE: {round(RMSE, 4)}', end=',')\n",
" print(f'MAPE: {round(MAPE, 4) * 100} %', end=',')\n",
" print(f'MAE: {round(MAE, 4)}', end=',')\n",
" print(f'R_2: {round(R_2, 4)}')"
]
},
{
"cell_type": "code",
"execution_count": 128,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"COL: pm25, MSE: 1.43E-02,RMSE: 0.1195,MAPE: 19.59 %,MAE: 0.0962,R_2: 0.3318\n",
"COL: pm10, MSE: 9.22E-03,RMSE: 0.096,MAPE: 15.959999999999999 %,MAE: 0.0755,R_2: 0.3024\n",
"COL: so2, MSE: 2.89E-02,RMSE: 0.1701,MAPE: 62.949999999999996 %,MAE: 0.1416,R_2: 0.1961\n",
"COL: no2, MSE: 2.90E-02,RMSE: 0.1702,MAPE: 25.85 %,MAE: 0.1411,R_2: -0.0451\n",
"COL: o3, MSE: 7.21E-02,RMSE: 0.2686,MAPE: 58.330000000000005 %,MAE: 0.2291,R_2: -0.5411\n",
"COL: co, MSE: 4.65E-02,RMSE: 0.2156,MAPE: 100.44 %,MAE: 0.1921,R_2: -1.132\n"
]
}
],
"source": [
"print_eva(y_true_pm25, y_pred_pm25, tp='pm25')\n",
"print_eva(y_true_pm10, y_pred_pm10, tp='pm10')\n",
"print_eva(y_true_so2, y_pred_so2, tp='so2')\n",
"print_eva(y_true_no2, y_pred_no2, tp='no2')\n",
"print_eva(y_true_o3, y_pred_o3, tp='o3')\n",
"print_eva(y_true_co, y_pred_co, tp='co')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"np.expm1(y_true)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "py37",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.13"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "e35e91facd2b4cfa08991d112893a00c4d14d1c91c990d1b62f3056d14d2f283"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}