diff --git a/22-06-17-DL/Diamond.ipynb b/22-06-17-DL/Diamond.ipynb
new file mode 100644
index 0000000..49e423d
--- /dev/null
+++ b/22-06-17-DL/Diamond.ipynb
@@ -0,0 +1,1421 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "name": "Keras.ipynb",
+ "provenance": [],
+ "toc_visible": true,
+ "authorship_tag": "ABX9TyP5ax5jpc8OyTny/ODkjm+l",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "DataSet: https://www.kaggle.com/datasets/shivam2503/diamonds"
+ ],
+ "metadata": {
+ "id": "6e_s7G9AmmF4"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "2_wrKy6tmWDP",
+ "outputId": "edf52db2-65a0-438a-8c35-757d62978ff1"
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Archive: ./diamonds.csv.zip\n",
+ " inflating: diamonds.csv \n"
+ ]
+ }
+ ],
+ "source": [
+ "! unzip ./diamonds.csv.zip"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd"
+ ],
+ "metadata": {
+ "id": "l_YDxihVmtKc"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "df = pd.read_csv('diamonds.csv')\n",
+ "df.head()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 206
+ },
+ "id": "ZGlvfpy_mybm",
+ "outputId": "4db65255-4651-4981-e62e-d613a3d51272"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Unnamed: 0 carat cut color clarity depth table price x y \\\n",
+ "0 1 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 \n",
+ "1 2 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 \n",
+ "2 3 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 \n",
+ "3 4 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 \n",
+ "4 5 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 \n",
+ "\n",
+ " z \n",
+ "0 2.43 \n",
+ "1 2.31 \n",
+ "2 2.31 \n",
+ "3 2.63 \n",
+ "4 2.75 "
+ ],
+ "text/html": [
+ "\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Unnamed: 0 | \n",
+ " carat | \n",
+ " cut | \n",
+ " color | \n",
+ " clarity | \n",
+ " depth | \n",
+ " table | \n",
+ " price | \n",
+ " x | \n",
+ " y | \n",
+ " z | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.23 | \n",
+ " Ideal | \n",
+ " E | \n",
+ " SI2 | \n",
+ " 61.5 | \n",
+ " 55.0 | \n",
+ " 326 | \n",
+ " 3.95 | \n",
+ " 3.98 | \n",
+ " 2.43 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0.21 | \n",
+ " Premium | \n",
+ " E | \n",
+ " SI1 | \n",
+ " 59.8 | \n",
+ " 61.0 | \n",
+ " 326 | \n",
+ " 3.89 | \n",
+ " 3.84 | \n",
+ " 2.31 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 0.23 | \n",
+ " Good | \n",
+ " E | \n",
+ " VS1 | \n",
+ " 56.9 | \n",
+ " 65.0 | \n",
+ " 327 | \n",
+ " 4.05 | \n",
+ " 4.07 | \n",
+ " 2.31 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 0.29 | \n",
+ " Premium | \n",
+ " I | \n",
+ " VS2 | \n",
+ " 62.4 | \n",
+ " 58.0 | \n",
+ " 334 | \n",
+ " 4.20 | \n",
+ " 4.23 | \n",
+ " 2.63 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0.31 | \n",
+ " Good | \n",
+ " J | \n",
+ " SI2 | \n",
+ " 63.3 | \n",
+ " 58.0 | \n",
+ " 335 | \n",
+ " 4.34 | \n",
+ " 4.35 | \n",
+ " 2.75 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "\n",
+ " \n",
+ "
\n",
+ "
\n",
+ " "
+ ]
+ },
+ "metadata": {},
+ "execution_count": 4
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "df.drop('Unnamed: 0', axis=1, inplace = True)"
+ ],
+ "metadata": {
+ "id": "ggmAfo5qp4Ss"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "df.isna().sum()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "3-4KdSBOm3xG",
+ "outputId": "a29956ec-5be1-4103-c9ff-767d105130f8"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "carat 0\n",
+ "cut 0\n",
+ "color 0\n",
+ "clarity 0\n",
+ "depth 0\n",
+ "table 0\n",
+ "price 0\n",
+ "x 0\n",
+ "y 0\n",
+ "z 0\n",
+ "dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 17
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "df.info()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "GVJ1LszMnLsX",
+ "outputId": "69c94ea8-a290-4c2a-f83d-ac484458b686"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "\n",
+ "RangeIndex: 53940 entries, 0 to 53939\n",
+ "Data columns (total 10 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 carat 53940 non-null float64\n",
+ " 1 cut 53940 non-null object \n",
+ " 2 color 53940 non-null object \n",
+ " 3 clarity 53940 non-null object \n",
+ " 4 depth 53940 non-null float64\n",
+ " 5 table 53940 non-null float64\n",
+ " 6 price 53940 non-null int64 \n",
+ " 7 x 53940 non-null float64\n",
+ " 8 y 53940 non-null float64\n",
+ " 9 z 53940 non-null float64\n",
+ "dtypes: float64(6), int64(1), object(3)\n",
+ "memory usage: 4.1+ MB\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from sklearn.preprocessing import OrdinalEncoder\n",
+ "\n",
+ "cut = ['Fair', 'Good', 'Very Good', 'Premium', 'Ideal']\n",
+ "color = ['D', 'E', 'F', 'G', 'H', 'I', 'J']\n",
+ "clarity = ['I1', 'SI2', 'SI1', 'VS2', 'VS1', 'VVS2', 'VVS1', 'IF']\n",
+ "\n",
+ "oe = OrdinalEncoder(categories = [cut, color, clarity])\n",
+ "oe.fit_transform(df[['cut', 'color', 'clarity']])"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "YzNS0HzEnv91",
+ "outputId": "dd7e29ae-3964-40ce-d3a4-a0a46f01fea3"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "array([[4., 1., 1.],\n",
+ " [3., 1., 2.],\n",
+ " [1., 1., 4.],\n",
+ " ...,\n",
+ " [2., 0., 2.],\n",
+ " [3., 4., 1.],\n",
+ " [4., 0., 1.]])"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 19
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from sklearn.compose import ColumnTransformer\n",
+ "from sklearn.preprocessing import StandardScaler\n",
+ "\n",
+ "real_num = ['carat','depth','table', 'x','y','z']\n",
+ "cl = ColumnTransformer([\n",
+ " ('1', OrdinalEncoder(categories = [cut, color, clarity]), ['cut', 'color', 'clarity']),\n",
+ " ('2', StandardScaler(),real_num)\n",
+ "])"
+ ],
+ "metadata": {
+ "id": "gIR-vkMHnNWO"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "Y = df['price']\n",
+ "X = df.drop('price', axis=1)\n",
+ "\n",
+ "X = cl.fit_transform(X)"
+ ],
+ "metadata": {
+ "id": "KxNuja7LpyU7"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from sklearn.model_selection import train_test_split\n",
+ "\n",
+ "xtrain, xtest, ytrain, ytest = train_test_split(X, Y)"
+ ],
+ "metadata": {
+ "id": "uLVGkYvWqLtR"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from sklearn.linear_model import LinearRegression\n",
+ "from sklearn.metrics import mean_squared_error\n",
+ "\n",
+ "lin = LinearRegression()\n",
+ "lin.fit(xtrain, ytrain)\n",
+ "\n",
+ "mean_squared_error(ytest, lin.predict(xtest))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "PfIerOxzqgEw",
+ "outputId": "cb92a48a-d819-45c3-e994-5fab3d0ce421"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "1569472.6633326774"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 27
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Keras"
+ ],
+ "metadata": {
+ "id": "-2Khue1sq47v"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "(X.shape[1],)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "SviZAZELrLQT",
+ "outputId": "ea395645-6075-45b0-dde4-dfbac8c27b2a"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(9,)"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 31
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import tensorflow as tf"
+ ],
+ "metadata": {
+ "id": "C55_zzG0q1LE"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "model = tf.keras.Sequential([\n",
+ " tf.keras.Input(shape=(X.shape[1],), name='input'),\n",
+ " tf.keras.layers.Dense(20, activation='leaky_relu', kernel_initializer='he_uniform', name='dense_1'),\n",
+ " tf.keras.layers.Dense(10, activation='leaky_relu', kernel_initializer='he_uniform', name='dense_2'),\n",
+ " tf.keras.layers.Dense(1, activation='linear', name='output'),\n",
+ "])\n",
+ "model.summary()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "OPD93aYyq8hj",
+ "outputId": "62f8bfea-70d1-4b96-cfd3-07d72c9dd464"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Model: \"sequential_5\"\n",
+ "_________________________________________________________________\n",
+ " Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ " dense_1 (Dense) (None, 20) 200 \n",
+ " \n",
+ " dense_2 (Dense) (None, 10) 210 \n",
+ " \n",
+ " output (Dense) (None, 1) 11 \n",
+ " \n",
+ "=================================================================\n",
+ "Total params: 421\n",
+ "Trainable params: 421\n",
+ "Non-trainable params: 0\n",
+ "_________________________________________________________________\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Layers\n",
+ "\n",
+ "\n",
+ "\n",
+ "* `get_layer()`\n",
+ "* `get_weights`\n",
+ "* `set_weights`\n",
+ "\n"
+ ],
+ "metadata": {
+ "id": "NrZvXwPZu78I"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# model.layers[1].name\n",
+ "model.get_layer('dense_2').name"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 35
+ },
+ "id": "G81upI49sdur",
+ "outputId": "4350cc0f-77ef-469e-8148-042f6b0abce4"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "'dense_2'"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "string"
+ }
+ },
+ "metadata": {},
+ "execution_count": 43
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "model.get_layer('dense_2').trainable = False\n",
+ "\n",
+ "model.summary()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "ym6z-0r2uh_Q",
+ "outputId": "77e51a08-fa66-44d8-e8b6-c879332c1faf"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Model: \"sequential_4\"\n",
+ "_________________________________________________________________\n",
+ " Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ " dense_1 (Dense) (None, 20) 200 \n",
+ " \n",
+ " dense_2 (Dense) (None, 10) 210 \n",
+ " \n",
+ " output (Dense) (None, 1) 11 \n",
+ " \n",
+ "=================================================================\n",
+ "Total params: 421\n",
+ "Trainable params: 211\n",
+ "Non-trainable params: 210\n",
+ "_________________________________________________________________\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "model.trainable = True\n",
+ "model.summary()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "JTjwvss-umXM",
+ "outputId": "ee79a0bd-4fc7-4b6e-e567-65ad40f1832a"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Model: \"sequential_4\"\n",
+ "_________________________________________________________________\n",
+ " Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ " dense_1 (Dense) (None, 20) 200 \n",
+ " \n",
+ " dense_2 (Dense) (None, 10) 210 \n",
+ " \n",
+ " output (Dense) (None, 1) 11 \n",
+ " \n",
+ "=================================================================\n",
+ "Total params: 421\n",
+ "Trainable params: 421\n",
+ "Non-trainable params: 0\n",
+ "_________________________________________________________________\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "weights, biases = model.get_layer('dense_2').get_weights()\n",
+ "weights.shape, biases.shape"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "911lkX7evCUf",
+ "outputId": "d53c50cb-f968-4b11-c372-ef951b47eac6"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "((20, 10), (10,))"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 50
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "model.get_layer('dense_2').set_weights((weights, biases))"
+ ],
+ "metadata": {
+ "id": "Jj88lZqmve7e"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Training"
+ ],
+ "metadata": {
+ "id": "BdQxG6kpwMbX"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "optimizer = tf.keras.optimizers.Adam(\n",
+ " learning_rate=0.01,\n",
+ " beta_1=0.9,\n",
+ " beta_2=0.999,\n",
+ " epsilon=1e-07,\n",
+ " amsgrad=False,\n",
+ " name=\"Adam\",\n",
+ ")\n",
+ "\n",
+ "model.compile(\n",
+ " optimizer = optimizer,\n",
+ " loss = 'mse',\n",
+ " metrics = ['mae']\n",
+ ")"
+ ],
+ "metadata": {
+ "id": "1vGyBjajwD_L"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "history = model.fit(xtrain, ytrain, epochs=20, batch_size=32, validation_data=(xtest, ytest))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "loHCOYGCxSZi",
+ "outputId": "2cde7c37-59b0-4b76-8c8b-1e2f249ebe77"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Epoch 1/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 3541021.2500 - mae: 1052.9180 - val_loss: 1621820.2500 - val_mae: 651.6838\n",
+ "Epoch 2/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 908602.0625 - mae: 587.3908 - val_loss: 1450208.3750 - val_mae: 569.6687\n",
+ "Epoch 3/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 830691.3125 - mae: 540.2642 - val_loss: 1317816.1250 - val_mae: 539.1340\n",
+ "Epoch 4/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 792917.4375 - mae: 516.3724 - val_loss: 1218528.1250 - val_mae: 517.8723\n",
+ "Epoch 5/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 758870.8750 - mae: 499.4666 - val_loss: 1110867.3750 - val_mae: 498.8023\n",
+ "Epoch 6/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 732594.9375 - mae: 487.2462 - val_loss: 1045552.6250 - val_mae: 496.1373\n",
+ "Epoch 7/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 717453.3125 - mae: 479.0413 - val_loss: 931309.1250 - val_mae: 488.6411\n",
+ "Epoch 8/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 696750.1875 - mae: 469.7482 - val_loss: 876593.0625 - val_mae: 475.8308\n",
+ "Epoch 9/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 685237.4375 - mae: 463.5577 - val_loss: 846277.3125 - val_mae: 474.4117\n",
+ "Epoch 10/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 668493.7500 - mae: 456.3355 - val_loss: 746821.0625 - val_mae: 459.9638\n",
+ "Epoch 11/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 638636.8125 - mae: 449.4908 - val_loss: 688134.2500 - val_mae: 448.7004\n",
+ "Epoch 12/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 622973.9375 - mae: 443.7300 - val_loss: 671540.1875 - val_mae: 453.8398\n",
+ "Epoch 13/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 594510.0000 - mae: 437.6136 - val_loss: 699105.3125 - val_mae: 449.4216\n",
+ "Epoch 14/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 565427.6875 - mae: 427.8374 - val_loss: 700435.8750 - val_mae: 454.9417\n",
+ "Epoch 15/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 546010.5000 - mae: 422.3965 - val_loss: 662011.2500 - val_mae: 432.2979\n",
+ "Epoch 16/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 527876.0625 - mae: 414.9225 - val_loss: 688070.8750 - val_mae: 423.7885\n",
+ "Epoch 17/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 518986.5000 - mae: 411.9547 - val_loss: 706440.9375 - val_mae: 411.7516\n",
+ "Epoch 18/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 507427.8750 - mae: 406.8910 - val_loss: 705440.6250 - val_mae: 405.8596\n",
+ "Epoch 19/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 495755.7188 - mae: 402.7906 - val_loss: 793490.3750 - val_mae: 417.5538\n",
+ "Epoch 20/20\n",
+ "1265/1265 [==============================] - 3s 2ms/step - loss: 489539.0625 - mae: 398.4520 - val_loss: 781979.5000 - val_mae: 410.6672\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "pd.DataFrame(history.history).plot()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 293
+ },
+ "id": "Fq5no1R4yRW4",
+ "outputId": "3911d37b-f443-48e1-a013-b2de965c0b58"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "execution_count": 64
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ "