1690 lines (1690 with data), 174.1 kB
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Multi_lead_1dCNN.ipynb",
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyPt71+F1bF6jL/rFq0ohH7N",
"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": [
"<a href=\"https://colab.research.google.com/github/hardikroutray/ECG/blob/main/Multi_lead_1dCNN.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "g4s82uBJWlj7",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "6427ca10-0c18-4602-9c3c-29eb31b101bc"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib as plt\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sn\n",
"%matplotlib inline\n",
"%pylab inline\n",
"%config InlineBackend.figure_formats = ['retina']\n",
"from imutils import paths\n",
"import time # time1 = time.time(); print('Time taken: {:.1f} sec'.format(time.time() - time1))\n",
"import cv2\n",
"import pickle\n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")\n",
"import pickle\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "pluEuqpFYD0V"
},
"source": [
"\n",
"import keras\n",
"import keras.utils\n",
"from keras.models import Sequential\n",
"from keras.layers import Dense, Dropout, Flatten\n",
"from keras.layers import Conv2D, MaxPooling2D\n",
"from keras.optimizers import Adam\n",
"\n",
"from tensorflow.keras import utils as np_utils\n",
"\n",
"from tensorflow.keras.utils import to_categorical\n",
"from keras.preprocessing import image\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"from tqdm import tqdm\n",
"from sklearn.metrics import plot_confusion_matrix\n",
"from sklearn.model_selection import train_test_split\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "cwJWpDYHJ0Fs"
},
"source": [
"from tensorflow import keras \n",
"from tensorflow.keras.models import Model\n",
"from tensorflow.keras.models import Sequential\n",
"from tensorflow.keras.layers import Conv1D\n",
"from tensorflow.keras.layers import Convolution1D, ZeroPadding1D, MaxPooling1D, BatchNormalization, Activation, Dropout, Flatten, Dense"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JSElyJujYOGQ",
"outputId": "58e7bedf-02d3-4a7c-8552-1547517f36fa"
},
"source": [
"from google.colab import drive\n",
"drive.mount._DEBUG = True\n",
"drive.mount('/content/MyDrive', force_remount=True)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"unset HISTFILE; export PS1=\"root@8853f9368014-e8bef2a5298943548333554ce401e648: \"\n",
"bash: cannot set terminal process group (-1): Inappropriate ioctl for device\n",
"bash: no job control in this shell\n",
"\u001b[01;34m/content\u001b[00m# root@8853f9368014-e8bef2a5298943548333554ce401e648: umount -f /content/MyDrive || umount /content/MyDrive; pkill -9 -x drive\n",
"root@8853f9368014-e8bef2a5298943548333554ce401e648: pkill -9 -f /opt/google/drive/directoryprefetcher_binary\n",
"root@8853f9368014-e8bef2a5298943548333554ce401e648: ( while `sleep 0.5`; do if [[ -d \"/content/MyDrive\" && \"$(ls -A /content/MyDrive)\" != \"\" ]]; then echo \"google.colab.drive MOUNTED\"; break; fi; done ) &\n",
"[1] 786\n",
"root@8853f9368014-e8bef2a5298943548333554ce401e648: cat /tmp/tmp99cd79x9/drive.fifo | head -1 | ( /opt/google/drive/drive --features=fuse_max_background:1000,max_read_qps:1000,max_write_qps:1000,max_operation_batch_size:15,max_parallel_push_task_instances:10,opendir_timeout_ms:120000,virtual_folders_omit_spaces:true --inet_family=IPV4_ONLY --preferences=trusted_root_certs_file_path:/opt/google/drive/roots.pem,mount_point_path:/content/MyDrive --console_auth 2>&1 | grep --line-buffered -E \"(Go to this URL in a browser: https://.*)$|Drive File Stream encountered a problem and has stopped|Authorization failed|The domain policy has disabled Drive File Stream\"; echo \"drive EXITED\"; ) &\n",
"[2] 790\n",
"root@8853f9368014-e8bef2a5298943548333554ce401e648: google.colab.drive MOUNTED\n",
"fuser -kw \"/root/.config/Google/DriveFS/Logs/timeouts.txt\" ; rm -rf \"/root/.config/Google/DriveFS/Logs/timeouts.txt\"\n",
"/root/.config/Google/DriveFS/Logs/timeouts.txt: 238\n",
"root@8853f9368014-e8bef2a5298943548333554ce401e648: nohup bash -c 'tail -n +0 -F \"/root/.config/Google/DriveFS/Logs/drive_fs.txt\" | python3 /opt/google/drive/drive-filter.py > \"/root/.config/Google/DriveFS/Logs/timeouts.txt\" ' < /dev/null > /dev/null 2>&1 &\n",
"[3] 839\n",
"root@8853f9368014-e8bef2a5298943548333554ce401e648: disown -a\n",
"root@8853f9368014-e8bef2a5298943548333554ce401e648: exit\n",
"Mounted at /content/MyDrive\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "OneI2FHXYF8H"
},
"source": [
"# Enter the directory\n",
"!cd /content/MyDrive/MyDrive/ECG/\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "jALJ2MIEH3ib"
},
"source": [
"# Importing any of these files is fine.\n",
"They differ by methods of preprocessing of the CSV files"
]
},
{
"cell_type": "code",
"metadata": {
"id": "DlqItrd6XNnX"
},
"source": [
"\n",
"with open('/content/MyDrive/MyDrive/ECG/dataset_dict_moise.pickle', 'rb') as file:\n",
" dataset_dict = pickle.load(file)\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NhNlh62VjOfY",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "f99fb725-a5a9-4408-dddb-7a6e0f3f73ac"
},
"source": [
"dataset_dict.keys()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict_keys(['X_train', 'X_test', 'y_train', 'y_test'])"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "OAKau2s0iv40"
},
"source": [
"x_train1=dataset_dict['X_train']\n",
"x_test1=dataset_dict['X_test']\n",
"\n",
"y_train1=dataset_dict['y_train']\n",
"y_test1=dataset_dict['y_test']\n",
"\n",
"\n",
"## For Moise data: \n",
"\n",
"x_train=x_train1\n",
"x_test=x_test1\n",
"\n",
"y_test = to_categorical(y_test1) #[:,1:5] # Since labeling is [1,2,3,4] instead \\\n",
"# of [0,1,2,3]\n",
"y_train = to_categorical(y_train1) #[:,1:5] #one-hot encoding"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 606
},
"id": "7Lhkt_ZjMiA0",
"outputId": "c6417c54-3f08-47dd-ae8a-007b981cdad0"
},
"source": [
"x_train"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Lead1</th>\n",
" <th>Lead2</th>\n",
" <th>Lead3</th>\n",
" <th>Lead4</th>\n",
" <th>Lead5</th>\n",
" <th>Lead6</th>\n",
" <th>Lead7</th>\n",
" <th>Lead8</th>\n",
" <th>Lead9</th>\n",
" <th>Lead10</th>\n",
" <th>Lead11</th>\n",
" <th>Lead12</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>309</th>\n",
" <td>0 138.0\n",
"1 140.5\n",
"2 143.5\n",
"3 ...</td>\n",
" <td>0 100.0\n",
"1 89.5\n",
"2 88.5\n",
"3 ...</td>\n",
" <td>0 96.5\n",
"1 96.0\n",
"2 101.0\n",
"3 ...</td>\n",
" <td>0 40.0\n",
"1 33.0\n",
"2 66.5\n",
"3 ...</td>\n",
" <td>0 108.50\n",
"1 98.00\n",
"2 113.00\n",
"3 ...</td>\n",
" <td>0 156.0\n",
"1 155.0\n",
"2 156.5\n",
"3 ...</td>\n",
" <td>0 125.535714\n",
"1 147.666667\n",
"2 139...</td>\n",
" <td>0 133.0\n",
"1 135.5\n",
"2 131.5\n",
"3 ...</td>\n",
" <td>0 107.5\n",
"1 97.5\n",
"2 123.0\n",
"3 ...</td>\n",
" <td>0 140.5\n",
"1 139.5\n",
"2 146.0\n",
"3 ...</td>\n",
" <td>0 153.0\n",
"1 150.5\n",
"2 162.5\n",
"3 ...</td>\n",
" <td>0 101.0\n",
"1 100.5\n",
"2 110.0\n",
"3 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1108</th>\n",
" <td>0 124.5\n",
"1 115.0\n",
"2 116.5\n",
"3 ...</td>\n",
" <td>0 101.0\n",
"1 101.5\n",
"2 102.5\n",
"3 ...</td>\n",
" <td>0 107.0\n",
"1 107.0\n",
"2 109.0\n",
"3 ...</td>\n",
" <td>0 25.5\n",
"1 22.5\n",
"2 40.5\n",
"3 ...</td>\n",
" <td>0 106.5\n",
"1 112.5\n",
"2 117.5\n",
"3 ...</td>\n",
" <td>0 135.0\n",
"1 145.0\n",
"2 138.5\n",
"3 ...</td>\n",
" <td>0 145.148148\n",
"1 6.000000\n",
"2 6...</td>\n",
" <td>0 123.5\n",
"1 111.0\n",
"2 114.0\n",
"3 ...</td>\n",
" <td>0 165.428571\n",
"1 165.875000\n",
"2 154...</td>\n",
" <td>0 130.0\n",
"1 132.0\n",
"2 133.0\n",
"3 ...</td>\n",
" <td>0 89.5\n",
"1 92.5\n",
"2 102.5\n",
"3 ...</td>\n",
" <td>0 135.0\n",
"1 128.5\n",
"2 125.0\n",
"3 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>647</th>\n",
" <td>0 65.000000\n",
"1 56.000000\n",
"2 58.85...</td>\n",
" <td>0 80.0\n",
"1 80.0\n",
"2 80.0\n",
"3 81....</td>\n",
" <td>0 45.000000\n",
"1 44.500000\n",
"2 46.00...</td>\n",
" <td>0 40.500000\n",
"1 51.914286\n",
"2 45.92...</td>\n",
" <td>0 77.000000\n",
"1 78.555556\n",
"2 78...</td>\n",
" <td>0 45.500000\n",
"1 50.200000\n",
"2 46.00...</td>\n",
" <td>0 78.000000\n",
"1 82.000000\n",
"2 76...</td>\n",
" <td>0 54.636364\n",
"1 58.500000\n",
"2 62.12...</td>\n",
" <td>0 133.500000\n",
"1 133.500000\n",
"2 133...</td>\n",
" <td>0 73.000000\n",
"1 75.000000\n",
"2 75...</td>\n",
" <td>0 68.333333\n",
"1 57.500000\n",
"2 59.09...</td>\n",
" <td>0 74.631579\n",
"1 76.466667\n",
"2 79...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>863</th>\n",
" <td>0 157.666667\n",
"1 157.666667\n",
"2 149...</td>\n",
" <td>0 105.0\n",
"1 109.5\n",
"2 102.5\n",
"3 ...</td>\n",
" <td>0 104.0\n",
"1 112.5\n",
"2 104.5\n",
"3 ...</td>\n",
" <td>0 52.0\n",
"1 76.0\n",
"2 58.0\n",
"3 ...</td>\n",
" <td>0 124.5\n",
"1 120.5\n",
"2 128.5\n",
"3 ...</td>\n",
" <td>0 118.333333\n",
"1 125.500000\n",
"2 128...</td>\n",
" <td>0 113.5\n",
"1 120.0\n",
"2 151.0\n",
"3 ...</td>\n",
" <td>0 92.5\n",
"1 94.0\n",
"2 109.5\n",
"3 ...</td>\n",
" <td>0 120.0\n",
"1 120.0\n",
"2 126.5\n",
"3 ...</td>\n",
" <td>0 150.0\n",
"1 153.5\n",
"2 145.5\n",
"3 ...</td>\n",
" <td>0 144.0\n",
"1 137.5\n",
"2 145.5\n",
"3 ...</td>\n",
" <td>0 127.888889\n",
"1 126.962963\n",
"2 133...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>207</th>\n",
" <td>0 122.0\n",
"1 130.0\n",
"2 130.0\n",
"3 ...</td>\n",
" <td>0 97.5\n",
"1 92.0\n",
"2 93.0\n",
"3 ...</td>\n",
" <td>0 85.000000\n",
"1 80.500000\n",
"2 86...</td>\n",
" <td>0 34.0\n",
"1 33.0\n",
"2 63.0\n",
"3 ...</td>\n",
" <td>0 83.50\n",
"1 85.00\n",
"2 94.04\n",
"3 ...</td>\n",
" <td>0 117.5\n",
"1 113.5\n",
"2 122.5\n",
"3 ...</td>\n",
" <td>0 157.818182\n",
"1 144.714286\n",
"2 122...</td>\n",
" <td>0 104.5\n",
"1 93.0\n",
"2 113.5\n",
"3 ...</td>\n",
" <td>0 116.5\n",
"1 106.5\n",
"2 128.5\n",
"3 ...</td>\n",
" <td>0 147.0\n",
"1 145.0\n",
"2 149.0\n",
"3 ...</td>\n",
" <td>0 153.781022\n",
"1 141.024793\n",
"2 22...</td>\n",
" <td>0 106.0\n",
"1 101.5\n",
"2 113.5\n",
"3 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>449</th>\n",
" <td>0 40.625\n",
"1 39.500\n",
"2 40.500\n",
"3 ...</td>\n",
" <td>0 86.500000\n",
"1 86.833333\n",
"2 87.60...</td>\n",
" <td>0 97.875\n",
"1 92.250\n",
"2 80.000\n",
"3 ...</td>\n",
" <td>0 15.000000\n",
"1 55.625000\n",
"2 15.50...</td>\n",
" <td>0 71.500000\n",
"1 80.166667\n",
"2 68...</td>\n",
" <td>0 52.500000\n",
"1 55.000000\n",
"2 54.50...</td>\n",
" <td>0 125.000000\n",
"1 137.666667\n",
"2 124...</td>\n",
" <td>0 43.0\n",
"1 46.0\n",
"2 51.5\n",
"3 46....</td>\n",
" <td>0 104.5\n",
"1 104.5\n",
"2 103.5\n",
"3 ...</td>\n",
" <td>0 72.5\n",
"1 72.0\n",
"2 73.2\n",
"3 72....</td>\n",
" <td>0 61.521739\n",
"1 55.219512\n",
"2 63.29...</td>\n",
" <td>0 62.500000\n",
"1 63.000000\n",
"2 65.00...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>411</th>\n",
" <td>0 39.666667\n",
"1 38.500000\n",
"2 39.50...</td>\n",
" <td>0 79.500000\n",
"1 86.500000\n",
"2 83.50...</td>\n",
" <td>0 103.833333\n",
"1 77.555556\n",
"2 71...</td>\n",
" <td>0 67.0\n",
"1 66.5\n",
"2 67.5\n",
"3 68....</td>\n",
" <td>0 96.400000\n",
"1 86.736842\n",
"2 86...</td>\n",
" <td>0 51.000000\n",
"1 52.000000\n",
"2 51.00...</td>\n",
" <td>0 73.500000\n",
"1 83.642857\n",
"2 85...</td>\n",
" <td>0 14.000000\n",
"1 55.171429\n",
"2 13.00...</td>\n",
" <td>0 102.5\n",
"1 104.5\n",
"2 111.0\n",
"3 ...</td>\n",
" <td>0 78.125000\n",
"1 87.000000\n",
"2 100...</td>\n",
" <td>0 86.416667\n",
"1 94.962963\n",
"2 88...</td>\n",
" <td>0 52.000000\n",
"1 52.000000\n",
"2 62.38...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>686</th>\n",
" <td>0 130.5\n",
"1 132.5\n",
"2 136.5\n",
"3 ...</td>\n",
" <td>0 99.250000\n",
"1 90.352941\n",
"2 88...</td>\n",
" <td>0 104.5\n",
"1 109.0\n",
"2 106.5\n",
"3 ...</td>\n",
" <td>0 58.0\n",
"1 80.0\n",
"2 69.0\n",
"3 ...</td>\n",
" <td>0 116.0\n",
"1 102.0\n",
"2 108.0\n",
"3 ...</td>\n",
" <td>0 157.5\n",
"1 160.5\n",
"2 165.5\n",
"3 ...</td>\n",
" <td>0 142.000000\n",
"1 140.333333\n",
"2 110...</td>\n",
" <td>0 107.0\n",
"1 119.0\n",
"2 116.0\n",
"3 ...</td>\n",
" <td>0 135.285714\n",
"1 159.142857\n",
"2 159...</td>\n",
" <td>0 156.5\n",
"1 156.5\n",
"2 156.0\n",
"3 ...</td>\n",
" <td>0 130.0\n",
"1 124.5\n",
"2 147.0\n",
"3 ...</td>\n",
" <td>0 109.5\n",
"1 128.5\n",
"2 120.5\n",
"3 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>461</th>\n",
" <td>0 68.5\n",
"1 54.0\n",
"2 60.5\n",
"3 65....</td>\n",
" <td>0 61.000000\n",
"1 52.000000\n",
"2 56.27...</td>\n",
" <td>0 84.0\n",
"1 84.0\n",
"2 83.5\n",
"3 84....</td>\n",
" <td>0 40.500\n",
"1 43.500\n",
"2 48.625\n",
"3 ...</td>\n",
" <td>0 65.086957\n",
"1 69.357143\n",
"2 67.50...</td>\n",
" <td>0 44.50000\n",
"1 38.60000\n",
"2 41.0800...</td>\n",
" <td>0 63.823529\n",
"1 57.500000\n",
"2 63...</td>\n",
" <td>0 70.235294\n",
"1 69.000000\n",
"2 78.13...</td>\n",
" <td>0 68.5\n",
"1 70.5\n",
"2 69.5\n",
"3 71....</td>\n",
" <td>0 98.0\n",
"1 101.5\n",
"2 99.0\n",
"3 ...</td>\n",
" <td>0 77.500000\n",
"1 79.000000\n",
"2 85...</td>\n",
" <td>0 60.5\n",
"1 37.0\n",
"2 65.0\n",
"3 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>727</th>\n",
" <td>0 119.5\n",
"1 105.5\n",
"2 112.0\n",
"3 ...</td>\n",
" <td>0 101.111111\n",
"1 107.000000\n",
"2 106...</td>\n",
" <td>0 104.5\n",
"1 104.5\n",
"2 104.5\n",
"3 ...</td>\n",
" <td>0 51.5\n",
"1 48.0\n",
"2 66.5\n",
"3 ...</td>\n",
" <td>0 114.375000\n",
"1 142.965517\n",
"2 138...</td>\n",
" <td>0 119.0\n",
"1 118.0\n",
"2 119.0\n",
"3 ...</td>\n",
" <td>0 83.0\n",
"1 75.0\n",
"2 102.0\n",
"3 ...</td>\n",
" <td>0 110.0\n",
"1 97.5\n",
"2 104.5\n",
"3 ...</td>\n",
" <td>0 140.875000\n",
"1 143.500000\n",
"2 140...</td>\n",
" <td>0 155.5\n",
"1 161.5\n",
"2 151.0\n",
"3 ...</td>\n",
" <td>0 128.0\n",
"1 132.5\n",
"2 136.5\n",
"3 ...</td>\n",
" <td>0 135.0\n",
"1 125.5\n",
"2 130.0\n",
"3 ...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>883 rows × 12 columns</p>\n",
"</div>"
],
"text/plain": [
" Lead1 ... Lead12\n",
"309 0 138.0\n",
"1 140.5\n",
"2 143.5\n",
"3 ... ... 0 101.0\n",
"1 100.5\n",
"2 110.0\n",
"3 ...\n",
"1108 0 124.5\n",
"1 115.0\n",
"2 116.5\n",
"3 ... ... 0 135.0\n",
"1 128.5\n",
"2 125.0\n",
"3 ...\n",
"647 0 65.000000\n",
"1 56.000000\n",
"2 58.85... ... 0 74.631579\n",
"1 76.466667\n",
"2 79...\n",
"863 0 157.666667\n",
"1 157.666667\n",
"2 149... ... 0 127.888889\n",
"1 126.962963\n",
"2 133...\n",
"207 0 122.0\n",
"1 130.0\n",
"2 130.0\n",
"3 ... ... 0 106.0\n",
"1 101.5\n",
"2 113.5\n",
"3 ...\n",
"... ... ... ...\n",
"449 0 40.625\n",
"1 39.500\n",
"2 40.500\n",
"3 ... ... 0 62.500000\n",
"1 63.000000\n",
"2 65.00...\n",
"411 0 39.666667\n",
"1 38.500000\n",
"2 39.50... ... 0 52.000000\n",
"1 52.000000\n",
"2 62.38...\n",
"686 0 130.5\n",
"1 132.5\n",
"2 136.5\n",
"3 ... ... 0 109.5\n",
"1 128.5\n",
"2 120.5\n",
"3 ...\n",
"461 0 68.5\n",
"1 54.0\n",
"2 60.5\n",
"3 65.... ... 0 60.5\n",
"1 37.0\n",
"2 65.0\n",
"3 ...\n",
"727 0 119.5\n",
"1 105.5\n",
"2 112.0\n",
"3 ... ... 0 135.0\n",
"1 125.5\n",
"2 130.0\n",
"3 ...\n",
"\n",
"[883 rows x 12 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kpKGfjGhMQpy",
"outputId": "46d2c325-30ab-43cb-a390-ead8aec74529"
},
"source": [
"x_train.iloc[0,0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 138.0\n",
"1 140.5\n",
"2 143.5\n",
"3 144.0\n",
"4 144.5\n",
" ... \n",
"130 163.5\n",
"131 163.5\n",
"132 163.0\n",
"133 163.0\n",
"134 163.0\n",
"Length: 135, dtype: float64"
]
},
"metadata": {
"tags": []
},
"execution_count": 33
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ZWI40p5tLNZY",
"outputId": "5ddb6cd9-271a-45ff-b9e5-a33c94583234"
},
"source": [
"from sktime.utils.data_processing import from_nested_to_3d_numpy\n",
"\n",
"np_xtrain= from_nested_to_3d_numpy(x_train)\n",
"\n",
"np_xtest= from_nested_to_3d_numpy(x_test)\n",
"#type(x_train)\n",
"np_xtrain.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(883, 12, 135)"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ZM7Nq0I1SSEx",
"outputId": "532a16ce-d6a0-4244-a6a0-30667e49b3db"
},
"source": [
"np_xtest.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(295, 12, 135)"
]
},
"metadata": {
"tags": []
},
"execution_count": 17
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "6Qyo5Oo0RwUP"
},
"source": [
"x_train=np_xtrain.reshape(x_train.shape[0],np_xtrain.shape[1]*np_xtrain.shape[2],1)\n",
"x_test=np_xtest.reshape(x_test.shape[0],np_xtest.shape[1]*np_xtest.shape[2],1)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_RqaloObL1zx",
"outputId": "b347dfa8-f982-4364-8548-1f9a03107607"
},
"source": [
"x_train.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(883, 12)"
]
},
"metadata": {
"tags": []
},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "sm9VxhaHKrvJ",
"outputId": "d57f68e2-6e16-48f2-e387-f94b3286c7e7"
},
"source": [
"y_test.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(295, 5)"
]
},
"metadata": {
"tags": []
},
"execution_count": 19
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "uv-ZsQniIHqO"
},
"source": [
"Plotting an example to see if the coarse grained reconstruction looks reasonable. "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-c3Ix3bpIc-o"
},
"source": [
"# Model \n",
"1d CNN <br>\n",
"https://towardsdatascience.com/understanding-1d-and-3d-convolution-neural-network-keras-9d8f76e29610\n",
"\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "uUAeR8Q8_q92",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "4b95a8e6-1d92-4601-8cfd-6a36903e9f1e"
},
"source": [
"# Earlier (128)\n",
"\n",
"num_classes=5\n",
"\n",
"model_m = Sequential()\n",
"input_shape=(x_train.shape[1], 1)\n",
"model_m.add(Conv1D(128, kernel_size=3,padding = 'same',activation='relu', input_shape=input_shape))\n",
"\n",
"model_m.add(BatchNormalization())\n",
"\n",
"model_m.add(MaxPooling1D(pool_size=(2)))\n",
"\n",
"## CONV2\n",
"model_m.add(Conv1D(64,kernel_size=3,padding = 'same', activation='relu'))\n",
"\n",
"model_m.add(BatchNormalization())\n",
"\n",
"model_m.add(MaxPooling1D(pool_size=(2)))\n",
"## End CONV2\n",
"\n",
"model_m.add(Flatten())\n",
"model_m.add(Dense(64, activation='tanh'))\n",
"model_m.add(Dropout(0.1))\n",
"# model_m.add(Dense(32, activation='tanh'))\n",
"# model_m.add(Dropout(0.2))\n",
"model_m.add(Dense(16, activation='relu'))\n",
"model_m.add(Dropout(0.2))\n",
"model_m.add(Dense(num_classes, activation='softmax'))\n",
"model_m.summary()"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Model: \"sequential\"\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv1d (Conv1D) (None, 1620, 128) 512 \n",
"_________________________________________________________________\n",
"batch_normalization (BatchNo (None, 1620, 128) 512 \n",
"_________________________________________________________________\n",
"max_pooling1d (MaxPooling1D) (None, 810, 128) 0 \n",
"_________________________________________________________________\n",
"conv1d_1 (Conv1D) (None, 810, 64) 24640 \n",
"_________________________________________________________________\n",
"batch_normalization_1 (Batch (None, 810, 64) 256 \n",
"_________________________________________________________________\n",
"max_pooling1d_1 (MaxPooling1 (None, 405, 64) 0 \n",
"_________________________________________________________________\n",
"flatten (Flatten) (None, 25920) 0 \n",
"_________________________________________________________________\n",
"dense (Dense) (None, 64) 1658944 \n",
"_________________________________________________________________\n",
"dropout (Dropout) (None, 64) 0 \n",
"_________________________________________________________________\n",
"dense_1 (Dense) (None, 16) 1040 \n",
"_________________________________________________________________\n",
"dropout_1 (Dropout) (None, 16) 0 \n",
"_________________________________________________________________\n",
"dense_2 (Dense) (None, 5) 85 \n",
"=================================================================\n",
"Total params: 1,685,989\n",
"Trainable params: 1,685,605\n",
"Non-trainable params: 384\n",
"_________________________________________________________________\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "yi63jA2WJsC2"
},
"source": [
"# num_classes=5\n",
"\n",
"# model_m = Sequential()\n",
"# input_shape=(x_train.shape[1], 1)\n",
"# model_m.add(Conv1D(64, kernel_size=3,padding = 'same',activation='relu', input_shape=input_shape))\n",
"\n",
"# model_m.add(BatchNormalization())\n",
"\n",
"# model_m.add(MaxPooling1D(pool_size=(2)))\n",
"\n",
"# ## CONV2\n",
"# model_m.add(Conv1D(32,kernel_size=3,padding = 'same', activation='relu'))\n",
"\n",
"# model_m.add(BatchNormalization())\n",
"\n",
"# model_m.add(MaxPooling1D(pool_size=(2)))\n",
"# ## End CONV2\n",
"\n",
"\n",
"# ## CONV2\n",
"# model_m.add(Conv1D(16,kernel_size=3,padding = 'same', activation='relu'))\n",
"\n",
"# model_m.add(BatchNormalization())\n",
"\n",
"# model_m.add(MaxPooling1D(pool_size=(2)))\n",
"# ## End CONV2\n",
"\n",
"# model_m.add(Flatten())\n",
"# model_m.add(Dense(32, activation='tanh'))\n",
"# model_m.add(Dropout(0.1))\n",
"# # model_m.add(Dense(32, activation='tanh'))\n",
"# # model_m.add(Dropout(0.2))\n",
"# model_m.add(Dense(16, activation='relu'))\n",
"# model_m.add(Dropout(0.2))\n",
"# model_m.add(Dense(num_classes, activation='softmax'))\n",
"# model_m.summary()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "1hAXD7g5J5B6",
"outputId": "cfbbc422-d408-4218-cbd4-0530088dfcc9"
},
"source": [
"model_m.compile(loss='categorical_crossentropy',\n",
" optimizer='adam', metrics=['accuracy'])\n",
"\n",
"# Hyper-parameters\n",
"BATCH_SIZE = 100\n",
"EPOCHS = 50\n",
"\n",
"# Enable validation to use ModelCheckpoint and EarlyStopping callbacks.\n",
"shape=x_train.shape\n",
"history = model_m.fit(x_train,\n",
" y_train,\n",
" batch_size=BATCH_SIZE,\n",
" epochs=EPOCHS,\n",
" validation_split=0.1,\n",
" verbose=1)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Epoch 1/50\n",
"8/8 [==============================] - 9s 986ms/step - loss: 0.7887 - accuracy: 0.6751 - val_loss: 4.7063 - val_accuracy: 0.1348\n",
"Epoch 2/50\n",
"8/8 [==============================] - 8s 949ms/step - loss: 0.6545 - accuracy: 0.7771 - val_loss: 4.6509 - val_accuracy: 0.1348\n",
"Epoch 3/50\n",
"8/8 [==============================] - 8s 948ms/step - loss: 0.5827 - accuracy: 0.8060 - val_loss: 4.7609 - val_accuracy: 0.1348\n",
"Epoch 4/50\n",
"8/8 [==============================] - 8s 951ms/step - loss: 0.5137 - accuracy: 0.8375 - val_loss: 4.8457 - val_accuracy: 0.1348\n",
"Epoch 5/50\n",
"8/8 [==============================] - 8s 951ms/step - loss: 0.4769 - accuracy: 0.8401 - val_loss: 4.9782 - val_accuracy: 0.1348\n",
"Epoch 6/50\n",
"8/8 [==============================] - 8s 952ms/step - loss: 0.3789 - accuracy: 0.8904 - val_loss: 4.8287 - val_accuracy: 0.1348\n",
"Epoch 7/50\n",
"8/8 [==============================] - 8s 951ms/step - loss: 0.3096 - accuracy: 0.9156 - val_loss: 4.8646 - val_accuracy: 0.1573\n",
"Epoch 8/50\n",
"8/8 [==============================] - 8s 948ms/step - loss: 0.2690 - accuracy: 0.9232 - val_loss: 4.4859 - val_accuracy: 0.1685\n",
"Epoch 9/50\n",
"8/8 [==============================] - 8s 949ms/step - loss: 0.2542 - accuracy: 0.9408 - val_loss: 3.6144 - val_accuracy: 0.1910\n",
"Epoch 10/50\n",
"8/8 [==============================] - 8s 947ms/step - loss: 0.2170 - accuracy: 0.9496 - val_loss: 1.8118 - val_accuracy: 0.3596\n",
"Epoch 11/50\n",
"8/8 [==============================] - 8s 951ms/step - loss: 0.2019 - accuracy: 0.9509 - val_loss: 3.6833 - val_accuracy: 0.2135\n",
"Epoch 12/50\n",
"8/8 [==============================] - 8s 948ms/step - loss: 0.1653 - accuracy: 0.9660 - val_loss: 3.6082 - val_accuracy: 0.2360\n",
"Epoch 13/50\n",
"8/8 [==============================] - 8s 958ms/step - loss: 0.1707 - accuracy: 0.9572 - val_loss: 3.1682 - val_accuracy: 0.3258\n",
"Epoch 14/50\n",
"8/8 [==============================] - 8s 961ms/step - loss: 0.1424 - accuracy: 0.9736 - val_loss: 3.1408 - val_accuracy: 0.3596\n",
"Epoch 15/50\n",
"8/8 [==============================] - 8s 952ms/step - loss: 0.1254 - accuracy: 0.9723 - val_loss: 3.1586 - val_accuracy: 0.3708\n",
"Epoch 16/50\n",
"8/8 [==============================] - 8s 952ms/step - loss: 0.1307 - accuracy: 0.9773 - val_loss: 2.0504 - val_accuracy: 0.5393\n",
"Epoch 17/50\n",
"8/8 [==============================] - 8s 959ms/step - loss: 0.1043 - accuracy: 0.9761 - val_loss: 1.7099 - val_accuracy: 0.5506\n",
"Epoch 18/50\n",
"8/8 [==============================] - 8s 958ms/step - loss: 0.1026 - accuracy: 0.9761 - val_loss: 1.6344 - val_accuracy: 0.5618\n",
"Epoch 19/50\n",
"8/8 [==============================] - 8s 955ms/step - loss: 0.0868 - accuracy: 0.9836 - val_loss: 2.2911 - val_accuracy: 0.4270\n",
"Epoch 20/50\n",
"8/8 [==============================] - 8s 955ms/step - loss: 0.0971 - accuracy: 0.9773 - val_loss: 1.6348 - val_accuracy: 0.5618\n",
"Epoch 21/50\n",
"8/8 [==============================] - 8s 958ms/step - loss: 0.0808 - accuracy: 0.9849 - val_loss: 2.1727 - val_accuracy: 0.4607\n",
"Epoch 22/50\n",
"8/8 [==============================] - 8s 954ms/step - loss: 0.0696 - accuracy: 0.9849 - val_loss: 1.9821 - val_accuracy: 0.4607\n",
"Epoch 23/50\n",
"8/8 [==============================] - 8s 948ms/step - loss: 0.0728 - accuracy: 0.9887 - val_loss: 1.1729 - val_accuracy: 0.5730\n",
"Epoch 24/50\n",
"8/8 [==============================] - 8s 949ms/step - loss: 0.0764 - accuracy: 0.9798 - val_loss: 0.8248 - val_accuracy: 0.7079\n",
"Epoch 25/50\n",
"8/8 [==============================] - 8s 953ms/step - loss: 0.0776 - accuracy: 0.9811 - val_loss: 0.2246 - val_accuracy: 0.9326\n",
"Epoch 26/50\n",
"8/8 [==============================] - 8s 954ms/step - loss: 0.0582 - accuracy: 0.9861 - val_loss: 0.1022 - val_accuracy: 0.9551\n",
"Epoch 27/50\n",
"8/8 [==============================] - 8s 947ms/step - loss: 0.0485 - accuracy: 0.9924 - val_loss: 2.0843 - val_accuracy: 0.4719\n",
"Epoch 28/50\n",
"8/8 [==============================] - 8s 950ms/step - loss: 0.0443 - accuracy: 0.9937 - val_loss: 0.6747 - val_accuracy: 0.7978\n",
"Epoch 29/50\n",
"8/8 [==============================] - 8s 949ms/step - loss: 0.0551 - accuracy: 0.9874 - val_loss: 0.4290 - val_accuracy: 0.8764\n",
"Epoch 30/50\n",
"8/8 [==============================] - 8s 950ms/step - loss: 0.0611 - accuracy: 0.9836 - val_loss: 0.7962 - val_accuracy: 0.8090\n",
"Epoch 31/50\n",
"8/8 [==============================] - 8s 953ms/step - loss: 0.0486 - accuracy: 0.9861 - val_loss: 1.1474 - val_accuracy: 0.6404\n",
"Epoch 32/50\n",
"8/8 [==============================] - 8s 947ms/step - loss: 0.0461 - accuracy: 0.9887 - val_loss: 0.6301 - val_accuracy: 0.8090\n",
"Epoch 33/50\n",
"8/8 [==============================] - 8s 952ms/step - loss: 0.0499 - accuracy: 0.9861 - val_loss: 0.1327 - val_accuracy: 0.9551\n",
"Epoch 34/50\n",
"8/8 [==============================] - 8s 954ms/step - loss: 0.0475 - accuracy: 0.9899 - val_loss: 0.4007 - val_accuracy: 0.8652\n",
"Epoch 35/50\n",
"8/8 [==============================] - 8s 954ms/step - loss: 0.0377 - accuracy: 0.9874 - val_loss: 0.0970 - val_accuracy: 0.9663\n",
"Epoch 36/50\n",
"8/8 [==============================] - 8s 945ms/step - loss: 0.0449 - accuracy: 0.9899 - val_loss: 2.6201 - val_accuracy: 0.4494\n",
"Epoch 37/50\n",
"8/8 [==============================] - 8s 958ms/step - loss: 0.0365 - accuracy: 0.9950 - val_loss: 1.8019 - val_accuracy: 0.5730\n",
"Epoch 38/50\n",
"8/8 [==============================] - 8s 954ms/step - loss: 0.0419 - accuracy: 0.9912 - val_loss: 0.2048 - val_accuracy: 0.9326\n",
"Epoch 39/50\n",
"8/8 [==============================] - 8s 952ms/step - loss: 0.0403 - accuracy: 0.9887 - val_loss: 0.1393 - val_accuracy: 0.9438\n",
"Epoch 40/50\n",
"8/8 [==============================] - 8s 950ms/step - loss: 0.0386 - accuracy: 0.9899 - val_loss: 0.2803 - val_accuracy: 0.8989\n",
"Epoch 41/50\n",
"8/8 [==============================] - 8s 949ms/step - loss: 0.0337 - accuracy: 0.9899 - val_loss: 0.1602 - val_accuracy: 0.9101\n",
"Epoch 42/50\n",
"8/8 [==============================] - 8s 949ms/step - loss: 0.0318 - accuracy: 0.9950 - val_loss: 0.9403 - val_accuracy: 0.7416\n",
"Epoch 43/50\n",
"8/8 [==============================] - 8s 946ms/step - loss: 0.0399 - accuracy: 0.9912 - val_loss: 0.2533 - val_accuracy: 0.9213\n",
"Epoch 44/50\n",
"8/8 [==============================] - 8s 955ms/step - loss: 0.0333 - accuracy: 0.9950 - val_loss: 0.5402 - val_accuracy: 0.8315\n",
"Epoch 45/50\n",
"8/8 [==============================] - 8s 954ms/step - loss: 0.0302 - accuracy: 0.9975 - val_loss: 0.7619 - val_accuracy: 0.7865\n",
"Epoch 46/50\n",
"8/8 [==============================] - 8s 950ms/step - loss: 0.0329 - accuracy: 0.9912 - val_loss: 0.2672 - val_accuracy: 0.9101\n",
"Epoch 47/50\n",
"8/8 [==============================] - 8s 952ms/step - loss: 0.0361 - accuracy: 0.9912 - val_loss: 0.4002 - val_accuracy: 0.8764\n",
"Epoch 48/50\n",
"8/8 [==============================] - 8s 951ms/step - loss: 0.0284 - accuracy: 0.9962 - val_loss: 0.5409 - val_accuracy: 0.8202\n",
"Epoch 49/50\n",
"8/8 [==============================] - 8s 954ms/step - loss: 0.0270 - accuracy: 0.9937 - val_loss: 0.5843 - val_accuracy: 0.8202\n",
"Epoch 50/50\n",
"8/8 [==============================] - 8s 952ms/step - loss: 0.0210 - accuracy: 0.9975 - val_loss: 0.1410 - val_accuracy: 0.9438\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "OZNS-3wQOR0g",
"outputId": "02bcee56-b799-4216-ad89-6fe573dbde18"
},
"source": [
"model_m.save(\"model_94\")\n",
"sh=x_test\n",
"score = model_m.evaluate(x_test, y_test, verbose=0)\n",
"print('Test loss:', score[0])\n",
"print('Test accuracy:', score[1])"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"INFO:tensorflow:Assets written to: model_94/assets\n",
"Test loss: 0.1554442197084427\n",
"Test accuracy: 0.9559321999549866\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3qO_taXiGqWG",
"outputId": "0096b950-ba43-483b-a407-b03e7420e478"
},
"source": [
"print(history.history.keys())\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"dict_keys(['loss', 'accuracy', 'val_loss', 'val_accuracy'])\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "RQapulbtF0Y2"
},
"source": [
"# plt.plot(history.history['accuracy'])\n",
"# plt.plot(history.history['val_accuracy'])\n",
"# plt.title('model accuracy')\n",
"# plt.ylabel('accuracy')\n",
"# plt.xlabel('epoch')\n",
"# plt.legend(['train', 'validation'], loc='upper left')\n",
"# plt.show()\n",
"# # \"Loss\"\n",
"# plt.plot(history.history['loss'])\n",
"# plt.plot(history.history['val_loss'])\n",
"# plt.title('model loss')\n",
"# plt.ylabel('loss')\n",
"# plt.xlabel('epoch')\n",
"# plt.legend(['train', 'validation'], loc='upper left')\n",
"# plt.show()"
],
"execution_count": 3,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "zNzM0j3x06Wq"
},
"source": [
"#set 1\n",
"#Test loss: 0.4121353328227997\n",
"#Test accuracy: 0.9306930899620056"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3luf7VRy1AC_",
"outputId": "9bd5187e-ffb2-43d9-d704-68920bd8abfc"
},
"source": [
"confusion_matrix"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[49, 0, 0, 1, 0],\n",
" [ 0, 48, 0, 0, 0],\n",
" [ 1, 1, 28, 0, 4],\n",
" [ 0, 3, 5, 31, 8],\n",
" [ 0, 1, 4, 1, 51]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "5YVe7K1KWDek"
},
"source": [
"# 0.85 when two 64 conv used"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "W9QJ3T1UTsqg"
},
"source": [
"import sklearn.metrics as metrics\n",
"\n",
"y_test_pred = model_m.predict(x_test) \n",
"y_test_pred_labels = np.argmax(y_test_pred, axis=1) # only necessary if output has one-hot-encoding, shape=(n_samples)\n",
"# print(y_test_pred_labels)\n",
"y_test_labels = np.argmax(y_test, axis=1)\n",
"# print(y_test_labels)\n",
"confusion_matrix = metrics.confusion_matrix(y_true=y_test_labels, y_pred=y_test_pred_labels)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 341
},
"id": "iag-_IsYQ6eL",
"outputId": "0e5e92cf-52d3-440a-d02f-b0ac98ba1a1b"
},
"source": [
"import matplotlib.pyplot as plt\n",
"import seaborn as sn\n",
"\n",
"fig, ax = plt.subplots()\n",
"\n",
"text_labels=['Covid','MI','MI-Hist','Abnormal','Normal']\n",
"df_cm = pd.DataFrame(confusion_matrix, range(num_classes), range(num_classes))\n",
"# plt.figure(figsize=(10,7))\n",
"sn.set(font_scale=1.4) # for label size\n",
"sn.heatmap(df_cm, annot=True, annot_kws={\"size\": 20}, fmt='g') # font size\n",
"\n",
"ax.set_xticklabels( text_labels, rotation = 45)\n",
"ax.set_yticklabels(text_labels,rotation = 45)\n",
"\n",
"plt.ylabel(\"Output Class\")\n",
"plt.xlabel(\"Target Class\")\n",
"\n",
"\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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1gleHTp0oF+/frRr1w6bzUZhYSHJycmkpKQ02KezZ8/y2GOPGaHcxcWFyMhIOnfujLu7O+Xl5WRmZpKYmEhpaelVfDVERK4NhS8RkZtUdHQ0P/3pT7ntttsa3KB3//79zJs3j/T0dLZv386GDRu4//77mzz2hx9+iMVi4eGHH+a5557Dy8vLeMxqtWK324Gaan0vvviicdEfERHBW2+9RdeuXY32drudlStX8tprr/HHP/6xWee2ePFiI3i1b9+eF198kbFjx14ylW/Pnj0899xznDt3jm+++YalS5fy2GOPGY/HxMQQExPDZ599ZoSv/v37X9XqkQcPHjRum81m+vbte9WOfTnCw8N58cUXGTNmDMHBwfW2SUtL45VXXiE2NpasrCz+8pe/sGDBgkva5efn88knnwA1Yfq1115j4sSJ9U5VzM3NZdOmTbi7u1/y2NKlS43gFRUVxVtvvVXvqKDFYuHw4cOsXr262dMhRURag8oiiYjcpH77298yfvz4BoMXwNChQ1m2bJkx3XD58uXNOrbFYuHBBx9kwYIFdYIX1FyMO6aFLV26lMLCQgD8/f1ZunRpneAFYDKZmD59Os8//zxVVVVNPndmZib//d//DYC3tzcrVqxg/Pjx9a6hGj58OB999BGurq4A/O1vf6szCtUSHOvboGaN28WvV0uZMmUKjz76aIPBC6BTp068//77xrqqzz//nKKiokvaxcfHG4F6/PjxTJo0qcFQFBgYyKOPPspDDz10yWOHDh0ybr/++usNTsd0dnZm6NChvPnmmzg5OTV8kiIirUzhS0REGhUWFkZ0dDRQUzyhOdO7XF1dee655xptY7PZ+Oyzz4z7Tz31FO3atWuw/YwZMwgPD2/yuZcvX47FYgHgF7/4xSVh7mI9evRg0qRJABQUFLBr164mn+NqcoRPAB8fnxZ97ivh4uLCAw88AEBFRcUl00iBOn8jjb2nTam9BvCHHEdE5HqhaYciIkJ6ejoJCQmcOXOGkpISqqqqjKmBgLH2y2azkZiYSFRUVKPHGzFiBG3btm20zalTpzh//jxQM93uvvvua7S9o817773XaLvt27cbt5u7furWW2811icdOnSIe+65p1m/dzXUDhgNVftrafn5+Rw9epTk5GSKioooLy/HZrMZj58+fdq4ffz4cUaPHl3n92uPnm3evJnHH3+cgICA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mwQGBvLRRx8BcPr0aX71q1/h7u5Ov379CAwMpE2bNhQUFJCVlcXx48frBK7a1R4vx8SJE1m6dCkpKSlUV1fz/PPPs2TJEnr16oWHhwcpKSkcOXIEu91OcHAwjz76KH/6058aPWZiYiILFizg1VdfpVOnTvTo0YO2bdtisVjIzc0lLi6uznYDjz/+OMHBwXWOUVFRwerVq1m9ejVt2rQhIiKC4OBgPD09KSgo4PTp0yQnJxvt27VrxzPPPHNFr4GISEtQ+BIRuQl169aNt99+m9/85jdcuHABu91u7L1U27333svrr7/OwoULr1lfxo4dS3V1NS+99BIXLlzAarXW2UwXasrGz58/n6FDhxo/a6win8lk4rXXXqNPnz688847FBYWYrFYOHr0aKNFO/r372+svbrYiy++yE9+8hNKSkooLi5m48aNdR4PDQ39weHLbDbz/PPPM2LECN555x2jVH5FRUWjRS48PT158MEH64z4XQ5XV1eWLFnC448/TmpqKgApKSmXjELecsstvP3228THxzd6vNoh0G63k5qaahz3Yi4uLjzxxBP1hiZPT08joJWVlXHw4MEGn7NXr1689dZbdOjQodG+iYi0JoUvEZGb1OjRo/niiy9YtmwZu3btIisrC7PZTEBAAH379uWBBx6oMz3xWpowYQJRUVEsX76cHTt2kJWVhclkIigoiBEjRjBt2jS6detW56Lfx8enyeM+8sgjxMTEsH79evbs2cPx48cpKCgwplJ26NCBbt26MXjwYG6//XbCw8MbPFbv3r1Zt24dK1asYN++faSnp1NWVnZNNmW+7bbbuO222zh06BCxsbEcOHCAs2fPUlBQQFVVFd7e3gQGBhIZGcnQoUMZM2bMFY96OXTu3Jk1a9awcuVKNm/ezOnTp6mqqsLf35+uXbsybtw4JkyYgJubW5Pha/bs2dxzzz3s2bOHuLg4kpKSyMzMpKysDJPJhI+PD127duXWW29l4sSJdTaars2xp9f+/ftJSEggNTWV8+fPU1lZibu7O0FBQfTp04d7772XO++8E7NZqylE5Ppmsl9JOSUREZFWsHr1aubPnw/AtGnTeOWVV1q5RyIiIs2nr4hEROSGUXuqX9++fVuxJyIiIpdP4UtERG4ImzdvZu/evUDNvlt33313K/dIRETk8ih8iYhIqzp69Cjz5s1rcOPeqqoqli1bxm9+8xvjZ1OnTsXX17eluigiInJVaM2XiIi0qoMHDzJ9+nQAgoKCiIiIwN/fH7vdbpQkLykpMdp3796dTz/99JrtPSYiInKtqNqhiIhcN7Kzs8nOzm7w8ZEjR/KXv/xFwUtERG5IGvkSEZFWZbPZOHDgADt27CAhIYHc3FwKCwspLS3Fy8uLwMBABg0axH333Vdnny8REZEbjcKXiIiIiIhIC1DBDRERERERkRag8CUiIiIiItICFL5ERERERERagMKXiIiIiIhIC1D4EhERERERaQEKXyIiIiIiIi1A4UtERERERKQFKHyJiIiIiIi0AIUvERERERGRFqDwJSIiIiIi0gIUvkRERERERFqAwpeIiIiIiEgLUPgSERERERFpAf8fIshlwK6yH1IAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"image/png": {
"width": 431,
"height": 324
}
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "hC84hmvrVr13"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "r44F6KcvzXvl",
"outputId": "0b955374-ec0e-468e-faf2-480df393a30e"
},
"source": [
"from sklearn.metrics import classification_report\n",
"\n",
"y_pred = model_m.predict(x_test, batch_size=100, verbose=1)\n",
"y_pred_bool = np.argmax(y_pred, axis=1)\n",
"\n",
"y_test_b = np.argmax(y_test, axis=1)\n",
"\n",
"report=classification_report(y_test_b, y_pred_bool, target_names=text_labels, output_dict=True)\n",
"print(classification_report(y_test_b, y_pred_bool, target_names=text_labels))"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"3/3 [==============================] - 0s 51ms/step\n",
" precision recall f1-score support\n",
"\n",
" Covid 0.98 0.98 0.98 50\n",
" MI 0.91 1.00 0.95 48\n",
" MI-Hist 0.76 0.82 0.79 34\n",
" Abnormal 0.94 0.66 0.78 47\n",
" Normal 0.81 0.89 0.85 57\n",
"\n",
" accuracy 0.88 236\n",
" macro avg 0.88 0.87 0.87 236\n",
"weighted avg 0.88 0.88 0.87 236\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "_ckNWrATggza"
},
"source": [
"df = pd.DataFrame(report).transpose()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "n4HxWkf6iggJ",
"outputId": "a6dee7d9-2b66-4a1b-a9e6-1b3e0113310f"
},
"source": [
"df[:-3]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>precision</th>\n",
" <th>recall</th>\n",
" <th>f1-score</th>\n",
" <th>support</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Covid</th>\n",
" <td>0.980000</td>\n",
" <td>0.980000</td>\n",
" <td>0.980000</td>\n",
" <td>50.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MI</th>\n",
" <td>0.905660</td>\n",
" <td>1.000000</td>\n",
" <td>0.950495</td>\n",
" <td>48.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MI-Hist</th>\n",
" <td>0.756757</td>\n",
" <td>0.823529</td>\n",
" <td>0.788732</td>\n",
" <td>34.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Abnormal</th>\n",
" <td>0.939394</td>\n",
" <td>0.659574</td>\n",
" <td>0.775000</td>\n",
" <td>47.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Normal</th>\n",
" <td>0.809524</td>\n",
" <td>0.894737</td>\n",
" <td>0.850000</td>\n",
" <td>57.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" precision recall f1-score support\n",
"Covid 0.980000 0.980000 0.980000 50.0\n",
"MI 0.905660 1.000000 0.950495 48.0\n",
"MI-Hist 0.756757 0.823529 0.788732 34.0\n",
"Abnormal 0.939394 0.659574 0.775000 47.0\n",
"Normal 0.809524 0.894737 0.850000 57.0"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "awKhL4mloL6v"
},
"source": [
""
]
},
{
"cell_type": "code",
"metadata": {
"id": "5rL-ow3sKSC_"
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}