You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
131 KiB
Plaintext
1 line
131 KiB
Plaintext
{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"5.2 CNN.ipynb","provenance":[{"file_id":"1jVdomaCTNCZP6QFJVS2ADF2IvTwag0YH","timestamp":1596611900805},{"file_id":"1iLyxkJVOv6hmLy_gRq_KcOjdgfMstEjW","timestamp":1596603313461},{"file_id":"1CXwHdwsQd_d5mwwI4WM8bxUnUnCFGWhu","timestamp":1595996348614}],"collapsed_sections":[],"authorship_tag":"ABX9TyMlyUEMxvrjN2s0YzpnzSpL"},"kernelspec":{"name":"python3","display_name":"Python 3"},"accelerator":"GPU"},"cells":[{"cell_type":"code","metadata":{"id":"IzBPeM9P6mJx","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1597107928824,"user_tz":-540,"elapsed":2452,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}}},"source":["#!/usr/bin/env python3\n","# --------------------------------------------------------------\n","# Author: Mahendra Data - mahendra.data@dbms.cs.kumamoto-u.ac.jp\n","# License: BSD 3 clause\n","# --------------------------------------------------------------"],"execution_count":1,"outputs":[]},{"cell_type":"code","metadata":{"id":"O_7ydDKl6mHV","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":122},"executionInfo":{"status":"ok","timestamp":1597107952456,"user_tz":-540,"elapsed":26070,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"388920be-5c94-4dad-b778-a7f5a95c4df3"},"source":["# Mount Google Drive\n","from google.colab import drive\n","drive.mount(\"/content/drive\")"],"execution_count":2,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&response_type=code\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/drive\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"6OrgcpKFGKlS","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":357},"executionInfo":{"status":"ok","timestamp":1597107956893,"user_tz":-540,"elapsed":30500,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"da75ca9b-151f-4922-f402-0cf3634a2d5f"},"source":["!nvidia-smi"],"execution_count":3,"outputs":[{"output_type":"stream","text":["Tue Aug 11 01:05:53 2020 \n","+-----------------------------------------------------------------------------+\n","| NVIDIA-SMI 450.57 Driver Version: 418.67 CUDA Version: 10.1 |\n","|-------------------------------+----------------------+----------------------+\n","| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n","| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n","| | | MIG M. |\n","|===============================+======================+======================|\n","| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n","| N/A 62C P8 11W / 70W | 0MiB / 15079MiB | 0% Default |\n","| | | ERR! |\n","+-------------------------------+----------------------+----------------------+\n"," \n","+-----------------------------------------------------------------------------+\n","| Processes: |\n","| GPU GI CI PID Type Process name GPU Memory |\n","| ID ID Usage |\n","|=============================================================================|\n","| No running processes found |\n","+-----------------------------------------------------------------------------+\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"focJJdl26mE0","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1597107958091,"user_tz":-540,"elapsed":31694,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}}},"source":["import os\n","import logging\n","\n","import pandas as pd\n","import tensorflow.keras as keras\n","\n","from tensorflow.keras.callbacks import ModelCheckpoint\n","from tensorflow.keras.utils import plot_model\n","\n","# Log setting\n","logging.basicConfig(format=\"%(asctime)s %(levelname)s %(message)s\", datefmt=\"%H:%M:%S\", level=logging.INFO)\n","\n","# Change display.max_rows to show all features.\n","pd.set_option(\"display.max_rows\", 85)\n"],"execution_count":4,"outputs":[]},{"cell_type":"code","metadata":{"id":"6ludyWsl6mB3","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1597107958092,"user_tz":-540,"elapsed":31691,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}}},"source":["PROCESSED_DIR_PATH = \"/content/drive/My Drive/CICIDS2017/ProcessedDataset\"\n","MODEL_DIR_PATH = \"/content/drive/My Drive/CICIDS2017/Model\""],"execution_count":5,"outputs":[]},{"cell_type":"code","metadata":{"id":"F8Hm_IlD-fDE","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1597107958093,"user_tz":-540,"elapsed":31690,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}}},"source":["import numpy as np\n","import tensorflow as tf\n","import matplotlib.pyplot as plt\n","\n","from sklearn.metrics import classification_report\n","from sklearn.preprocessing import MinMaxScaler\n","\n","\n","def preprocessing(df: pd.DataFrame) -> (np.ndarray, np.ndarray):\n"," # Shuffle the dataset\n"," df = df.sample(frac=1)\n","\n"," # Split features and labels\n"," x = df.iloc[:, df.columns != 'Label']\n"," y = df[['Label']].to_numpy()\n","\n"," # Scale the features between 0 ~ 1\n"," scaler = MinMaxScaler()\n"," x = scaler.fit_transform(x)\n","\n"," return x, y\n","\n","\n","def reshape_dataset_cnn(x: np.ndarray) -> np.ndarray:\n"," # Add padding columns\n"," result = np.zeros((x.shape[0], 81))\n"," result[:, :-3] = x\n","\n"," # Reshaping dataset\n"," result = np.reshape(result, (result.shape[0], 9, 9))\n"," result = result[..., tf.newaxis]\n"," return result\n","\n","\n","def plot_history(history: tf.keras.callbacks.History):\n"," # summarize history for accuracy\n"," plt.plot(history.history['sparse_categorical_accuracy'])\n"," plt.plot(history.history['val_sparse_categorical_accuracy'])\n"," plt.title('model2 accuracy')\n"," plt.ylabel('accuracy')\n"," plt.xlabel('epoch')\n"," plt.legend(['train', 'test'], loc='upper left')\n"," plt.show()\n","\n"," # summarize history for loss\n"," plt.plot(history.history['loss'])\n"," plt.plot(history.history['val_loss'])\n"," plt.title('model2 loss')\n"," plt.ylabel('loss')\n"," plt.xlabel('epoch')\n"," plt.legend(['train', 'test'], loc='upper left')\n"," plt.show()\n","\n","\n","def evaluation(model: keras.Model, x_test: np.ndarray, y_test: np.ndarray):\n"," score = model.evaluate(x_test, y_test, verbose=False)\n"," logging.info('Evaluation:\\nLoss: {}\\nAccuracy : {}\\n'.format(score[0], score[1]))\n","\n"," # F1 score\n"," y_pred = model.predict(x_test, batch_size=1024, verbose=False)\n"," y_pred = np.argmax(y_pred, axis=1)\n","\n"," logging.info(\"\\n{}\".format(classification_report(y_test, y_pred)))\n"],"execution_count":6,"outputs":[]},{"cell_type":"code","metadata":{"id":"U7pctVTZ-fGU","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1597107958094,"user_tz":-540,"elapsed":31688,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}}},"source":["def create_cnn_model() -> keras.Model:\n"," # Creating layers\n"," inputs = keras.layers.Input(shape=(9, 9, 1))\n"," x = keras.layers.Conv2D(120, 2, activation='relu', padding=\"same\")(inputs)\n"," x = keras.layers.Conv2D(60, 3, activation='relu', padding=\"same\")(x)\n"," x = keras.layers.Conv2D(30, 4, activation='relu', padding=\"same\")(x)\n"," x = keras.layers.Flatten()(x)\n"," outputs = keras.layers.Dense(15, activation='softmax')(x)\n"," cnn_model = keras.Model(inputs=inputs, outputs=outputs, name='cnn')\n","\n"," # Compile layers\n"," cnn_model.compile(loss='sparse_categorical_crossentropy',\n"," metrics=['sparse_categorical_accuracy'],\n"," optimizer='adam')\n","\n"," return cnn_model"],"execution_count":7,"outputs":[]},{"cell_type":"code","metadata":{"id":"xuPk7_oa_Yy4","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":374},"executionInfo":{"status":"ok","timestamp":1597107964252,"user_tz":-540,"elapsed":37838,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"6303077d-8755-4db7-e553-71184eaeda49"},"source":["# Create model\n","model = create_cnn_model()\n","logging.info(model.summary())"],"execution_count":8,"outputs":[{"output_type":"stream","text":["01:06:02 INFO None\n"],"name":"stderr"},{"output_type":"stream","text":["Model: \"cnn\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","input_1 (InputLayer) [(None, 9, 9, 1)] 0 \n","_________________________________________________________________\n","conv2d (Conv2D) (None, 9, 9, 120) 600 \n","_________________________________________________________________\n","conv2d_1 (Conv2D) (None, 9, 9, 60) 64860 \n","_________________________________________________________________\n","conv2d_2 (Conv2D) (None, 9, 9, 30) 28830 \n","_________________________________________________________________\n","flatten (Flatten) (None, 2430) 0 \n","_________________________________________________________________\n","dense (Dense) (None, 15) 36465 \n","=================================================================\n","Total params: 130,755\n","Trainable params: 130,755\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"qRW4UYrlFbMt","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":644},"executionInfo":{"status":"ok","timestamp":1597107964254,"user_tz":-540,"elapsed":37833,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"ed5789ee-7aad-4e2a-b299-aba39ec1a47b"},"source":["plot_model(model, show_shapes=True)"],"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"image/png":"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\n","text/plain":["<IPython.core.display.Image object>"]},"metadata":{"tags":[]},"execution_count":9}]},{"cell_type":"code","metadata":{"id":"pSX2Z175_Yv4","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":306},"executionInfo":{"status":"ok","timestamp":1597107983983,"user_tz":-540,"elapsed":57554,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"8135fb96-221e-4eaa-ab28-a32ffe4c4f3d"},"source":["# Checkpoint\n","cp_path = os.path.join(MODEL_DIR_PATH, \"5_2_cnn_weights-improvement-{epoch:02d}-{val_sparse_categorical_accuracy:.2f}.hdf5\")\n","checkpoint = ModelCheckpoint(cp_path, monitor='val_sparse_categorical_accuracy', verbose=1,\n"," save_best_only=True, mode='max')\n","callbacks_list = [checkpoint]\n","\n","# Training\n","df = pd.read_csv(os.path.join(PROCESSED_DIR_PATH, 'train_MachineLearningCVE.csv'), skipinitialspace=True)\n","logging.info(\"Class distribution\\n{}\".format(df.Label.value_counts()))"],"execution_count":10,"outputs":[{"output_type":"stream","text":["01:06:22 INFO Class distribution\n","0 1818477\n","4 184858\n","10 127144\n","2 102421\n","3 8234\n","7 6350\n","11 4718\n","6 4637\n","5 4399\n","1 1573\n","12 1206\n","14 522\n","9 29\n","13 17\n","8 9\n","Name: Label, dtype: int64\n"],"name":"stderr"}]},{"cell_type":"code","metadata":{"id":"a87eWVeZ_baV","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1597107989805,"user_tz":-540,"elapsed":63372,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}}},"source":["X, Y = preprocessing(df)\n","del df\n","X = reshape_dataset_cnn(X)"],"execution_count":11,"outputs":[]},{"cell_type":"code","metadata":{"id":"x7ZiHSTY_bdP","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":1000},"executionInfo":{"status":"ok","timestamp":1597113233500,"user_tz":-540,"elapsed":5307061,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"b45c56ac-5ea8-47ea-b78b-7d3e2e8ccf45"},"source":["# Training\n","logging.info(\"*** TRAINING START ***\")\n","history = model.fit(X, Y, validation_split=0.1, epochs=125, batch_size=1024, verbose=True)"],"execution_count":12,"outputs":[{"output_type":"stream","text":["01:06:28 INFO *** TRAINING START ***\n"],"name":"stderr"},{"output_type":"stream","text":["Epoch 1/125\n","1991/1991 [==============================] - 43s 22ms/step - loss: 0.1194 - sparse_categorical_accuracy: 0.9583 - val_loss: 0.0601 - val_sparse_categorical_accuracy: 0.9749\n","Epoch 2/125\n","1991/1991 [==============================] - 43s 21ms/step - loss: 0.0419 - sparse_categorical_accuracy: 0.9842 - val_loss: 0.0351 - val_sparse_categorical_accuracy: 0.9857\n","Epoch 3/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0300 - sparse_categorical_accuracy: 0.9885 - val_loss: 0.0268 - val_sparse_categorical_accuracy: 0.9914\n","Epoch 4/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0213 - sparse_categorical_accuracy: 0.9933 - val_loss: 0.0156 - val_sparse_categorical_accuracy: 0.9970\n","Epoch 5/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0117 - sparse_categorical_accuracy: 0.9977 - val_loss: 0.0122 - val_sparse_categorical_accuracy: 0.9976\n","Epoch 6/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0091 - sparse_categorical_accuracy: 0.9979 - val_loss: 0.0092 - val_sparse_categorical_accuracy: 0.9980\n","Epoch 7/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0085 - sparse_categorical_accuracy: 0.9980 - val_loss: 0.0091 - val_sparse_categorical_accuracy: 0.9976\n","Epoch 8/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0074 - sparse_categorical_accuracy: 0.9982 - val_loss: 0.0077 - val_sparse_categorical_accuracy: 0.9983\n","Epoch 9/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0070 - sparse_categorical_accuracy: 0.9982 - val_loss: 0.0080 - val_sparse_categorical_accuracy: 0.9981\n","Epoch 10/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0067 - sparse_categorical_accuracy: 0.9983 - val_loss: 0.0074 - val_sparse_categorical_accuracy: 0.9978\n","Epoch 11/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0063 - sparse_categorical_accuracy: 0.9984 - val_loss: 0.0082 - val_sparse_categorical_accuracy: 0.9981\n","Epoch 12/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0059 - sparse_categorical_accuracy: 0.9985 - val_loss: 0.0081 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 13/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0058 - sparse_categorical_accuracy: 0.9985 - val_loss: 0.0064 - val_sparse_categorical_accuracy: 0.9984\n","Epoch 14/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0055 - sparse_categorical_accuracy: 0.9986 - val_loss: 0.0061 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 15/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0053 - sparse_categorical_accuracy: 0.9986 - val_loss: 0.0092 - val_sparse_categorical_accuracy: 0.9984\n","Epoch 16/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0052 - sparse_categorical_accuracy: 0.9986 - val_loss: 0.0058 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 17/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0051 - sparse_categorical_accuracy: 0.9986 - val_loss: 0.0060 - val_sparse_categorical_accuracy: 0.9983\n","Epoch 18/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0050 - sparse_categorical_accuracy: 0.9987 - val_loss: 0.0060 - val_sparse_categorical_accuracy: 0.9984\n","Epoch 19/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0049 - sparse_categorical_accuracy: 0.9987 - val_loss: 0.0055 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 20/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0048 - sparse_categorical_accuracy: 0.9987 - val_loss: 0.0077 - val_sparse_categorical_accuracy: 0.9984\n","Epoch 21/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0047 - sparse_categorical_accuracy: 0.9987 - val_loss: 0.0064 - val_sparse_categorical_accuracy: 0.9983\n","Epoch 22/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0047 - sparse_categorical_accuracy: 0.9987 - val_loss: 0.0060 - val_sparse_categorical_accuracy: 0.9979\n","Epoch 23/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0046 - sparse_categorical_accuracy: 0.9987 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 24/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0045 - sparse_categorical_accuracy: 0.9987 - val_loss: 0.0061 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 25/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0044 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0057 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 26/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0044 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0060 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 27/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0043 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0060 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 28/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0043 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0066 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 29/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0042 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0055 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 30/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0042 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0060 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 31/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0041 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 32/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0041 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0056 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 33/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0041 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0057 - val_sparse_categorical_accuracy: 0.9983\n","Epoch 34/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0041 - sparse_categorical_accuracy: 0.9988 - val_loss: 0.0058 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 35/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0041 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0057 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 36/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0040 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 37/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0040 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0055 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 38/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0039 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 39/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0039 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 40/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0039 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0053 - val_sparse_categorical_accuracy: 0.9984\n","Epoch 41/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0039 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0053 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 42/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0039 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 43/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0039 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9984\n","Epoch 44/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0038 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 45/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0038 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 46/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0038 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0061 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 47/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0038 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 48/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0038 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0064 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 49/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0038 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0052 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 50/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 51/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 52/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 53/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9989 - val_loss: 0.0053 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 54/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0053 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 55/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 56/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 57/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0037 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0057 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 58/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0052 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 59/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0053 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 60/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 61/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 62/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 63/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 64/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0060 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 65/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 66/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 67/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0052 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 68/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0052 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 69/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 70/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0036 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 71/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0053 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 72/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 73/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 74/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 75/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0056 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 76/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 77/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 78/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 79/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 80/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 81/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 82/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 83/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 84/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 85/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0035 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0052 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 86/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9985\n","Epoch 87/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 88/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 89/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 90/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 91/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 92/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 93/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0056 - val_sparse_categorical_accuracy: 0.9986\n","Epoch 94/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 95/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0046 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 96/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0053 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 97/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 98/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 99/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 100/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 101/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0034 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 102/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 103/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 104/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0045 - val_sparse_categorical_accuracy: 0.9989\n","Epoch 105/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0045 - val_sparse_categorical_accuracy: 0.9989\n","Epoch 106/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 107/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 108/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 109/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 110/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0051 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 111/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 112/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0050 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 113/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 114/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 115/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 116/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0054 - val_sparse_categorical_accuracy: 0.9987\n","Epoch 117/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 118/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0046 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 119/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 120/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0049 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 121/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0047 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 122/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0046 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 123/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 124/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9991 - val_loss: 0.0048 - val_sparse_categorical_accuracy: 0.9988\n","Epoch 125/125\n","1991/1991 [==============================] - 42s 21ms/step - loss: 0.0033 - sparse_categorical_accuracy: 0.9990 - val_loss: 0.0045 - val_sparse_categorical_accuracy: 0.9989\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"QHsKoSE6_bXQ","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"executionInfo":{"status":"ok","timestamp":1597113233504,"user_tz":-540,"elapsed":5307056,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"007f4178-3416-423f-fdb1-f8e515a2f924"},"source":["logging.info(\"*** TRAINING FINISH ***\")\n","del X, Y"],"execution_count":13,"outputs":[{"output_type":"stream","text":["02:33:52 INFO *** TRAINING FINISH ***\n"],"name":"stderr"}]},{"cell_type":"code","metadata":{"id":"hCP7adRt_gCQ","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":573},"executionInfo":{"status":"ok","timestamp":1597113234344,"user_tz":-540,"elapsed":5307889,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"7960eff6-de5c-4482-a52e-d446db2f5545"},"source":["# Save the model\n","model.save(os.path.join(MODEL_DIR_PATH, \"06_cnn.h5\"))\n","\n","plot_history(history)"],"execution_count":14,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"0_gx2DQz_gFh","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":306},"executionInfo":{"status":"ok","timestamp":1597115413639,"user_tz":-540,"elapsed":8605,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"4cd6aded-ff52-439f-aa82-7da63f078000"},"source":["# Evaluation\n","df = pd.read_csv(os.path.join(PROCESSED_DIR_PATH, 'test_MachineLearningCVE.csv'), skipinitialspace=True)\n","logging.info(\"Class distribution\\n{}\".format(df.Label.value_counts()))"],"execution_count":16,"outputs":[{"output_type":"stream","text":["03:10:12 INFO Class distribution\n","0 454620\n","4 46215\n","10 31786\n","2 25606\n","3 2059\n","7 1588\n","11 1179\n","6 1159\n","5 1100\n","1 393\n","12 301\n","14 130\n","9 7\n","13 4\n","8 2\n","Name: Label, dtype: int64\n"],"name":"stderr"}]},{"cell_type":"code","metadata":{"id":"DgYRhJGD_f_Y","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1597115424574,"user_tz":-540,"elapsed":3172,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}}},"source":["X, Y = preprocessing(df)\n","del df\n","X = reshape_dataset_cnn(X)"],"execution_count":17,"outputs":[]},{"cell_type":"code","metadata":{"id":"0cvShz-9_r9g","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":476},"executionInfo":{"status":"ok","timestamp":1597115454296,"user_tz":-540,"elapsed":31794,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"19e8c563-617c-4783-c322-a119d06d5bd1"},"source":["evaluation(model, X, Y)\n","del X, Y"],"execution_count":18,"outputs":[{"output_type":"stream","text":["03:10:48 INFO Evaluation:\n","Loss: 0.02802629955112934\n","Accuracy : 0.9968135356903076\n","\n","03:10:52 INFO \n"," precision recall f1-score support\n","\n"," 0 1.00 1.00 1.00 454620\n"," 1 0.99 0.42 0.59 393\n"," 2 1.00 0.99 1.00 25606\n"," 3 0.99 1.00 1.00 2059\n"," 4 1.00 1.00 1.00 46215\n"," 5 0.99 0.94 0.96 1100\n"," 6 1.00 0.88 0.93 1159\n"," 7 0.96 1.00 0.98 1588\n"," 8 1.00 0.50 0.67 2\n"," 9 1.00 0.29 0.44 7\n"," 10 0.99 0.99 0.99 31786\n"," 11 0.99 0.51 0.67 1179\n"," 12 0.71 0.99 0.83 301\n"," 13 0.50 0.25 0.33 4\n"," 14 0.91 0.08 0.14 130\n","\n"," accuracy 1.00 566149\n"," macro avg 0.94 0.72 0.77 566149\n","weighted avg 1.00 1.00 1.00 566149\n","\n"],"name":"stderr"}]},{"cell_type":"code","metadata":{"id":"BD-ERD34-e-c","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"executionInfo":{"status":"ok","timestamp":1597115454298,"user_tz":-540,"elapsed":30784,"user":{"displayName":"Mahendra Data","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Ghn7DAlkRKEg-Y82BqktrBT0ABMFy8r5576xhbKDQ=s64","userId":"08049029618478467489"}},"outputId":"2b392ac2-ef1b-4036-8548-91d1e6c0f048"},"source":["logging.info(\"*** END ***\")"],"execution_count":19,"outputs":[{"output_type":"stream","text":["03:10:52 INFO *** END ***\n"],"name":"stderr"}]}]} |