diff --git a/Regression using ANN/CCPP_ANN.ipynb b/Regression using ANN/CCPP_ANN.ipynb index e13d71c5..91f48fc5 100644 --- a/Regression using ANN/CCPP_ANN.ipynb +++ b/Regression using ANN/CCPP_ANN.ipynb @@ -4,7 +4,7 @@ "metadata": { "colab": { "provenance": [], - "include_colab_link": true + "gpuType": "T4" }, "kernelspec": { "name": "python3", @@ -12,14 +12,14 @@ }, "language_info": { "name": "python" - } + }, + "accelerator": "GPU" }, "cells": [ { "cell_type": "markdown", "metadata": { - "id": "view-in-github", - "colab_type": "text" + "id": "view-in-github" }, "source": [ "\"Open" @@ -34,63 +34,46 @@ "id": "vKB9yAxzMYJd" } }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "0V0y2N8XVtuo" - }, - "outputs": [], - "source": [ - "import tensorflow as tf\n", - "import numpy as np\n", - "import pandas as pd" - ] - }, - { - "cell_type": "code", - "source": [ - "data = pd.read_excel(\"/content/drive/MyDrive/Colab Notebooks/ANN/Folds5x2_pp.xlsx\")" - ], - "metadata": { - "id": "qsVE5AxoDVSL" - }, - "execution_count": null, - "outputs": [] - }, { "cell_type": "code", "source": [ - "from google.colab import drive\n", - "drive.mount('/content/drive')" + "! pip install ucimlrepo\n", + "!pip install keras-tuner\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, - "id": "-2IshJ60qqEE", - "outputId": "c08ba8c7-7fcf-4a0f-8002-a8a73070a1ca" + "id": "cHuLWgylCmFX", + "outputId": "4b57b777-a367-44e5-afd7-35a77f5544b7" }, - "execution_count": null, + "execution_count": 2, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n" + "Collecting ucimlrepo\n", + " Downloading ucimlrepo-0.0.7-py3-none-any.whl.metadata (5.5 kB)\n", + "Requirement already satisfied: pandas>=1.0.0 in /usr/local/lib/python3.12/dist-packages (from ucimlrepo) (2.2.2)\n", + "Requirement already satisfied: certifi>=2020.12.5 in /usr/local/lib/python3.12/dist-packages (from ucimlrepo) (2026.6.17)\n", + "Requirement already satisfied: numpy>=1.26.0 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0.0->ucimlrepo) (2.0.2)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0.0->ucimlrepo) (2.9.0.post0)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0.0->ucimlrepo) (2025.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0.0->ucimlrepo) (2026.3)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.8.2->pandas>=1.0.0->ucimlrepo) (1.17.0)\n", + "Downloading ucimlrepo-0.0.7-py3-none-any.whl (8.0 kB)\n", + "Installing collected packages: ucimlrepo\n", + "Successfully installed ucimlrepo-0.0.7\n" ] } ] }, { "cell_type": "code", - "source": [ - "#seperating values of dataset \n", - "X = data.iloc[:,:-1].values\n", - "Y = data.iloc[:,-1].values" - ], + "source": [], "metadata": { - "id": "JG22B2v2V5Qb" + "id": "GNkGvW2aE_3G" }, "execution_count": null, "outputs": [] @@ -98,90 +81,195 @@ { "cell_type": "code", "source": [ - "#splitting the dataset into train set and test set\n", - "from sklearn.model_selection import train_test_split as tts\n", - "X_train,X_test,Y_train,Y_test = tts(X,Y, test_size = 0.2, random_state = 0)" + "import tensorflow as tf\n", + "import numpy as np\n", + "import pandas as pd\n", + "from ucimlrepo import fetch_ucirepo\n", + "import keras_tuner as kt" ], "metadata": { - "id": "GSQpRA70_EnV" + "id": "N3SlI5I8DDKr" }, - "execution_count": null, + "execution_count": 15, "outputs": [] }, { "cell_type": "code", "source": [ - "ann = tf.keras.models.Sequential()" + "combined_cycle_power_plant = fetch_ucirepo(id=294)\n", + "\n", + "# data (as pandas dataframes)\n", + "X = combined_cycle_power_plant.data.features\n", + "y = combined_cycle_power_plant.data.targets\n", + "\n", + "# metadata\n", + "# print(combined_cycle_power_plant.metadata)\n", + "\n", + "# # variable information\n", + "# print(combined_cycle_power_plant.variables)\n" ], "metadata": { - "id": "9nRKGjws_E27" + "id": "TdOtEmrJCo3E" }, - "execution_count": null, + "execution_count": 5, "outputs": [] }, - { - "cell_type": "markdown", - "source": [ - "The tf.keras.models.Sequential() function returns a new sequential model object that can be used to define\n", - "the architecture of a neural network. Once initialized, you can add layers to the model using the add() method.\n" - ], - "metadata": { - "id": "hMNEpujq32n4" - } - }, { "cell_type": "code", "source": [ - "ann.add(tf.keras.layers.Dense(units = 6, activation=\"relu\"))" + "df = pd.concat([X, y], axis=1)\n", + "\n", + "print(df.head())" ], "metadata": { - "id": "NAWN0NEo_FQi" + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "8540otb-C7ol", + "outputId": "275c2720-0e38-469a-def8-49132ce71858" }, - "execution_count": null, - "outputs": [] + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " AT V AP RH PE\n", + "0 14.96 41.76 1024.07 73.17 463.26\n", + "1 25.18 62.96 1020.04 59.08 444.37\n", + "2 5.11 39.40 1012.16 92.14 488.56\n", + "3 20.86 57.32 1010.24 76.64 446.48\n", + "4 10.82 37.50 1009.23 96.62 473.90\n" + ] + } + ] }, { "cell_type": "code", "source": [ - "ann.add(tf.keras.layers.Dense(units = 6, activation=\"relu\"))" + "#seperating values of dataset\n", + "X = df.iloc[:,:-1].values\n", + "Y = df.iloc[:,-1].values" ], "metadata": { - "id": "o-tEk4mk_FaV" + "id": "JG22B2v2V5Qb" }, - "execution_count": null, + "execution_count": 7, "outputs": [] }, { "cell_type": "code", "source": [ - "ann.add(tf.keras.layers.Dense(units = 1))" + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler\n", + "\n", + "X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=42)\n", + "\n", + "# Initialize Scaler\n", + "scaler = StandardScaler()\n", + "\n", + "# Fit on training data AND transform it\n", + "X_train_scaled = scaler.fit_transform(X_train)\n", + "\n", + "# Transform test data using the SAME fitted scaler\n", + "X_test_scaled = scaler.transform(X_test)" ], "metadata": { - "id": "DWQYEAEf_Fe9" + "id": "hEXq3Zd0EBeU" }, - "execution_count": null, + "execution_count": 12, "outputs": [] }, { "cell_type": "markdown", "source": [ - "The Adam optimizer is a widely used optimization algorithm for training deep learning models. It uses a combination of momentum and adaptive learning rates to efficiently navigate the high-dimensional parameter space and converge to a good solution.\n" + "The tf.keras.models.Sequential() function returns a new sequential model object that can be used to define\n", + "the architecture of a neural network. Once initialized, you can add layers to the model using the add() method.\n" ], "metadata": { - "id": "ySqtFMiIIww6" + "id": "hMNEpujq32n4" } }, { "cell_type": "code", "source": [ - "ann.compile(optimizer = 'adam', loss = 'mean_squared_error')" + "def build_model(hp):\n", + " model = tf.keras.models.Sequential()\n", + "\n", + " # Automatically tune the number of hidden layers (e.g., between 1 and 4)\n", + " for i in range(hp.Int('num_layers', min_value=1, max_value=4)):\n", + " model.add(\n", + " tf.keras.layers.Dense(\n", + " # Automatically tune the number of units/neurons per layer\n", + " units=hp.Int(f'units_{i}', min_value=8, max_value=128, step=8),\n", + " # Automatically test different activation functions\n", + " activation=hp.Choice(f'activation_{i}', values=['relu', 'tanh'])\n", + " )\n", + " )\n", + "\n", + " # Output layer for regression (1 unit, no activation function)\n", + " model.add(tf.keras.layers.Dense(units=1))\n", + "\n", + " # Automatically tune the learning rate for the Adam optimizer\n", + " hp_learning_rate = hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])\n", + "\n", + " model.compile(\n", + " optimizer=tf.keras.optimizers.Adam(learning_rate=hp_learning_rate),\n", + " loss='mean_squared_error',\n", + " metrics=['mean_absolute_error']\n", + " )\n", + "\n", + " return model" ], "metadata": { - "id": "khFLNcH0GuAR" + "collapsed": true, + "id": "qjPvj8GYE58e" }, - "execution_count": null, + "execution_count": 16, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "tuner = kt.Hyperband(\n", + " build_model,\n", + " objective='val_loss',\n", + " max_epochs=20,\n", + " factor=3,\n", + " directory='keras_tuner_dir',\n", + " project_name='ccpp_tuning'\n", + ")\n", + "tuner.search(\n", + " X_train_scaled,\n", + " y_train,\n", + " epochs=20,\n", + " validation_data=(X_test_scaled, y_test)\n", + ")\n", + "best_model = tuner.get_best_models(num_models=1)[0]" + ], + "metadata": { + "id": "NAWN0NEo_FQi", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "collapsed": true, + "outputId": "58bf29e6-f27f-4223-cea7-3e453af03528" + }, + "execution_count": 17, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Trial 30 Complete [00h 00m 23s]\n", + "val_loss: 17.565309524536133\n", + "\n", + "Best val_loss So Far: 16.797618865966797\n", + "Total elapsed time: 00h 05m 47s\n" + ] + } + ] + }, { "cell_type": "markdown", "source": [ @@ -194,263 +282,245 @@ { "cell_type": "code", "source": [ - "ann.fit(X_train, Y_train, batch_size = 32, epochs = 100)" + "history = best_model.fit(X_train_scaled, y_train, epochs=100, batch_size=32, validation_data=(X_test_scaled, y_test))\n", + "\n", + "loss_df = pd.DataFrame(history.history)\n", + "\n", + "# Add Epoch column starting at 1\n", + "loss_df.index = loss_df.index + 1\n", + "loss_df.index.name = 'Epoch'\n", + "\n", + "# Display the loss values\n", + "print(loss_df)" ], "metadata": { - "id": "rlNrNm0__FlT", "colab": { "base_uri": "https://localhost:8080/" }, - "outputId": "2c126d38-17ce-438e-d8f5-f5b13e515098" + "id": "NTQkWvpSvYfU", + "outputId": "07cf4137-7b68-4552-e408-b6bd7616975f" }, - "execution_count": null, + "execution_count": 18, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Epoch 1/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 87643.6719\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 11ms/step - loss: 18.3178 - mean_absolute_error: 3.3199 - val_loss: 18.4678 - val_mean_absolute_error: 3.2960\n", "Epoch 2/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 267.0827\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 3ms/step - loss: 18.4355 - mean_absolute_error: 3.3252 - val_loss: 20.0764 - val_mean_absolute_error: 3.5339\n", "Epoch 3/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 225.0462\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.7356 - mean_absolute_error: 3.3569 - val_loss: 22.9946 - val_mean_absolute_error: 3.8140\n", "Epoch 4/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 218.9589\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.7002 - mean_absolute_error: 3.3512 - val_loss: 20.5898 - val_mean_absolute_error: 3.6000\n", "Epoch 5/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 211.9290\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.5721 - mean_absolute_error: 3.3498 - val_loss: 17.1752 - val_mean_absolute_error: 3.2526\n", "Epoch 6/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 204.1414\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.3797 - mean_absolute_error: 3.3233 - val_loss: 17.8122 - val_mean_absolute_error: 3.2625\n", "Epoch 7/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 195.1124\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.4118 - mean_absolute_error: 3.3255 - val_loss: 17.0099 - val_mean_absolute_error: 3.2465\n", "Epoch 8/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 185.7437\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.1923 - mean_absolute_error: 3.3109 - val_loss: 17.8171 - val_mean_absolute_error: 3.3171\n", "Epoch 9/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 175.2805\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8804 - mean_absolute_error: 3.2701 - val_loss: 17.0761 - val_mean_absolute_error: 3.2503\n", "Epoch 10/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 165.0381\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.3804 - mean_absolute_error: 3.3021 - val_loss: 17.3709 - val_mean_absolute_error: 3.3093\n", "Epoch 11/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 153.9754\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.0527 - mean_absolute_error: 3.2931 - val_loss: 16.9568 - val_mean_absolute_error: 3.2407\n", "Epoch 12/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 143.2326\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 18.2192 - mean_absolute_error: 3.3030 - val_loss: 18.7883 - val_mean_absolute_error: 3.4111\n", "Epoch 13/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 132.4496\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 18.0092 - mean_absolute_error: 3.2921 - val_loss: 17.0024 - val_mean_absolute_error: 3.2374\n", "Epoch 14/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 122.1509\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.8316 - mean_absolute_error: 3.2690 - val_loss: 21.0703 - val_mean_absolute_error: 3.5564\n", "Epoch 15/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 111.8504\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.1136 - mean_absolute_error: 3.2859 - val_loss: 16.9130 - val_mean_absolute_error: 3.2391\n", "Epoch 16/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 102.4270\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.7318 - mean_absolute_error: 3.2568 - val_loss: 19.7436 - val_mean_absolute_error: 3.4556\n", "Epoch 17/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 94.0232\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8528 - mean_absolute_error: 3.2774 - val_loss: 17.3111 - val_mean_absolute_error: 3.2751\n", "Epoch 18/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 85.3746\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.9363 - mean_absolute_error: 3.2730 - val_loss: 16.9114 - val_mean_absolute_error: 3.1885\n", "Epoch 19/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 77.8924\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.7905 - mean_absolute_error: 3.2607 - val_loss: 18.0174 - val_mean_absolute_error: 3.3286\n", "Epoch 20/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 71.0033\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8079 - mean_absolute_error: 3.2619 - val_loss: 17.5210 - val_mean_absolute_error: 3.3102\n", "Epoch 21/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 64.9267\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.4696 - mean_absolute_error: 3.3235 - val_loss: 17.1580 - val_mean_absolute_error: 3.2717\n", "Epoch 22/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 59.5436\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8167 - mean_absolute_error: 3.2683 - val_loss: 17.0482 - val_mean_absolute_error: 3.2196\n", "Epoch 23/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 54.3075\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.4594 - mean_absolute_error: 3.3265 - val_loss: 17.0118 - val_mean_absolute_error: 3.2384\n", "Epoch 24/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 50.2759\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8246 - mean_absolute_error: 3.2602 - val_loss: 16.7081 - val_mean_absolute_error: 3.1914\n", "Epoch 25/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 46.5180\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.9689 - mean_absolute_error: 3.2740 - val_loss: 16.9617 - val_mean_absolute_error: 3.2012\n", "Epoch 26/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 43.8271\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.7611 - mean_absolute_error: 3.2614 - val_loss: 16.5995 - val_mean_absolute_error: 3.1885\n", "Epoch 27/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 41.6056\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.4984 - mean_absolute_error: 3.2303 - val_loss: 17.3453 - val_mean_absolute_error: 3.2222\n", "Epoch 28/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 39.7205\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.6914 - mean_absolute_error: 3.2506 - val_loss: 17.3249 - val_mean_absolute_error: 3.2619\n", "Epoch 29/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 38.0673\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8228 - mean_absolute_error: 3.2626 - val_loss: 16.7402 - val_mean_absolute_error: 3.2221\n", "Epoch 30/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 37.1770\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.7672 - mean_absolute_error: 3.2614 - val_loss: 16.8953 - val_mean_absolute_error: 3.2319\n", "Epoch 31/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 35.8520\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.8726 - mean_absolute_error: 3.2652 - val_loss: 17.3750 - val_mean_absolute_error: 3.2869\n", "Epoch 32/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 34.9797\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.9467 - mean_absolute_error: 3.2823 - val_loss: 17.2779 - val_mean_absolute_error: 3.2451\n", "Epoch 33/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 33.8846\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.6485 - mean_absolute_error: 3.2436 - val_loss: 16.5588 - val_mean_absolute_error: 3.1983\n", "Epoch 34/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 33.1752\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.0054 - mean_absolute_error: 3.2770 - val_loss: 17.8506 - val_mean_absolute_error: 3.2652\n", "Epoch 35/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 32.3737\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.7183 - mean_absolute_error: 3.2693 - val_loss: 16.6774 - val_mean_absolute_error: 3.1851\n", "Epoch 36/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 31.9514\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.5528 - mean_absolute_error: 3.2268 - val_loss: 16.7084 - val_mean_absolute_error: 3.2203\n", "Epoch 37/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 31.7655\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8398 - mean_absolute_error: 3.2712 - val_loss: 16.6055 - val_mean_absolute_error: 3.1817\n", "Epoch 38/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 31.0428\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.4855 - mean_absolute_error: 3.2377 - val_loss: 16.7377 - val_mean_absolute_error: 3.1814\n", "Epoch 39/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 30.6156\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.7298 - mean_absolute_error: 3.2502 - val_loss: 17.0044 - val_mean_absolute_error: 3.1965\n", "Epoch 40/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 29.7629\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.7183 - mean_absolute_error: 3.2552 - val_loss: 16.6872 - val_mean_absolute_error: 3.2127\n", "Epoch 41/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 30.0632\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.7786 - mean_absolute_error: 3.2584 - val_loss: 17.7405 - val_mean_absolute_error: 3.2515\n", "Epoch 42/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 29.0554\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.8554 - mean_absolute_error: 3.2684 - val_loss: 19.3860 - val_mean_absolute_error: 3.4965\n", "Epoch 43/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 29.1440\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8908 - mean_absolute_error: 3.2719 - val_loss: 18.3008 - val_mean_absolute_error: 3.2905\n", "Epoch 44/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 29.3539\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8258 - mean_absolute_error: 3.2669 - val_loss: 17.0467 - val_mean_absolute_error: 3.2351\n", "Epoch 45/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 28.3446\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8252 - mean_absolute_error: 3.2605 - val_loss: 17.2192 - val_mean_absolute_error: 3.2814\n", "Epoch 46/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.9064\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.5644 - mean_absolute_error: 3.2356 - val_loss: 18.9286 - val_mean_absolute_error: 3.4548\n", "Epoch 47/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.7371\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.3903 - mean_absolute_error: 3.2273 - val_loss: 17.0160 - val_mean_absolute_error: 3.2435\n", "Epoch 48/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.9368\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.6739 - mean_absolute_error: 3.2491 - val_loss: 17.5713 - val_mean_absolute_error: 3.2476\n", "Epoch 49/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.8239\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.6631 - mean_absolute_error: 3.2485 - val_loss: 16.7727 - val_mean_absolute_error: 3.2092\n", "Epoch 50/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.2741\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.9788 - mean_absolute_error: 3.2806 - val_loss: 16.8999 - val_mean_absolute_error: 3.2650\n", "Epoch 51/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 27.1623\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8484 - mean_absolute_error: 3.2584 - val_loss: 16.7302 - val_mean_absolute_error: 3.2220\n", "Epoch 52/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 27.6709\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.5307 - mean_absolute_error: 3.2391 - val_loss: 16.9270 - val_mean_absolute_error: 3.2341\n", "Epoch 53/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.4004\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 18.1089 - mean_absolute_error: 3.2864 - val_loss: 20.4871 - val_mean_absolute_error: 3.5266\n", "Epoch 54/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.7198\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.4772 - mean_absolute_error: 3.2220 - val_loss: 16.5657 - val_mean_absolute_error: 3.1830\n", "Epoch 55/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.2275\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.6393 - mean_absolute_error: 3.2437 - val_loss: 16.7582 - val_mean_absolute_error: 3.1956\n", "Epoch 56/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.2186\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.4562 - mean_absolute_error: 3.2289 - val_loss: 17.2492 - val_mean_absolute_error: 3.2591\n", "Epoch 57/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.8182\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.4977 - mean_absolute_error: 3.2275 - val_loss: 17.3208 - val_mean_absolute_error: 3.2690\n", "Epoch 58/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.9084\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.4286 - mean_absolute_error: 3.2173 - val_loss: 16.6321 - val_mean_absolute_error: 3.2145\n", "Epoch 59/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.8736\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.4749 - mean_absolute_error: 3.2306 - val_loss: 17.3972 - val_mean_absolute_error: 3.2362\n", "Epoch 60/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 27.4942\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.5019 - mean_absolute_error: 3.2218 - val_loss: 16.6388 - val_mean_absolute_error: 3.1951\n", "Epoch 61/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 26.7395\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.6537 - mean_absolute_error: 3.2396 - val_loss: 16.7543 - val_mean_absolute_error: 3.2122\n", "Epoch 62/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 27.5176\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.8443 - mean_absolute_error: 3.2493 - val_loss: 16.3165 - val_mean_absolute_error: 3.1392\n", "Epoch 63/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.6098\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.5200 - mean_absolute_error: 3.2234 - val_loss: 16.8358 - val_mean_absolute_error: 3.2023\n", "Epoch 64/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.9977\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.3832 - mean_absolute_error: 3.2038 - val_loss: 16.7020 - val_mean_absolute_error: 3.1989\n", "Epoch 65/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.7823\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.3563 - mean_absolute_error: 3.2156 - val_loss: 16.5961 - val_mean_absolute_error: 3.1971\n", "Epoch 66/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.2252\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.5102 - mean_absolute_error: 3.2214 - val_loss: 17.0635 - val_mean_absolute_error: 3.1977\n", "Epoch 67/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.5412\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.5936 - mean_absolute_error: 3.2403 - val_loss: 17.3397 - val_mean_absolute_error: 3.2139\n", "Epoch 68/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 26.6553\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.9918 - mean_absolute_error: 3.2767 - val_loss: 16.8634 - val_mean_absolute_error: 3.1904\n", "Epoch 69/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.7763\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.5120 - mean_absolute_error: 3.2338 - val_loss: 17.3211 - val_mean_absolute_error: 3.1990\n", "Epoch 70/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 27.2166\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.3473 - mean_absolute_error: 3.2149 - val_loss: 17.6489 - val_mean_absolute_error: 3.2729\n", "Epoch 71/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.4494\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.5272 - mean_absolute_error: 3.2256 - val_loss: 16.6752 - val_mean_absolute_error: 3.1972\n", "Epoch 72/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.5784\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.4464 - mean_absolute_error: 3.2192 - val_loss: 17.7752 - val_mean_absolute_error: 3.2345\n", "Epoch 73/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.7082\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.3705 - mean_absolute_error: 3.2149 - val_loss: 18.5547 - val_mean_absolute_error: 3.3510\n", "Epoch 74/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.8492\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.4548 - mean_absolute_error: 3.2248 - val_loss: 16.2061 - val_mean_absolute_error: 3.1271\n", "Epoch 75/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.8747\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.1265 - mean_absolute_error: 3.1886 - val_loss: 17.7625 - val_mean_absolute_error: 3.2468\n", "Epoch 76/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 26.6791\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.1426 - mean_absolute_error: 3.1860 - val_loss: 18.6191 - val_mean_absolute_error: 3.3436\n", "Epoch 77/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.6648\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.0712 - mean_absolute_error: 3.1956 - val_loss: 17.9095 - val_mean_absolute_error: 3.2641\n", "Epoch 78/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.6983\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.0770 - mean_absolute_error: 3.1766 - val_loss: 16.6120 - val_mean_absolute_error: 3.1794\n", "Epoch 79/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.9250\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.1119 - mean_absolute_error: 3.1870 - val_loss: 17.0590 - val_mean_absolute_error: 3.1598\n", "Epoch 80/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.0190\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.2549 - mean_absolute_error: 3.2030 - val_loss: 17.4997 - val_mean_absolute_error: 3.2446\n", "Epoch 81/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 26.7804\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.0627 - mean_absolute_error: 3.1719 - val_loss: 16.0001 - val_mean_absolute_error: 3.1279\n", "Epoch 82/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.5667\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 17.0441 - mean_absolute_error: 3.1831 - val_loss: 18.4255 - val_mean_absolute_error: 3.3235\n", "Epoch 83/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.6470\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.2492 - mean_absolute_error: 3.1916 - val_loss: 16.7408 - val_mean_absolute_error: 3.1640\n", "Epoch 84/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.1911\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.1250 - mean_absolute_error: 3.1827 - val_loss: 16.1321 - val_mean_absolute_error: 3.0987\n", "Epoch 85/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.6923\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.3562 - mean_absolute_error: 3.2068 - val_loss: 16.3293 - val_mean_absolute_error: 3.1449\n", "Epoch 86/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.5327\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.2027 - mean_absolute_error: 3.1973 - val_loss: 16.0960 - val_mean_absolute_error: 3.1348\n", "Epoch 87/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 27.0401\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 16.9979 - mean_absolute_error: 3.1678 - val_loss: 16.1081 - val_mean_absolute_error: 3.1470\n", "Epoch 88/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 26.7529\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 16.8781 - mean_absolute_error: 3.1609 - val_loss: 19.1579 - val_mean_absolute_error: 3.4493\n", "Epoch 89/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.7333\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.0356 - mean_absolute_error: 3.1709 - val_loss: 17.0031 - val_mean_absolute_error: 3.2025\n", "Epoch 90/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 26.9290\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.2240 - mean_absolute_error: 3.2034 - val_loss: 19.4953 - val_mean_absolute_error: 3.4736\n", "Epoch 91/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.8608\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 16.9089 - mean_absolute_error: 3.1614 - val_loss: 16.3104 - val_mean_absolute_error: 3.1395\n", "Epoch 92/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 26.8838\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.0880 - mean_absolute_error: 3.1688 - val_loss: 16.4276 - val_mean_absolute_error: 3.1795\n", "Epoch 93/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 26.5286\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 16.8918 - mean_absolute_error: 3.1556 - val_loss: 15.7847 - val_mean_absolute_error: 3.0918\n", "Epoch 94/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.5370\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 16.7885 - mean_absolute_error: 3.1350 - val_loss: 18.3563 - val_mean_absolute_error: 3.3793\n", "Epoch 95/100\n", - "240/240 [==============================] - 1s 2ms/step - loss: 26.7323\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.1921 - mean_absolute_error: 3.1878 - val_loss: 16.9198 - val_mean_absolute_error: 3.1407\n", "Epoch 96/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.0699\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 17.0178 - mean_absolute_error: 3.1692 - val_loss: 16.3850 - val_mean_absolute_error: 3.1351\n", "Epoch 97/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 27.2160\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 17.1277 - mean_absolute_error: 3.1747 - val_loss: 15.8725 - val_mean_absolute_error: 3.1084\n", "Epoch 98/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 26.4927\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 5ms/step - loss: 16.9026 - mean_absolute_error: 3.1651 - val_loss: 16.1404 - val_mean_absolute_error: 3.0846\n", "Epoch 99/100\n", - "240/240 [==============================] - 0s 1ms/step - loss: 27.0903\n", + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 4ms/step - loss: 16.7620 - mean_absolute_error: 3.1412 - val_loss: 16.1462 - val_mean_absolute_error: 3.1264\n", "Epoch 100/100\n", - "240/240 [==============================] - 0s 2ms/step - loss: 26.8351\n" - ] - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 16 - } - ] - }, - { - "cell_type": "code", - "source": [ - "y_pred = ann.predict(X_test)\n", - "np.set_printoptions(precision=2)\n", - "print(np.concatenate((y_pred.reshape(len(y_pred),1),Y_test.reshape(len(Y_test),1)),1))" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "NTQkWvpSvYfU", - "outputId": "4ddd0393-cdb4-4add-fe69-7044e7978cb8" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "60/60 [==============================] - 0s 1ms/step\n", - "[[431.39 431.23]\n", - " [462.49 460.01]\n", - " [466. 461.14]\n", - " ...\n", - " [473.24 473.26]\n", - " [440.01 438. ]\n", - " [459.24 463.28]]\n" + "\u001b[1m240/240\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 3ms/step - loss: 16.8693 - mean_absolute_error: 3.1588 - val_loss: 17.8827 - val_mean_absolute_error: 3.3236\n", + " loss mean_absolute_error val_loss val_mean_absolute_error\n", + "Epoch \n", + "1 18.317768 3.319866 18.467783 3.296021\n", + "2 18.435503 3.325200 20.076435 3.533949\n", + "3 18.735590 3.356885 22.994648 3.814006\n", + "4 18.700239 3.351227 20.589809 3.600004\n", + "5 18.572107 3.349821 17.175203 3.252573\n", + "... ... ... ... ...\n", + "96 17.017776 3.169248 16.384958 3.135109\n", + "97 17.127689 3.174672 15.872488 3.108429\n", + "98 16.902554 3.165069 16.140366 3.084615\n", + "99 16.762045 3.141158 16.146194 3.126396\n", + "100 16.869316 3.158783 17.882736 3.323621\n", + "\n", + "[100 rows x 4 columns]\n" ] } ]