diff --git a/LSTM_GRU_Suara_Hati.ipynb b/LSTM_GRU_Suara_Hati.ipynb new file mode 100644 index 0000000..8e0b58c --- /dev/null +++ b/LSTM_GRU_Suara_Hati.ipynb @@ -0,0 +1,3058 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Re3rS6KaiD37" + }, + "source": [ + "# Klasifikasi Suara Jantung" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JGzm_jLliD4C" + }, + "source": [ + "## A. Mengimpor Library yang diperlukan" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "FTkwtmJgiIpr", + "outputId": "1ce9dd3e-7f58-4d9d-877c-69665e52185b" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Mounted at /content/gdrive/\n" + ] + } + ], + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/gdrive/')\n", + "DATA_DIR = '/content/gdrive/MyDrive/heart_sound'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "YkuzV-hMiD4D" + }, + "outputs": [], + "source": [ + "import numpy as np # linear algebra\n", + "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", + "import os # to use operating system dependent functionality\n", + "import librosa # to extract sound features\n", + "import wave # read and write WAV files\n", + "import matplotlib.pyplot as plt # to generate the visualizations\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import classification_report\n", + "from sklearn.metrics import confusion_matrix\n", + "from sklearn.metrics import roc_curve, auc, roc_auc_score\n", + "import seaborn as sns\n", + "import IPython.display as ipd\n", + "import tensorflow as tf\n", + "\n", + "from PIL import Image\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.image as mpimg\n", + "import seaborn as sns\n", + "from scipy import interp\n", + "from itertools import cycle\n", + "\n", + "import keras\n", + "import tensorflow\n", + "from tensorflow.keras.utils import to_categorical\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import *\n", + "from tensorflow.keras.optimizers import RMSprop" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "W2DyBzwtiD4G" + }, + "source": [ + "## B. Membaca Dataset & Ekstraksi Fitur" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "p8oi9npb7UjH" + }, + "source": [ + "Suara Jantung Sehat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "sSqv5Tdb5BOW", + "outputId": "23b2ded2-fe76-468b-a1b4-bf038db82e23", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 76 + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " " + ] + }, + "metadata": {}, + "execution_count": 3 + } + ], + "source": [ + "# heart it\n", + "healthy_file=DATA_DIR+\"/train/healthy/a0009.wav\"\n", + "ipd.Audio(healthy_file)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "fT5FGyL65vcN", + "outputId": "4a09e819-6aa9-4df7-84d1-2c09084e3eb4", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Sampling (frame) rate = 2000\n", + "Total samples (frames) = (71611,)\n", + "[-134 -225 -278 ... 211 291 194]\n" + ] + } + ], + "source": [ + "# Load use scipy\n", + "from scipy.io import wavfile\n", + "rate, data = wavfile.read(healthy_file)\n", + "print(\"Sampling (frame) rate = \", rate)\n", + "print(\"Total samples (frames) = \", data.shape)\n", + "print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kln3MxIf6FsX", + "outputId": "5ddf1d21-ab55-4443-9773-12e87e8f1919", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 211 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "# plot wave by audio frames\n", + "plt.figure(figsize=(16, 3))\n", + "plt.plot(data, '-', );" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "l2Kai3XQ7bTp" + }, + "source": [ + "\n", + "Suara Jantung Tidak Sehat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "UCIaAv-z7HEF", + "outputId": "5913ae3d-d869-4512-ba62-9a1632eb68e6", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 76 + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " " + ] + }, + "metadata": {}, + "execution_count": 6 + } + ], + "source": [ + "unhealthy_file=DATA_DIR+\"/train/unhealthy/a0001.wav\"\n", + "ipd.Audio(unhealthy_file) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Arv8yz7u7Ir2", + "outputId": "2bae1527-5f55-43bc-ce03-a96bf54e46bf", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Sampling (frame) rate = 2000\n", + "Total samples (frames) = (71332,)\n", + "[ -69 -135 -104 ... -285 -257 -187]\n" + ] + } + ], + "source": [ + "# Load use scipy\n", + "from scipy.io import wavfile\n", + "rate, data = wavfile.read(unhealthy_file)\n", + "print(\"Sampling (frame) rate = \", rate)\n", + "print(\"Total samples (frames) = \", data.shape)\n", + "print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "f8kp7Vp47K0H", + "outputId": "6298e0fe-6813-4a2f-ad7f-de5972dee252", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 211 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "# plot wave by audio frames\n", + "plt.figure(figsize=(16, 3))\n", + "plt.plot(data, '-', );" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lzEiKmwg7fXz" + }, + "source": [ + "Ekstraksi menggunakan MFCC\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "EYQh2ECaiD4I" + }, + "outputs": [], + "source": [ + "def extract_mfcc(wav_file_name):\n", + " #This function extracts mfcc features and obtain the mean of each dimension\n", + " #Input : path_to_wav_file\n", + " #Output: mfcc_features'''\n", + " y, sr = librosa.load(wav_file_name)\n", + " mfccs = np.mean(librosa.feature.mfcc(y=y, sr=sr, n_mfcc=40).T,axis=0)\n", + " \n", + " return mfccs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZEhSE-r9zRL1", + "outputId": "8b32ce30-33e7-40c6-bd88-e7e4741fd352" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/gdrive/MyDrive/heart_sound/train/healthy/e00982.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01142.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01094.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01072.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01099.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01109.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01007.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01083.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01129.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e00993.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01093.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01096.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e00970.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01011.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01091.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01006.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01122.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e00972.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e00984.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01095.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01090.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01107.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01039.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01074.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01017.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01118.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01114.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01143.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e00988.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01057.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01179.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01290.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01209.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01243.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01241.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01161.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01268.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01156.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01172.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01195.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01163.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01315.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01220.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01249.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01216.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01210.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01270.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01222.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01342.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01354.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01329.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01158.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01207.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01274.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01285.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01323.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01181.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01333.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01317.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01262.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01219.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01318.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01293.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01225.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01190.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01336.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01208.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01173.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01347.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01349.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01229.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01259.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01260.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01265.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01321.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01170.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01264.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01271.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01303.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01188.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01203.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01266.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01204.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01182.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01300.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01168.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01327.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01240.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01155.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01288.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01343.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01312.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01353.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01211.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01200.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01164.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01297.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01177.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01230.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01306.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01325.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01254.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01273.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01276.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01194.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01316.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01192.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01278.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01287.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01245.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01175.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01199.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01171.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01308.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01313.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01174.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01178.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01281.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01332.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01301.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01180.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01326.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01197.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01169.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01344.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01258.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01236.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01295.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01279.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01242.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01223.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01269.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01233.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01330.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01162.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01322.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01176.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01165.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01198.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01314.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01328.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01296.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01185.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01304.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01277.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01294.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01352.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01340.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01196.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01206.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01227.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01166.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01224.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01186.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01193.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01183.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01335.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01310.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01244.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01283.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01305.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01309.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01355.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01238.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01302.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01339.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01255.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01331.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01253.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01251.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01159.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01334.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01184.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01261.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01214.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01348.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01217.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01212.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01320.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01187.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01345.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01346.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01213.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01282.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01201.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01267.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01291.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01311.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01228.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01275.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01252.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01231.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01324.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01257.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01234.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01167.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01202.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01286.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01247.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01319.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01337.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01239.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01250.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01350.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01189.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01157.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01221.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01248.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01232.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01191.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01338.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01292.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01235.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01366.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01387.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01357.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01405.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01498.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01521.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01413.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01427.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01409.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01447.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01508.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01373.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01454.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01406.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01514.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01426.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01512.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01518.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01425.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01444.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01496.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01500.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01412.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01477.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01443.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01398.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01364.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01505.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01445.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01434.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01397.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01480.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01495.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01481.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01428.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01430.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01492.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01359.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01534.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01451.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01419.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01484.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01385.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01453.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01528.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01482.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01356.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01390.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01497.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01411.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01393.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01391.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01416.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01414.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01503.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01489.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01417.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01433.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01473.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01513.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01478.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01394.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01517.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01371.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01388.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01408.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01459.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01455.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01442.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01432.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01523.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01389.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01530.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01370.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01369.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01539.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01507.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01471.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01438.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01491.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01403.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01522.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01407.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01363.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01533.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01392.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01462.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01540.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01395.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01475.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01410.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01384.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01468.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01450.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01535.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01519.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01472.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01537.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01429.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01418.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01379.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01422.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01456.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01463.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01541.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01420.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01396.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01506.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01493.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01402.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01440.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01377.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01465.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01504.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01536.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01485.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01487.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01448.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01526.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01467.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01499.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01400.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01452.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01532.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01488.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01439.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01424.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01401.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01525.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01458.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01362.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01437.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01372.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01361.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01460.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01469.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01378.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01435.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01486.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01510.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01476.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01520.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01524.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01515.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01474.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01446.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01380.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01538.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01441.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01501.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01358.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01404.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01516.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01360.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01470.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01423.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01436.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01381.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01466.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01490.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01368.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01509.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01415.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01464.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01386.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01449.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01431.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01527.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01599.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01667.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01676.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01578.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01566.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01647.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01558.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01620.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01690.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01673.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01626.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01659.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01586.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01685.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01706.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01630.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01604.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01695.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01707.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01597.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01693.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01675.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01645.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01595.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01622.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01546.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01577.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01662.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01666.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01640.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01696.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01650.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01644.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01669.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01624.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01607.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01589.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01701.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01641.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01582.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01549.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01646.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01654.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01678.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01705.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01682.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01642.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01657.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01588.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01671.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01694.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01564.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01554.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01649.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01598.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01610.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01612.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01555.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01603.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01562.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01574.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01633.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01563.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01679.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01653.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01579.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01552.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01593.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01591.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01565.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01704.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01629.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01600.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01551.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01575.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01611.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01580.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01672.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01699.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01639.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01634.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01608.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01571.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01556.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01631.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01655.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01561.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01592.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01628.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01674.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01687.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01681.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01643.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01635.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01636.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01543.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01590.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01596.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01670.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01616.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01652.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01587.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01557.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01692.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01615.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01560.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01688.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01569.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01542.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01576.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01632.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01547.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01664.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01625.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01544.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01567.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01621.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01656.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/healthy/e01585.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0002.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0001.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0014.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0006.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0004.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0013.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0003.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0010.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0008.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0005.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0034.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0120 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0020.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0150.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0048 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0057.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0097.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0123 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0146.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0015.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0132 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0122 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0104.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0043 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0092.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0137 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0060.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0116 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0024.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0039.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0073.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0174.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0145.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0187.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0163.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0098.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0173.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0175.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0132.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0023.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0066.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0169.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0044 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0149.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0138 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0107.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0124 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0130 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0048.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0135 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0133 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0099.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0122.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0063.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0054 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0152.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0138.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0096.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0047 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0051 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0031.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0095.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0062.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0134 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0147.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0017.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0143.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0056 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0121 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0042.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0157.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0026.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0112.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0061.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0079.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0054.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0040.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0064.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0022.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0037.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0160.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0059.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0144.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0180.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0183.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0087.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0120.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0168.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0110.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0134.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0176.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0156.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0114 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0036.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0135.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0046 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0151.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0089.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0128 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0046.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0117 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0159.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0044.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0115 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0045 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0065.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0033.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0119 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0021.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0077.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0047.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0051.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0116.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0043.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0166.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0164.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0131 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0172.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0052 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0113.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0124.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0123.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0130.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0177.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0076.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0052.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0078.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0167.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0067.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0158.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0018.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0074.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0041.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0119.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0084.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0126 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0103.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0045.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0137.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0075.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0121.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0090.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0115.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0162.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0170.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0111.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0131.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0133.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0072.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0126.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0148.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0128.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0056.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0030.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0083.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0058.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0101.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0186.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0188.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0142.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0117.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0100.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0182.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0114.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0082.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0333.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0214.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0244.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0314.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0219.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0277.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0220.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0303.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0347.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0242.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0297.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0344.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0194.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0218.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0261.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0280.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0313.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0254.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0300.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0281.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0278.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0249.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0191.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0326.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0295.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0306.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0240.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0269.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0296.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0268.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0233.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0252.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0221.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0318.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0275.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0209.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0259.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0345.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0239.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0257.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0198.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0265.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0232.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0350.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0317.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0282.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0263.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0224.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0225.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0230.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0192.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0258.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0251.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0288.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0327.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0234.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0305.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0262.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0273.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0315.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0226.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0206.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0322.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0308.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0207.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0236.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0217.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0205.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0292.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0286.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0324.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0316.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0348.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0272.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0222.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0200.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0320.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0248.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0339.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0255.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0349.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0260.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0190.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0267.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0346.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0203.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0216.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0247.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0336.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0246.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0343.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0223.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0245.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0284.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0331.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0341.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0215.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0319.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0276.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0291.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0228.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0335.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0321.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0338.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0237.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0307.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0279.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0201.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0312.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0213.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0202.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0256.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0197.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0363 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0476.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0014.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0235.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0019.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0081.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0379.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0437.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0238.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0008.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0242.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0004.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0367.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0253.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0009.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0360 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0280.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0271.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0086.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0017.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0048.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0307.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0319.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0257.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0378.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0014.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0010.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0267.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0390.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0159.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0033.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0356.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0362 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0197.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0273.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0031.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0384.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0010.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0428.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0284.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0003.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0021.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0372.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0397.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0427.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0008.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0292.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0402.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0032.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0012.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0008.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0365 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0408.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0005.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0364.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0380.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0360.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0398.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0436.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0385.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0369.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0373.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0444.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0299.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0009.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0465.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0471.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0389.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0390.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0377.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0013.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0004.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0388.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0367 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0368.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0357 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0358 (1).wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0025.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0369.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0468.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0327.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0399.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0467.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0176.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0020.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0015.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0384.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0279.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0012.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0335.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0409.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0232.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0422.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0349.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0024.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0018.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0120.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0371.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0029.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0026.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0164.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0037.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0155.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0233.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0295.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0365.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0263.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0017.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0023.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0484.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0341.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0361.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0357.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0040.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0140.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0383.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0063.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0397.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0362.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0022.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0046.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0404.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0041.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0018.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0400.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0106.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0354.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0054.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0028.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0002.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0243.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0394.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0395.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0148.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0239.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0403.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0190.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0450.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0381.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0057.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0117.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0096.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0376.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0001.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0136.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0391.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0023.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0418.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0375.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0358.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0392.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0474.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0251.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0334.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0077.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0396.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0387.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0366.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0130.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0265.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0344.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0002.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0221.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0318.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0446.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0248.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0342.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0224.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0208.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0013.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0382.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0365.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0043.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0011.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/c0027.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0455.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0363.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0137.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0374.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0262.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0370.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0367.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0018.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0030.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0068.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0016.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0171.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0278.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/b0413.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/a0395.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0035.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00048.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01013.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00526.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00847.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01856.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/f0003.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01084.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0028.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e02101.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01382.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01623.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e02030.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01365.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00551.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01226.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0034.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01602.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01016.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00142.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/d0022.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e02135.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01581.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01375.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00998.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01272.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01668.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01756.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00619.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e01787.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00792.wav\n", + "/content/gdrive/MyDrive/heart_sound/train/unhealthy/e00305.wav\n" + ] + } + ], + "source": [ + "##### load heart sound dataset #####\n", + "heart_sound_labels = [] # to save extracted label/file\n", + "heart_sound_data = [] # to save extracted features/file\n", + "subset_dirs_list = ['healthy', 'unhealthy']\n", + "\n", + "for dirname, dirs, filenames in os.walk(DATA_DIR+'/train/'):\n", + " dirs[:] = [d for d in dirs if d in subset_dirs_list] # you can remove it to train the model over the entire dataset\n", + " for filename in filenames[:500]:\n", + " print(os.path.join(dirname, filename))\n", + " heart_sound_labels.append(dirname)\n", + " wav_file_name = os.path.join(dirname, filename)\n", + " heart_sound_data.append(extract_mfcc(wav_file_name))" + ] + }, + { + "cell_type": "code", + "source": [ + "print(heart_sound_data[0])" + ], + "metadata": { + "id": "6BN3idPFzvAX", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "7ad6a126-a1bc-4bdb-ac48-30074143c12e" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[-3.8871002e+02 1.3892465e+02 9.8952888e+01 5.1492561e+01\n", + " 1.4615340e+01 -1.0892975e+00 3.4092684e+00 1.7839680e+01\n", + " 2.9493780e+01 3.0431330e+01 2.0918722e+01 7.6602278e+00\n", + " -1.4322722e+00 -2.3407214e+00 3.1740789e+00 9.5958424e+00\n", + " 1.1760442e+01 8.1640263e+00 1.4404843e+00 -3.9433441e+00\n", + " -4.9063611e+00 -1.6533734e+00 2.8479555e+00 5.1911964e+00\n", + " 3.8888910e+00 1.6465628e-01 -3.1876323e+00 -3.8951457e+00\n", + " -1.7150207e+00 1.6135643e+00 3.7762253e+00 3.5384398e+00\n", + " 1.4726839e+00 -6.6054112e-01 -1.3057116e+00 -2.1532640e-01\n", + " 1.4971294e+00 2.3042653e+00 1.4483467e+00 -5.1705819e-01]\n" + ] + } + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "M1g0Yj2ViD4M", + "outputId": "c1e11d0c-6541-4d01-f729-5d4ef7cfa2a6" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1]\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(1000,)" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ], + "source": [ + "from sklearn.preprocessing import LabelEncoder\n", + "#### convert data and label to array\n", + "heart_sound_data_array = np.asarray(heart_sound_data) # convert the input to an array\n", + "heart_sound_label_array = np.array(heart_sound_labels)\n", + "\n", + "encoder = LabelEncoder()\n", + "heart_sound_label_array = encoder.fit_transform(heart_sound_label_array)\n", + "\n", + "# print(heart_sound_data_array)\n", + "print(heart_sound_label_array)\n", + "#### make categorical labels\n", + "labels_categorical = heart_sound_label_array # converts a class vector (integers) to binary class matrix\n", + "heart_sound_data_array.shape\n", + "labels_categorical.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ava0maKTfH7R", + "outputId": "1cb9be3d-ef8a-46ce-e5c4-68ce81a39dd5" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1. 0.]\n", + " [1. 0.]\n", + " [1. 0.]\n", + " ...\n", + " [0. 1.]\n", + " [0. 1.]\n", + " [0. 1.]]\n" + ] + } + ], + "source": [ + "from numpy import array\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "\n", + "onehot_encoder = OneHotEncoder(sparse=False)\n", + "integer_encoded = labels_categorical.reshape(len(labels_categorical), 1)\n", + "onehot_encoded = onehot_encoder.fit_transform(integer_encoded)\n", + "print(onehot_encoded)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AeD_Gq8QiD4N" + }, + "source": [ + "## C. Split Train dan Test" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "oltO79lMiD4O" + }, + "source": [ + "* Split the dataset into training and testing sets: (training set) a subset to train a model, (test set) a subset to test the trained model.\n", + "* **Note:**(train_test_split) function will split arrays or matrices into random train and test subsets, in our example, training set 80% and testing set 20% " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "zTVc0YaKgEt3", + "outputId": "908d82f3-9cb3-45fe-9b82-360e66696854" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(800, 200)" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ], + "source": [ + "x_train,x_test,y_train,y_test= train_test_split(np.array(heart_sound_data_array), onehot_encoded, test_size=0.20, random_state=9)\n", + "len(y_train), len(y_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rbKryB-2iD4V" + }, + "source": [ + "## D. Train and Test LSTM Classifier\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FYQTBNNdiD4W" + }, + "source": [ + "* **What is Long short-term memory (LSTM)?**\n", + "\n", + "Recurrent neural networks, of which LSTMs are the most powerful and well known subset, are a type of artificial neural network designed to recognize patterns in sequences of data, such as text, genomes, handwriting and the spoken word. **More Details:** (https://keras.io/layers/recurrent/#lstm) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "uOTvEB5KiD4X" + }, + "outputs": [], + "source": [ + "# Define the LSTM model\n", + "def create_model_BiLSTM():\n", + " model = Sequential()\n", + " model.add(Bidirectional(LSTM(128, return_sequences=False, input_shape=(40, 1))))\n", + " model.add(Dense(64))\n", + " model.add(Dropout(0.4))\n", + " model.add(Activation('relu'))\n", + " model.add(Dense(32))\n", + " model.add(Dropout(0.4))\n", + " model.add(Activation('relu'))\n", + " model.add(Dense(2))\n", + " model.add(Activation('softmax'))\n", + " \n", + " # Configures the model for training\n", + " model.compile(loss='categorical_crossentropy', optimizer='Adam', metrics=['accuracy'])\n", + " return model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "NUpH4QYyHV25" + }, + "outputs": [], + "source": [ + "model_BiLSTM = create_model_BiLSTM()\n", + "model_BiLSTM.build(input_shape=(None ,40, 1))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "n6xzAQ3C_3il", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "f475ed9f-572d-4ede-d9df-9baed2b45581" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ], + "source": [ + "# plot the model including the sizes of the model\n", + "tf.keras.utils.plot_model(model_BiLSTM, show_shapes=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "tjCU19lsiD4Y", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6b242a0f-ba92-45ab-db16-1ba6909a109e" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/100\n", + "25/25 [==============================] - 8s 168ms/step - loss: 0.6291 - accuracy: 0.6388 - val_loss: 0.4833 - val_accuracy: 0.8000\n", + "Epoch 2/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.4343 - accuracy: 0.8225 - val_loss: 0.3450 - val_accuracy: 0.8450\n", + "Epoch 3/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.3494 - accuracy: 0.8575 - val_loss: 0.3260 - val_accuracy: 0.8600\n", + "Epoch 4/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.3276 - accuracy: 0.8750 - val_loss: 0.2926 - val_accuracy: 0.8700\n", + "Epoch 5/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.3100 - accuracy: 0.8925 - val_loss: 0.3700 - val_accuracy: 0.8450\n", + "Epoch 6/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.2601 - accuracy: 0.9050 - val_loss: 0.2797 - val_accuracy: 0.8700\n", + "Epoch 7/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.2869 - accuracy: 0.9000 - val_loss: 0.2741 - val_accuracy: 0.8800\n", + "Epoch 8/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.2473 - accuracy: 0.9087 - val_loss: 0.3185 - val_accuracy: 0.8600\n", + "Epoch 9/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.2128 - accuracy: 0.9175 - val_loss: 0.3493 - val_accuracy: 0.8600\n", + "Epoch 10/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.2303 - accuracy: 0.9125 - val_loss: 0.2227 - val_accuracy: 0.9050\n", + "Epoch 11/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.2216 - accuracy: 0.9175 - val_loss: 0.2173 - val_accuracy: 0.8950\n", + "Epoch 12/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.1592 - accuracy: 0.9463 - val_loss: 0.2092 - val_accuracy: 0.9300\n", + "Epoch 13/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.1677 - accuracy: 0.9362 - val_loss: 0.1654 - val_accuracy: 0.9400\n", + "Epoch 14/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.1464 - accuracy: 0.9513 - val_loss: 0.1535 - val_accuracy: 0.9300\n", + "Epoch 15/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.1628 - accuracy: 0.9425 - val_loss: 0.3349 - val_accuracy: 0.8550\n", + "Epoch 16/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.2275 - accuracy: 0.9150 - val_loss: 0.2829 - val_accuracy: 0.8950\n", + "Epoch 17/100\n", + "25/25 [==============================] - 2s 92ms/step - loss: 0.1802 - accuracy: 0.9350 - val_loss: 0.1506 - val_accuracy: 0.9450\n", + "Epoch 18/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.1475 - accuracy: 0.9475 - val_loss: 0.1787 - val_accuracy: 0.9400\n", + "Epoch 19/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.1144 - accuracy: 0.9563 - val_loss: 0.1205 - val_accuracy: 0.9600\n", + "Epoch 20/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0976 - accuracy: 0.9650 - val_loss: 0.1506 - val_accuracy: 0.9550\n", + "Epoch 21/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.1381 - accuracy: 0.9600 - val_loss: 0.1371 - val_accuracy: 0.9700\n", + "Epoch 22/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.1167 - accuracy: 0.9575 - val_loss: 0.1565 - val_accuracy: 0.9600\n", + "Epoch 23/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.1089 - accuracy: 0.9650 - val_loss: 0.1596 - val_accuracy: 0.9450\n", + "Epoch 24/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.1029 - accuracy: 0.9663 - val_loss: 0.1023 - val_accuracy: 0.9700\n", + "Epoch 25/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.1010 - accuracy: 0.9613 - val_loss: 0.1222 - val_accuracy: 0.9700\n", + "Epoch 26/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.0928 - accuracy: 0.9725 - val_loss: 0.1641 - val_accuracy: 0.9350\n", + "Epoch 27/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.0988 - accuracy: 0.9638 - val_loss: 0.1406 - val_accuracy: 0.9600\n", + "Epoch 28/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.0801 - accuracy: 0.9712 - val_loss: 0.1353 - val_accuracy: 0.9450\n", + "Epoch 29/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0638 - accuracy: 0.9800 - val_loss: 0.1126 - val_accuracy: 0.9650\n", + "Epoch 30/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0902 - accuracy: 0.9688 - val_loss: 0.1852 - val_accuracy: 0.9400\n", + "Epoch 31/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.0955 - accuracy: 0.9613 - val_loss: 0.1377 - val_accuracy: 0.9550\n", + "Epoch 32/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0691 - accuracy: 0.9712 - val_loss: 0.0987 - val_accuracy: 0.9550\n", + "Epoch 33/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0931 - accuracy: 0.9600 - val_loss: 0.1278 - val_accuracy: 0.9600\n", + "Epoch 34/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0820 - accuracy: 0.9737 - val_loss: 0.1700 - val_accuracy: 0.9400\n", + "Epoch 35/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0774 - accuracy: 0.9712 - val_loss: 0.1389 - val_accuracy: 0.9650\n", + "Epoch 36/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0809 - accuracy: 0.9725 - val_loss: 0.2939 - val_accuracy: 0.9150\n", + "Epoch 37/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.1397 - accuracy: 0.9513 - val_loss: 0.1654 - val_accuracy: 0.9350\n", + "Epoch 38/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.1039 - accuracy: 0.9663 - val_loss: 0.1673 - val_accuracy: 0.9400\n", + "Epoch 39/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0733 - accuracy: 0.9750 - val_loss: 0.1252 - val_accuracy: 0.9550\n", + "Epoch 40/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0524 - accuracy: 0.9862 - val_loss: 0.1008 - val_accuracy: 0.9600\n", + "Epoch 41/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.0497 - accuracy: 0.9825 - val_loss: 0.1046 - val_accuracy: 0.9550\n", + "Epoch 42/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0887 - accuracy: 0.9638 - val_loss: 0.0976 - val_accuracy: 0.9500\n", + "Epoch 43/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0875 - accuracy: 0.9762 - val_loss: 0.1026 - val_accuracy: 0.9700\n", + "Epoch 44/100\n", + "25/25 [==============================] - 2s 87ms/step - loss: 0.0651 - accuracy: 0.9787 - val_loss: 0.1525 - val_accuracy: 0.9450\n", + "Epoch 45/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0581 - accuracy: 0.9850 - val_loss: 0.1343 - val_accuracy: 0.9600\n", + "Epoch 46/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0663 - accuracy: 0.9800 - val_loss: 0.0957 - val_accuracy: 0.9750\n", + "Epoch 47/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0538 - accuracy: 0.9825 - val_loss: 0.0894 - val_accuracy: 0.9750\n", + "Epoch 48/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0383 - accuracy: 0.9862 - val_loss: 0.1272 - val_accuracy: 0.9550\n", + "Epoch 49/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0516 - accuracy: 0.9825 - val_loss: 0.1103 - val_accuracy: 0.9600\n", + "Epoch 50/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0692 - accuracy: 0.9787 - val_loss: 0.0982 - val_accuracy: 0.9700\n", + "Epoch 51/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.0460 - accuracy: 0.9875 - val_loss: 0.0480 - val_accuracy: 0.9850\n", + "Epoch 52/100\n", + "25/25 [==============================] - 4s 165ms/step - loss: 0.0418 - accuracy: 0.9825 - val_loss: 0.1093 - val_accuracy: 0.9650\n", + "Epoch 53/100\n", + "25/25 [==============================] - 3s 109ms/step - loss: 0.0513 - accuracy: 0.9825 - val_loss: 0.1102 - val_accuracy: 0.9700\n", + "Epoch 54/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0648 - accuracy: 0.9812 - val_loss: 0.1103 - val_accuracy: 0.9600\n", + "Epoch 55/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0881 - accuracy: 0.9825 - val_loss: 0.0966 - val_accuracy: 0.9650\n", + "Epoch 56/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0538 - accuracy: 0.9825 - val_loss: 0.0458 - val_accuracy: 0.9800\n", + "Epoch 57/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0822 - accuracy: 0.9700 - val_loss: 0.1196 - val_accuracy: 0.9600\n", + "Epoch 58/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0414 - accuracy: 0.9850 - val_loss: 0.0572 - val_accuracy: 0.9750\n", + "Epoch 59/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0288 - accuracy: 0.9887 - val_loss: 0.0665 - val_accuracy: 0.9700\n", + "Epoch 60/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0873 - accuracy: 0.9688 - val_loss: 0.1118 - val_accuracy: 0.9500\n", + "Epoch 61/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0639 - accuracy: 0.9787 - val_loss: 0.0885 - val_accuracy: 0.9600\n", + "Epoch 62/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.0520 - accuracy: 0.9825 - val_loss: 0.0785 - val_accuracy: 0.9550\n", + "Epoch 63/100\n", + "25/25 [==============================] - 2s 93ms/step - loss: 0.0379 - accuracy: 0.9837 - val_loss: 0.1181 - val_accuracy: 0.9500\n", + "Epoch 64/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0667 - accuracy: 0.9837 - val_loss: 0.1728 - val_accuracy: 0.9350\n", + "Epoch 65/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0319 - accuracy: 0.9900 - val_loss: 0.1088 - val_accuracy: 0.9700\n", + "Epoch 66/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0655 - accuracy: 0.9775 - val_loss: 0.0603 - val_accuracy: 0.9650\n", + "Epoch 67/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0450 - accuracy: 0.9862 - val_loss: 0.0924 - val_accuracy: 0.9700\n", + "Epoch 68/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0482 - accuracy: 0.9787 - val_loss: 0.1343 - val_accuracy: 0.9500\n", + "Epoch 69/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0689 - accuracy: 0.9725 - val_loss: 0.1440 - val_accuracy: 0.9500\n", + "Epoch 70/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0676 - accuracy: 0.9850 - val_loss: 0.0673 - val_accuracy: 0.9800\n", + "Epoch 71/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.0474 - accuracy: 0.9837 - val_loss: 0.1076 - val_accuracy: 0.9750\n", + "Epoch 72/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0543 - accuracy: 0.9787 - val_loss: 0.0667 - val_accuracy: 0.9800\n", + "Epoch 73/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0493 - accuracy: 0.9800 - val_loss: 0.0861 - val_accuracy: 0.9650\n", + "Epoch 74/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0413 - accuracy: 0.9850 - val_loss: 0.0781 - val_accuracy: 0.9700\n", + "Epoch 75/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0338 - accuracy: 0.9900 - val_loss: 0.0853 - val_accuracy: 0.9800\n", + "Epoch 76/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0426 - accuracy: 0.9875 - val_loss: 0.0966 - val_accuracy: 0.9700\n", + "Epoch 77/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.0284 - accuracy: 0.9887 - val_loss: 0.0959 - val_accuracy: 0.9800\n", + "Epoch 78/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0479 - accuracy: 0.9825 - val_loss: 0.0830 - val_accuracy: 0.9700\n", + "Epoch 79/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0245 - accuracy: 0.9925 - val_loss: 0.1022 - val_accuracy: 0.9800\n", + "Epoch 80/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0190 - accuracy: 0.9925 - val_loss: 0.0917 - val_accuracy: 0.9850\n", + "Epoch 81/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0324 - accuracy: 0.9887 - val_loss: 0.1564 - val_accuracy: 0.9550\n", + "Epoch 82/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0954 - accuracy: 0.9725 - val_loss: 0.1226 - val_accuracy: 0.9600\n", + "Epoch 83/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0370 - accuracy: 0.9912 - val_loss: 0.0977 - val_accuracy: 0.9750\n", + "Epoch 84/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0274 - accuracy: 0.9900 - val_loss: 0.1122 - val_accuracy: 0.9750\n", + "Epoch 85/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0301 - accuracy: 0.9887 - val_loss: 0.1226 - val_accuracy: 0.9650\n", + "Epoch 86/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0645 - accuracy: 0.9750 - val_loss: 0.2129 - val_accuracy: 0.9500\n", + "Epoch 87/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.0265 - accuracy: 0.9925 - val_loss: 0.1686 - val_accuracy: 0.9700\n", + "Epoch 88/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0650 - accuracy: 0.9850 - val_loss: 0.1250 - val_accuracy: 0.9750\n", + "Epoch 89/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.0260 - accuracy: 0.9925 - val_loss: 0.1120 - val_accuracy: 0.9900\n", + "Epoch 90/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0418 - accuracy: 0.9887 - val_loss: 0.0957 - val_accuracy: 0.9650\n", + "Epoch 91/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0427 - accuracy: 0.9812 - val_loss: 0.0805 - val_accuracy: 0.9750\n", + "Epoch 92/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0209 - accuracy: 0.9950 - val_loss: 0.1224 - val_accuracy: 0.9600\n", + "Epoch 93/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0277 - accuracy: 0.9887 - val_loss: 0.1321 - val_accuracy: 0.9700\n", + "Epoch 94/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0355 - accuracy: 0.9875 - val_loss: 0.0981 - val_accuracy: 0.9600\n", + "Epoch 95/100\n", + "25/25 [==============================] - 2s 91ms/step - loss: 0.0483 - accuracy: 0.9850 - val_loss: 0.0999 - val_accuracy: 0.9750\n", + "Epoch 96/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0214 - accuracy: 0.9925 - val_loss: 0.0909 - val_accuracy: 0.9750\n", + "Epoch 97/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0265 - accuracy: 0.9900 - val_loss: 0.1707 - val_accuracy: 0.9700\n", + "Epoch 98/100\n", + "25/25 [==============================] - 2s 88ms/step - loss: 0.0601 - accuracy: 0.9850 - val_loss: 0.0736 - val_accuracy: 0.9800\n", + "Epoch 99/100\n", + "25/25 [==============================] - 2s 89ms/step - loss: 0.0350 - accuracy: 0.9887 - val_loss: 0.1197 - val_accuracy: 0.9800\n", + "Epoch 100/100\n", + "25/25 [==============================] - 2s 90ms/step - loss: 0.0394 - accuracy: 0.9875 - val_loss: 0.0835 - val_accuracy: 0.9800\n" + ] + } + ], + "source": [ + "### train using LSTM model\n", + "model_A = create_model_BiLSTM()\n", + "# history = model_A.fit(np.expand_dims(heart_sound_data_array[:training_samples],-1), labels_categorical[:training_samples], validation_data=(np.expand_dims(heart_sound_data_array[training_samples:training_samples+validation_samples], -1), labels_categorical[training_samples:training_samples+validation_samples]), epochs=50, shuffle=True)\n", + "history = model_A.fit(np.expand_dims(x_train,-1),\n", + " y = y_train,\n", + " validation_data = (np.expand_dims(x_test,-1), y_test),\n", + " epochs=100,\n", + " shuffle = True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "hbe0iRz-YAYn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "92a83fca-dcc3-4b93-e606-60e8476422c3" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model: \"sequential_1\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " bidirectional_1 (Bidirectio (None, 256) 133120 \n", + " nal) \n", + " \n", + " dense_3 (Dense) (None, 64) 16448 \n", + " \n", + " dropout_2 (Dropout) (None, 64) 0 \n", + " \n", + " activation_3 (Activation) (None, 64) 0 \n", + " \n", + " dense_4 (Dense) (None, 32) 2080 \n", + " \n", + " dropout_3 (Dropout) (None, 32) 0 \n", + " \n", + " activation_4 (Activation) (None, 32) 0 \n", + " \n", + " dense_5 (Dense) (None, 2) 66 \n", + " \n", + " activation_5 (Activation) (None, 2) 0 \n", + " \n", + "=================================================================\n", + "Total params: 151,714\n", + "Trainable params: 151,714\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "model_A.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "F8u8JqttiD4Y", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 295 + }, + "outputId": "8ced4c9c-721e-4563-fa26-5e058216e3fb" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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Yq4hwzCMHMcUgWEYRo5jisAwDCPHOeBiBIZhVDzFxcWsXr2aXbt2xc9sZJWaNWvSokULqlWrlvA5pggMw4jL6tWrqVevHoWFhURfV8jINqpKUVERq1evpk2bNgmflxuuofHjobAQqlRx2/G2jrdhJMOuXbvIz883JbCfIyLk5+cnbblVfotg/HgYMQJ2eGuarFzp9gGGDYt+nmEYIZgSODAoz3uq/BbBmDEBJeCzY4dLNwzDMHJAEaxalVy6YRj7HUVFRXTv3p3u3bvTtGlTCgoKSvf37NkT89wZM2ZwzTXXxL3GgAED0iLrJ598wumnn56WsiqKyq8IWoWv8hcn3TCM1ElzXC4/P585c+YwZ84cRo4cyXXXXVe6X716dUpKSqKe27t3bx544IG415gyZUpKMh7IVH5FMHYs1K4dmla7tks3DCP9+HG5lStBNRCXS3MnjeHDhzNy5Ej69evHjTfeyFdffcWRRx5Jjx49GDBgAIsWLQJCW+h33HEHl112Gccddxxt27YNURB169YtzX/cccdx7rnn0rFjR4YNG4Y/S/PkyZPp2LEjvXr14pprronb8t+wYQNnnXUWXbt2pX///sydOxeATz/9tNSi6dGjB1u3bmXt2rUcc8wxdO/enS5duvD555+n9XnFovIHi/2A8Jgxzh3UqpVTAhYoNozMECsul+b/3erVq5kyZQp5eXls2bKFzz//nKpVq/LBBx9w880388orr5Q5Z+HChXz88cds3bqVDh06MGrUqDJ97mfPns38+fNp3rw5AwcO5Msvv6R3795cddVVfPbZZ7Rp04ahQ4fGle/222+nR48evP7663z00UdccsklzJkzh/vuu4+HHnqIgQMHsm3bNmrWrMm4ceP41a9+xZgxY9i7dy87wp9hBqn8igDcj88qfsOoGCowLnfeeeeRl5cHwObNm7n00ktZvHgxIkJxcXHEc0477TRq1KhBjRo1aNKkCevWraNFixYhefr27Vua1r17d1asWEHdunVp27Ztaf/8oUOHMm7cuJjyffHFF6XK6IQTTqCoqIgtW7YwcOBArr/+eoYNG8aQIUNo0aIFffr04bLLLqO4uJizzjqL7t27p/RskqHyu4YMw6hYKjAuV6dOndLvt956K8cffzzz5s1j0qRJUfvS16hRo/R7Xl5exPhCInlSYfTo0TzxxBPs3LmTgQMHsnDhQo455hg+++wzCgoKGD58OM8++2xarxkLUwSGYaSXLMXlNm/eTEFBAQBPP/102svv0KEDy5YtY8WKFQC8+OKLcc85+uijGe/FRj755BMaNWrEQQcdxNKlSzniiCP485//TJ8+fVi4cCErV67kkEMO4corr+SKK65g1qxZab+HaGRUEYjIKSKySESWiMjoKHnOF5EFIjJfRF7IpDyGYVQAw4bBuHHQujWIuO24cRl3z954443cdNNN9OjRI+0teIBatWrx8MMPc8opp9CrVy/q1atH/fr1Y55zxx13MHPmTLp27cro0aN55plnALj//vvp0qULXbt2pVq1apx66ql88skndOvWjR49evDiiy9y7bXXpv0eopGxNYtFJA/4HjgZt9j418BQVV0QlKcd8BJwgqpuFJEmqvpzrHJ79+6ttjCNYVQs3333HYcffni2xcg627Zto27duqgqv/vd72jXrh3XXXddtsUqQ6T3JSIzVbV3pPyZtAj6AktUdZmq7gEmAGeG5bkSeEhVNwLEUwKGYRjZ5PHHH6d79+507tyZzZs3c9VVV2VbpLSQyV5DBcAPQfurgX5hedoDiMiXQB5wh6q+E16QiIwARgC0soFghmFkieuuu26/tABSJdvB4qpAO+A4YCjwuIgcHJ5JVcepam9V7d24ccS1lw3DMIxykklFsAZoGbTfwksLZjUwUVWLVXU5LqbQLoMyGYZhGGFkUhF8DbQTkTYiUh24EJgYlud1nDWAiDTCuYqWZVAmwzAMI4yMKQJVLQGuBt4FvgNeUtX5InKXiAz2sr0LFInIAuBj4AZVLcqUTIZhGEZZMhojUNXJqtpeVQ9V1bFe2m2qOtH7rqp6vap2UtUjVHVCJuUxDOPA5Pjjj+fdd98NSbv//vsZNWpU1HOOO+44/K7mgwYNYtOmTWXy3HHHHdx3330xr/3666+zYEFpr3duu+02Pvjgg2TEj8j+NF11toPFhmEYcRk6dCgTJoS2EydMmJDQxG/gZg09+OAy/VASIlwR3HXXXZx00knlKmt/xRSBYRj7Peeeey5vvfVW6SI0K1as4Mcff+Too49m1KhR9O7dm86dO3P77bdHPL+wsJBffvkFgLFjx9K+fXuOOuqo0qmqwY0R6NOnD926deOcc85hx44dTJkyhYkTJ3LDDTfQvXt3li5dyvDhw3n55ZcB+PDDD+nRowdHHHEEl112Gbt37y693u23307Pnj054ogjWLhwYcz7y/Z01bkx+6hhGGnjD3+AOXPSW2b37nD//dGPN2zYkL59+/L2229z5plnMmHCBM4//3xEhLFjx9KwYUP27t3LiSeeyNy5c+natWvEcmbOnMmECROYM2cOJSUl9OzZk169egEwZMgQrrzySgBuueUWnnzySX7/+98zePBgTj/9dM4999yQsnbt2sXw4cP58MMPad++PZdccgmPPPIIf/jDHwBo1KgRs2bN4uGHH+a+++7jiSeeiHp/2Z6u2iwCwzAOCILdQ8FuoZdeeomePXvSo0cP5s+fH+LGCefzzz/n7LPPpnbt2hx00EEMHjy49Ni8efM4+uijOeKIIxg/fjzz58+PKc+iRYto06YN7du3B+DSSy/ls88+Kz0+ZMgQAHr16lU6UV00vvjiCy6++GIg8nTVDzzwAJs2baJq1ar06dOHp556ijvuuINvv/2WevXqxSw7EcwiMAwjKWK13DPJmWeeyXXXXcesWbPYsWMHvXr1Yvny5dx33318/fXXNGjQgOHDh0edfjoew4cP5/XXX6dbt248/fTTfPLJJynJ609lnco01qNHj+a0005j8uTJDBw4kHfffbd0uuq33nqL4cOHc/3113PJJZekJKtZBIZhHBDUrVuX448/nssuu6zUGtiyZQt16tShfv36rFu3jrfffjtmGccccwyvv/46O3fuZOvWrUyaNKn02NatW2nWrBnFxcWlU0cD1KtXj61bt5Ypq0OHDqxYsYIlS5YA8Nxzz3HssceW696yPV21WQSGYRwwDB06lLPPPrvUReRP29yxY0datmzJwIEDY57fs2dPLrjgArp160aTJk3o06dP6bG//OUv9OvXj8aNG9OvX7/Syv/CCy/kyiuv5IEHHigNEgPUrFmTp556ivPOO4+SkhL69OnDyJEjy3Vf/lrKXbt2pXbt2iHTVX/88cdUqVKFzp07c+qppzJhwgTuvfdeqlWrRt26ddOygE3GpqHOFDYNtWFUPDYN9YHF/jQNtWEYhnEAYIrAMAwjxzFFYBhGQhxobuRcpTzvyRSBYRhxqVmzJkVFRaYM9nNUlaKiImrWrJnUedZryDCMuLRo0YLVq1ezfv36bItixKFmzZq0aNEiqXNMERiGEZdq1arRpk2bbIthZAhzDRmGYeQ4pggM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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "### loss plots using LSTM model\n", + "loss = history.history['loss']\n", + "val_loss = history.history['val_loss']\n", + "\n", + "epochs = range(1, len(loss) + 1)\n", + "\n", + "plt.plot(epochs, loss, 'ro', label='Training loss')\n", + "plt.plot(epochs, val_loss, 'b', label='Validation loss')\n", + "plt.title('Training and validation loss')\n", + "plt.xlabel('Epochs')\n", + "plt.ylabel('Loss')\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "G7yEDALLiD4Z", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 295 + }, + "outputId": "04216f45-74a5-4e73-d0de-e077e508babf" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEWCAYAAAB8LwAVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd3hUVfrA8e9LqAGkhCISSEBRRKVGFFjrqoAF1GVVRMWKYndXXRULFiy7+lNZURfXCrhgWxcU+2JZsRClKUWjBghNpENoIe/vj3MnuTO5M5mETCYk7+d55pm5dc69k5z3nnLPFVXFGGOMiVQr2QkwxhhTNVmAMMYYE8gChDHGmEAWIIwxxgSyAGGMMSaQBQhjjDGBLECYuInIOyIyvKLXTSYRyRWRExKwXxWRA7zPT4vIHfGsW47vGSYi75c3ncbEInYfRPUmIlt8k6nADmC3N325qk6q/FRVHSKSC1yqqh9W8H4V6KSqORW1rohkAr8AdVS1oCLSaUwstZOdAJNYqtoo9DlWZigitS3TMVWF/T1WDVbFVEOJyLEikicifxGRVcDzItJMRN4SkTUist77nO7b5mMRudT7fKGI/E9EHvbW/UVEBpZz3Q4i8qmIbBaRD0VknIhMjJLueNJ4r4h87u3vfRFp4Vt+vogsEZG1IjIqxvk5QkRWiUiKb94ZIjLP+9xbRL4QkQ0islJEnhCRulH29YKI3OebvsnbZoWIXByx7ikiMltENonIMhEZ7Vv8qfe+QUS2iEif0Ln1bd9XRGaJyEbvvW+856aM57m5iDzvHcN6EXnTt2ywiMzxjuEnERngzQ+rzhOR0aHfWUQyvaq2S0RkKfBfb/6r3u+w0fsbOcS3fQMRecT7PTd6f2MNRORtEbkm4njmicgZQcdqorMAUbPtCzQHMoARuL+H573p9sA24IkY2x8BLAZaAH8FnhURKce6LwNfA2nAaOD8GN8ZTxrPBS4CWgF1gRsBRKQL8JS3//2870sngKp+BWwFjo/Y78ve593ADd7x9AF+D1wZI914aRjgpedEoBMQ2f6xFbgAaAqcAowUkdO9ZUd7701VtZGqfhGx7+bA28BY79j+D3hbRNIijqHEuQlQ2nmegKuyPMTb16NeGnoDLwE3ecdwNJAb7XwEOAY4GOjvTb+DO0+tgG8Bf5Xow0AvoC/u7/hmoBB4ETgvtJKIdAPa4s6NKQtVtVcNeeH+UU/wPh8L7ATqx1i/O7DeN/0xrooK4EIgx7csFVBg37Ksi8t8CoBU3/KJwMQ4jykojbf7pq8E3vU+3wlM9i1r6J2DE6Ls+z7gOe9zY1zmnRFl3euBf/umFTjA+/wCcJ/3+TngQd96B/rXDdjvY8Cj3udMb93avuUXAv/zPp8PfB2x/RfAhaWdm7KcZ6ANLiNuFrDeP0LpjfX3502PDv3OvmPrGCMNTb11muAC2DagW8B69YH1uHYdcIHkycr+f6sOLytB1GxrVHV7aEJEUkXkH16RfROuSqOpv5olwqrQB1XN9z42KuO6+wHrfPMAlkVLcJxpXOX7nO9L037+favqVmBttO/ClRbOFJF6wJnAt6q6xEvHgV61yyovHffjShOlCUsDsCTi+I4QkRle1c5G4Io49xva95KIeUtwV88h0c5NmFLOczvcb7Y+YNN2wE9xpjdI0bkRkRQRedCrptpEcUmkhfeqH/Rd3t/0FOA8EakFDMWVeEwZWYCo2SK7sP0ZOAg4QlX3obhKI1q1UUVYCTQXkVTfvHYx1t+TNK7079v7zrRoK6vqAlwGO5Dw6iVwVVWLcFep+wC3lScNuBKU38vAVKCdqjYBnvbtt7QuhytwVUJ+7YHlcaQrUqzzvAz3mzUN2G4ZsH+UfW7FlR5D9g1Yx3+M5wKDcdVwTXCljFAafgO2x/iuF4FhuKq/fI2ojjPxsQBh/Brjiu0bvPrsuxL9hd4VeTYwWkTqikgf4LQEpfE14FQR+Z3XoHwPpf8PvAxch8sgX41IxyZgi4h0BkbGmYZXgAtFpIsXoCLT3xh3db7dq88/17dsDa5qp2OUfU8HDhSRc0WktoicDXQB3oozbZHpCDzPqroS1zbwpNeYXUdEQgHkWeAiEfm9iNQSkbbe+QGYA5zjrZ8FDIkjDTtwpbxUXCktlIZCXHXd/4nIfl5po49X2sMLCIXAI1jpodwsQBi/x4AGuKuzL4F3K+l7h+Eaetfi6v2n4DKGIOVOo6p+D1yFy/RX4uqp80rZ7F+4htP/qupvvvk34jLvzcAzXprjScM73jH8F8jx3v2uBO4Rkc24NpNXfNvmA2OAz8X1njoyYt9rgVNxV/9rcY22p0akO16lnefzgV24UtSvuDYYVPVrXCP4o8BG4BOKSzV34K741wN3E14iC/ISrgS3HFjgpcPvRmA+MAtYBzxEeJ72EnAYrk3LlIPdKGeqHBGZAixS1YSXYEz1JSIXACNU9XfJTsveykoQJulE5HAR2d+rkhiAq3d+s7TtjInGq767Ehif7LTszSxAmKpgX1wXzC24PvwjVXV2UlNk9loi0h/XXrOa0quxTAxWxWSMMSaQlSCMMcYEqjaD9bVo0UIzMzOTnQxjjNmrfPPNN7+pasugZdUmQGRmZpKdnZ3sZBhjzF5FRCLvvi9iVUzGGGMCWYAwxhgTKGEBQkSeE5FfReS7KMtFRMaKSI43VntP37LhIvKj96ryj600xpjqKJEliBeAATGWD8SN894J9yyCp6BoTPu7cM8P6A3cJSLNEphOY4wxARIWIFT1U9z4KNEMBl5S50vcUMJtcA8K+UBVQ8MJf0DsQGOMMSYBktkG0ZbwcfHzvHnR5pcgIiNEJFtEstesWZOwhBpjTJlNmgSZmVCrlnufNKm0LaqcvbqRWlXHq2qWqma1bBnYjdcYYyrfpEkwYgQsWQKq7n3EiL0uSCQzQCwn/MEp6d68aPONMaZY5BX6lVeWfsVe1qv6aOuXtp9RoyA/P3xefr6bX57vS5ZEPs8U9wSo76IsOwX30BEBjsR7li7u4eO/AM281y9A89K+q1evXmqM2UMTJ6pmZKiKuPeJE6vmd0+cqJqaququz4Nfqanh+wjaRsS9B31f0PqpqaojRwbP928f2m/kS6RsxxQrfRUEyNZoeXi0BXv6wj1oZSXuoSJ5wCW45+te4S0XYBzumbLzgSzfthfjHqaSA1wUz/dZgDBVVmVkuhXxHdEyxMoIErEyx7Q09/IfW0ZG7ODgf8W7TWRmHG39lJTyf1dKivue8hxT6Lfw/9ZB+ymjpASIyn5ZgDCBEp05l7b/ysh0K+o7omVQGRnF35Ooc1mWDL+0kkNFbBPH+jM4Rm/h/uBtg0oZFZG+tLTY65bjd7cAYWqmPc04KyLzLy3T3dPji5WxxvqOoKvQaPsRif9clvXqtqylAf+VeKK3KWX9fnymoLqKVsHn3n8uypPe8r7K+LdlAcLUTKVlnmWt444s4pf2TzpxYvS66NA6I0cGB6HSMtp46uAj67v96Y6VrqB0xhPoSktTPG0CZXmV5Rj8aaiA9X9k/6LJNxlU+rkvT1r35LyUgQUIUzOV9k8ZqzQRLUMsrYgfuX/vyvwTjtLOLNDfaF76P3dpmZ9vvzFfZcm8SztH8TS6xlMS8KepPCWHaOcrI0OnDRynh9RZpAs5KPp3lyVIxmgbuJPRKuzW2uzUv/BA7O3Le6zlDSpWgrAAUeUlszdMSFkzLH+69zTjivhHP5PXFFQnMKxi9x3tVZbSTmkZZGnnMp7Skv9VWpVWWTPHjAx97rniWpxHz5tVtuqwoO+L0StpN6KZ/Kwn8p725ks9utan8f0OZQnQoWq9sv521gZhAaLKS2ZvmNLSEfSPWJb1y/H6jeZahx0KqufxUrn2sZZmuos467HLUg0Vax+hcxLPFbevVLORxrqbkuvmU1/zqR/ze3cjurHdIYFVbBvYp8T6haD3c6uC6oknqrZsqXrhhVr2C5TS1vdl1B9ztIIL9tc1flYb1N2lu9p3jP9cxtPuE1DS2kQjnUPX8FeTo3VOk6P1BzpZL6ZYLwsQVUgiG2ZLE/mPHqrjLy0zrehSg+/1BFcqqHZjtrZiVWDmGeu1gX20Kev0Pm4rnh9U1RVvA3lpr1hXvbGCRFqa7m7QUNNZqkcyM6w67Rt6aGtW6mD+HfO7L0iZqK2b5Ou6deE/6333qTaQfF1A57D1JzFUQfXcc1V37FA96STVHj0q+G8o4lxczD+1EZt0S4MW+q+rXEP1N99oxd37ENBWs7lBS83gl6in7ogjyn+4FiBM5SrPP4pfeaunSmtYjvemp/JkqDH205svtStz9EXOV1D9lu5l2v8/uVhBNYuvSx5TrPNUWjVNrPsMVMseYEQ055E3iyY7pyzWJU276occr43YpLUo0FoUaB77BW7/1b6Diib//Ofiw1i+vPjUnpbyVtH626in7WWJ9shYq7t3u3Vvvlm1bl3VnTvj+5Mp69/Q1nYHaWM26oUNX1GdOFFzc90qTzwR43yVdmEUx9/76DPnKqiO40p9o+UIfeO6j/WNN7ToNWNGOY9X1QKEqWDR/qDL2u2ylCu1uDOykPL0448nE/Qqt+dziD7JFUWvrzi81ONfyEEKqo9wg65Mz1JQfaDpg8ElnMgM3Zs+qvZMN8luXZPePey458xRzcmJ8jvtSS8u1XI1kr7W4nJ3vI+oNmmi2rq1ah126KHMK6qaeYibSmxX2D5DjzpKtVUr1bPOcpn8zz+7ZFxyiWqdOqqXX+5Wn9H6bFURfajp/QqqH31UnORJk9w68+ZF/zt77y8f6pNPqj75pOpTT6muXh3/39DEiV4aZrjVCwtV27RRPe88Lfrb3UKqvsXJ4cGlFG+8oUVp+sc/VFetKl62YoVqw4aqQ4aUuptysQBhKk55r8Tj6eIYb++caPssT8klnp5OI0dqYYNUPYiFYYv2bZJfdOUa7RzdyhhNYZeubNBBdeJE7dZN9dhjY5zbiAD200/uu04/3b2/fOVnRetsb99Jmzfaro0bh2eSpZ7jeEtk5ejJdQd3ay0KNP+5f+m8earp6arHdF6l6xu0UQXty/+0C99pYUSa/n39xwqqTz+tmpen2qCB6jnnqM6d607Hn/6kmp+v2q6daq9eLlPfZx/VU08NT/J337ldTpgQfA7y2E9rURCW7N69XUYf8+9BRP/3P9WmTVUPPFDDfvczz1Tdf//i7xvZ6CUF1S/2PT2uc52dXfLr2rdXXbjQLb/sMhcgf/wxvp+trCxAmIoTawiBaJnsng6VEOsVT7fJWEX8OK+yvxz9joLq41yrq9J76bjhXymozp4dZb8TJ2pB+w6azlI9ucFHRfu5+Wb3z755c3yne/Rod9p++UW1eaPtOjxlQlH6XuNMBdXWTfK1Th3VyZOLv7tMN6tFU457QQbxph7M90XnfOdOL/P11n8aV8LIbnJ8UZp2vjBJO3VSPfhg1V273FffcYfb5SGHqDZrprp2rZs/wTv8Qw9VrVVL9fvvw5O8a5dqvXq+KqqIND7IzQqqs/Y9VVetclfs4Dt3Uf4e/tPyEq1f3wWHX34J/86//tWttnq16oIFxf8KV1wR32m+5hqX5pwcV3L43/9cSSotTfXZZ91xXn99/D9bWVmAMCV89pnq2LExVpg4UZe2PVIv4Z96fsPX9Pzf/aRXXaWaT4OyZ+JBmUxFBAfvyq5M3RUDjlNTU/VxriluGwjYZuRI1fr1VTdudNMrVrhVH3ww+q4/+CAi81HVDz9086ZOddMrV6reeqvqmjUlty8sVO3YUfX3v3fTZ6dO1TYsL7r6Po3/aBuW65r07vq737lDf+6ymXvcg2zDBtU771T99VcNCza/pvfQ2wfP099+860ccb7bk6vn8HLUUtv69S4zvOaa4nmhDHbatOJ5mza5TBJcdVXI7t2qPXu6+ZdfHpz+Xr1UTzihZPoKQbvwnfblf0XpKyhQ7dpVtUMH1e3bNTAoTq57vtaS3dq7t3dOInz2mVv1P/9RPe001caNVQcMcKWN7dvDj/2ee4qDnaprWG/RwlWr+eXkuFIJuKq6sHNewSxAmBLVF4d3XKPgrlZKrONltGO87oMd+En3k+UKqu+1Oi84o45Wgijr/LLciBZt/TKOgLni7+4ehXOZGLjN9u3uKnbo0PDtunZVPe644H0WFqr+7ncuk8vPD99XaqrqVVepLl6smpnpknrppSX3Ecp4XvKeu/gcFymozuUwXU1Lrc1OvYmHVEU0P1/1yCNVO9ReEl59E3qVoQfZ+PFuk06ditsBfvnFTZcIir4r7nU0dcu5Oeb3nXWW+9l27CgODqed5qvm8fz73676xp/Jqqp+9ZXLgP319H4XX+y6uxYWhqdvFr0UVP/BZWHpe//9iEAU8b9yaPp67d49eqkvP1+1dm33e4PqAw+ovvee+/zqq8XrXXedm3fllcXz3nzTzXvrrZL7XbXKVaG9+GLw91YUCxA1XcRV0QI6F+UbRxzhqwKIyGhPZap2ZoEq6CpaKag+FnQTUrS7f+MZjjnoSrccfe/LnCH6MoEX0v7kAmGH4FVfe83t8t13w+ffdFP06qJ/e705n3665LKTT1bdd1935diypergwa4aYf788PUuu8w1Tob2n9e2t4LqX7lRH+NaBdX5HFJ0rE884b7zR/YveT7KMPzCDTe4q/xmzVw6J01yDbFNm7o2heOP963s+7sJNUK/U29wzMD8ltcR6dhj3ftZZ5UMAnvi8cfdflesCE/fNTyu9djm2kMi0he64vdf3au69hBQfeih2N+ZleXWa9fOBYyCAtX99ituI/nxRxdE9tnHXRuF2hfOOMNdRISq1pLBAkRNF1Gvegv3awq79P6mDymoTplScp1C0Bb8qhfxbNF0U9bpFY0mxNXzZnf7TD0ja4m+3Wp49Aw+zsHcXmtxuQ7n+eD1K6Dv+VAmFW0WdFU6aJDLIAsKwueHqov8VSOqrt49sk7dL5SBdeig+sMPrvqgaVPVgQOL1/nhB5eZDB8enu5D5Tv9PR9oT7K1J9lh1Uc//uj2+wRXlj1g+gwcqNq9u6vfT093m6enuwbgG290PYy2bIk4nxkZ+rgXtFb8/bWY+9+1q7j66NprNbihfw988onb9/Tpxenb0f4ATWONnpU6LfDvbP58F6RvvDF8/nPPuX3NmRP7O6+5RsNKe6quvSklxbVNDBnigv3cua4KavBg97vXqeMCcjJZgKjpfJloAbU0naV6CtO0gFp6WJ0F2rHVJt1OvbAMJTQY2XguLZrXh8/1GGYUZ0oxGoVDPTPOPvKX+Ho3xegLPnCgW3XHjoBj28OG6d2ItuBXPZBFCq7I7/frr+7K76abSu4mVF109dXh8//+d7f7oGoDVVcXPWqUa38Iefhht83776vOmuVKFi1alGyE/dPABZrCLgXVx5vdVSKz69hqU9i9AmHnOE6Zma4Hkarq0qUu01y61E2H2lWCju2ii3xVO6WYOtVlvvGsW1br17s0PvBA8bxYVTkhQ4YUV32FnH22K0WVls6FC1Xvvjs82IV6VJ19tnu/+243/35vhPBzzokv+CSaBYgarKBAtbB9RlFm8QG/d6UG/qgK+h4nKqj+H9eHZSovcZ6C6jwOLZp3Ec9qa1YWZ8Be4CkxBISIjhnjy6dL67Xka0cooFZYplZY6Ko6oLg+PEwcXTlL3DTlC5iheul/crHWYYf+5S/hq4au9iOrf0JOPtmVFkI2bHCHc/zxZcv8tm93GXPHju5KMzPTtVFECtVt164d3GA6cqRqo/o7dUf7A4qCbeGEiSVKP9Fs3eo2C2VmkbZtc11Q/Y3MIT17uuEuqoKMjOIgpxpfVU6o6it0kVBQoNq8ueoFF5Q/Hb16uX22aVNc6srPLy6Zde1a/n1XFAsQNdXEiTo09U3tyhxdSjtV0PN4SZuwXrf5Sgz9eUeb81vYODkjGaeN2VicYYP+lRsVVNfRtCjzyWM/TWWLTuOU4gw6I0OPPrp4csUKLz0x2hNW0Up786WewrSw/SxaVDz56afRjzNa6eOZZ1x9+h13+DJsX7C6j9sUVFfTUnvXna1HHx2+65493Suaxx4rDl7btrn7FURUv/227D/X5MnFmUbROYuQn+/i36BBwctDV8r+O2tHjHB142E3j0Uxe7bbfsqU6OsMHOi6e/rt3OnOc2QVTbIMHqzaubP7/NZbLqCWVpWzc6cLImec4aa/+sqdi0mTyp+OsWPdPp59Nnz+S96QXP4eWsliAaImmjhRtzZI03psc3XILNUvOUJT2aIjeDosc/6Q4xVUJ3NW0bwedefrCYeuCMtMp3KqgupMjizKiCfWdT1rBvK2hq7eN46frLVrFzdCvv66l6YopYgf2V87kqOgWosCXYtXZBDR558vXrUs/6iFhar33uu2C12tXXaZdwXpK3UcxSdFdfnXnrRQGzQovsqcP99t9/jj0b9n4UK3zoMPqh5zjPv82GPl+L28NL/zTnFX2mhmznSNp0E2bnSZ4S23uOlQVV9Kiusu+cknsff9r3+59WMFk1BQ9N8PEDpXRTeoJdmdd7o2hSefdMfes2dwV+JIN9zg2gV++811SYXgklq8duxwHRYi21l273bBvCIb58vLAkRNlJGh79BfwfV62ZcVRXeQfk6fsAw61C5xMq6MvYWGmpLirrr9mWmoXeLZulcUXaVffeKioox9ZXqW6sSJRVex777rGjSL6u+9fS2mk/6bwfpvBuuEuhdrS/lV01ijj3JdWPWXZmToiBGuygVK70kSsnu360YKquef7/5JR41y04MHe91OJ07Uje0O0drs1Fv3eUJ14sSizPGbb9x+bropelVOSGGhu+sVXMby8svl/cEqzlFHuQHrCgtdkG7Z0mXgnTu7q/w33oi+bShj3bYt+jqhoOjvoRUagiKeUkpleP314j/xE05w91XEY84ct824car9+sUuPVYXSQsQwABgMZAD3BKwPAP4CJgHfAyk+5btBuZ4r6mlfVe1DRDlHbhORK/n/7Q++ZpPff2FDD2QRXoo87SwQclG46IhIWitM1qfraD69tvhadhFba3Ldr3plOKW0169XG8ccA2tqq4evGFDlzEfeaTrHx6y84VJum/K6rCvz2ixWRfV76a7SNEmrNeL+WdRO0LXrqr9+7ur37B67xjnJdQt9c9/Dr9y+/vf3er9+rnujKGuqB9/7Jb7B17btcvVG0eryvG74QbVRo1cA3NVcN997jieeaY4s1N1V8VHHukCwFNPBW971lm+YSOiKCx0VVahqhhVF0z3aJC8CrZsmbuxcejQKJ0bYuja1d3BnZLibmKs7pISIIAU4CegI1AXmAt0iVjnVWC49/l4YIJv2ZayfF+1DBB7MpZORoYezPd6Eu8WbbuDOuFj7XvVOIpvULk6f9H7z5qtULJPuKob4iDUt3vrVneFfdttbjybUINbx47F69xwg/tHDf2TTvOaGJ580tV3z57tNd55afoDr2rblBVaOGGibtrkMrO77nL/sKefHt95OfVU1bZtS3ZLVVV95RWXkXXp4jK4Ro2K0xYaeG3YMFf6ARdsSrNjR/xXqJVh1qziEs1BB4Vn2lu3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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "### accuracy plots using LSTM model\n", + "plt.clf() \n", + "\n", + "acc = history.history['accuracy']\n", + "val_acc = history.history['val_accuracy']\n", + "\n", + "plt.plot(epochs, acc, 'ro', label='Training acc')\n", + "plt.plot(epochs, val_acc, 'b', label='Validation acc')\n", + "plt.title('Training and validation accuracy')\n", + "plt.xlabel('Epochs')\n", + "plt.ylabel('Loss')\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_tnxWVX7iD4a" + }, + "source": [ + "* **(evaluate function): Returns the loss value & metrics values for the model in test mode.**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "uRx7vcyfiD4b", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6df2edc9-9a19-4fe2-f687-41eef87d8aaa" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 0s 28ms/step - loss: 0.0835 - accuracy: 0.9800\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[0.08349721133708954, 0.9800000190734863]" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ], + "source": [ + "### evaluate using model A\n", + "model_A.evaluate(np.expand_dims(x_test, -1), y_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dAV_0JrZiD4b" + }, + "source": [ + "* **Save the weights of the model as a HDF5 file**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "6lYFPCH6iD4c" + }, + "outputs": [], + "source": [ + "model_A.save_weights(\"Model_LSTM.h5\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "d4ZHczoH23Yr", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "3ab467a6-baa9-4449-f876-2ba5d550caf6" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 1s 28ms/step\n" + ] + } + ], + "source": [ + "y_pred = model_A.predict(np.expand_dims(x_test,-1))\n", + "y_pred = np.argmax(y_pred, axis=1)\n", + "# y_test = np.expand_dims(y_test,-1)\n", + "y_true = np.argmax(y_test, axis=1)\n", + "y_true\n", + "\n", + "conf_heart_sound = confusion_matrix(y_true=y_true, y_pred=y_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "K87a-Nds3kLC", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 312 + }, + "outputId": "d846665d-a0f2-47b3-bf53-4968baefc20b" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[Text(0, 0.5, 'healthy'), Text(0, 1.5, 'unhealthy')]" + ] + }, + "metadata": {}, + "execution_count": 25 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "ax = plt.subplot()\n", + "sns.heatmap(conf_heart_sound, annot= True, ax = ax)\n", + "\n", + "ax.set_xlabel('Predict labels')\n", + "ax.set_title('Confusion Matrix')\n", + "ax.xaxis.set_ticklabels(['healthy','unhealthy'])\n", + "ax.yaxis.set_ticklabels(['healthy','unhealthy'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "5EcXK-yJ7U0-", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ed59fa4b-1eb9-459c-f058-d4666e211b45" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 0s 31ms/step\n", + " precision recall f1-score support\n", + "\n", + " Healthy 0.96 1.00 0.98 98\n", + " Unhealthy 1.00 0.96 0.98 102\n", + "\n", + " accuracy 0.98 200\n", + " macro avg 0.98 0.98 0.98 200\n", + "weighted avg 0.98 0.98 0.98 200\n", + "\n" + ] + } + ], + "source": [ + "# Menampilkan nilai presisi, recall, dan F1-score\n", + "pred_A = model_A.predict(np.expand_dims(x_test, -1))\n", + "modelA_predicted = np.argmax(pred_A, axis = 1)\n", + "\n", + "File=[\"Healthy\", \"Unhealthy\"]\n", + "print(classification_report(y_test.argmax(axis=1), modelA_predicted, target_names=File))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Grv7G3xrIUOW", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "373b6fb7-2a0c-4d70-a0d5-5bae84db2768" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 0s 28ms/step\n" + ] + } + ], + "source": [ + "# Menampilkan kurva AUC-ROC\n", + "Y_pred = model_A.predict(np.expand_dims(x_test, -1))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "2J5rYwa5JK-7" + }, + "outputs": [], + "source": [ + "n_classes = 2\n", + "lw = 1\n", + "Y_val = y_test\n", + "fpr = dict()\n", + "tpr = dict()\n", + "roc_auc = dict()\n", + "for i in range(n_classes):\n", + " fpr[i], tpr[i], _ = roc_curve(Y_val[:, i], Y_pred[:, i])\n", + " roc_auc[i] = auc(fpr[i], tpr[i])\n", + "\n", + "# Compute micro-average ROC curve and ROC area\n", + "fpr[\"micro\"], tpr[\"micro\"], _ = roc_curve(Y_val.ravel(), Y_pred.ravel())\n", + "roc_auc[\"micro\"] = auc(fpr[\"micro\"], tpr[\"micro\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "L0lSe1mqJWEC", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 548 + }, + "outputId": "42c6fe2f-edb4-45c4-b4fd-e8bad4f2434f" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + ":7: DeprecationWarning: scipy.interp is deprecated and will be removed in SciPy 2.0.0, use numpy.interp instead\n", + " mean_tpr += interp(all_fpr, fpr[i], tpr[i])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfkAAAHwCAYAAACluRYsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdZ5gUZdr28f9FHKJklCwGEBXExYCkQREFRX1ekaCrIoY1YMY1wD4PumYXXROoiMsCguKuKIgkCQIKiqxIUhBchQEk5zjM3O+HKmaaYUIzTE919Zy/45hjukJXndXp6vuu0OacQ0RERBJPsaADiIiISGyoyIuIiCQoFXkREZEEpSIvIiKSoFTkRUREEpSKvIiISIJSkZcCYWYTzezmANb7tJltNrPfC3vd2TGzNma2POgc8cDMdptZw0JepzOzUwtznbGS3/dUIrwGzSzZzFJymV7Pf30Vz8eyfzWzDseXMDxU5LMws9Zm9rWZ7TCzrWb2lZmdF3Su/CqsF7RzrpNz7p+xXk8kM6sHPAw0cc6dmM30ZDNL9z8MdpnZcjO7JZaZnHOznXONYrmOeGRmM83stshxzrnyzrlfgsoUpIJ430X7nsr6xSa/r0EzG2BmI4/1foUh6+PpnFvtv77SgswVBiryEcysIvAZ8DpQBagNPAkcCDKX5KgesMU5tzGXedY558oDFYEHgSFmFroibGYliuK6gxLw421mps9mKRjOOf35f0ALYHsu04sB/YHfgI3AcOAEf1oDwAG3AGuAbcCdwHnAImA78EaW5fUGfvTnnQzUz2XdFwJf+8v5AUj2x18EbAbq+sPN/OU1BkYA6cA+YDfw59yW5U+bCfwV+ArYBUwBqvnTkoCRwBb/vvOBmhH3u+0YHqebgdV+9n65bPcJ/v03+cvr7y+/g79d6f62DcvmvslASpZxG4HrInI+Bqzyt2kMUCVi3tYRj9MaoJc/vjTwNz//BuAtoEzWdQKPAv/Ksv5Xgdcitm0osB5YCzwNFPen9fKfg1f8bE9ns32lgb8D6/y/vwOlI3MAT/iP8a/ADVnum+s2+Pl/x3sdVcb7ArwJ7/X1GVDHn/8ZIA3Y7z8Xb/jjHXCqf3sY8CYwAe919Q1wSkSejsByYAcwCPgS//WUzXYX97drlb+sBWS+/h3e++5n/3l7EzB/2inAdP/x3Ay8D1SKWO6v/jYvwvtiX4LM18cuYBnwP1my3I73Hj48/Vzy/757xn/O9wGncuR76lT/MdnhZ//QHz/L3+Y9/rq6k+V1D9QFPvafuy1k+Rzy57kcOAik+sv5wR9fCxgHbAVWArfn8l4d5j93E/1lfAWciPe63Ab8BDSPmD/j9RFx/6ezeR8d9XiS+TlSIpc8Rz03Ec9zB//2+cBc/zlZD7wBlPKnGd77byOwE1gMnOVP6+wvcxfee7dvQdaigvwLPEA8/eG19rYA/wQ6AZWzTO/tv9AbAuX9N84If9rhF91beMWwI96H3idADbxegY1AO3/+q/1lnYH3YdIf+DqHXLX9XJ3xCtOl/nB1f/ozeB9eZfwXYp+I+2a8oKNc1ky8D7XT/eXNBJ73p/0JGA+Uxfug/QNQMeJ+tx3D4zTEX34zvA/UM3LY9uHAp0AF/74rgFv9aclkKeJZ7psx3d/Wq/A+LJr74+4H5gF18Ire28Bof1p9/w3cEygJVAXO8ae9gvfBV8XPNR54Lpt11gf2AhX84eJ4HyQX+sNj/XWWw3uNfAv8yZ/WCzgE3Iv3+iiTzfY95eevAVTHKyB/jchxCHjZ37Z2eIWgUZTbcAh4wb9vGX/7r/Wf+wrAR8AnEVkynv+IcVmL/Ba8D9USeAX2A39aNbwP0f/nT7sfr9jkVOQfwXudN8L7IG4GVI1Y52dAJbyenk3A5f60U/Fe76X9x2sW8Pcs75WFeEXx8Bee6/AKXTG8AroHOCli2lq8L/LmL7/+cbzvVgNn+o9BSY58T40G+vn3TQJaZ/c4Z/MaLI73heIVvNfZEffN8rgOAEZmGTcLr3AnAef4j+fFOdx/GN4XkD/4808H/gvc5Od4GpiRS+5hZFPkc3g8G5BLkY/2ufGzXug/5g3wvhQ84E+7DO8LZCV/GWdEPPfrgTb+7cr4XyDi8S/wAPH25z+Rw/BaMofwPggPt1anAXdHzNsI78Po8AvEAbUjpm8BukcM/zviBTQRv1j5w8XwCkL9bDI9il8kI8ZNBm72b5f0X4yLgUn4LRd/WtY3R17Lmgn0j5h2NzDJv90br5A0zSbjTDI/kKJ5nOpETP8W6JHNMovjtS6aRIz7EzDTv51M3kU+He9b+gG81uYDEdN/BC6JGD4pIufjwNhslml4H/SRrdCWwH+zywTMAW7yb18KrPJv1/QzlYmYtyf+hyBekV+dx2t1FdA5Yvgy4NeIHIeAchHTxwB/iXIbDgJJuaz7HGBbds9/xLisRf7diGmdgZ/82zcBc7M8xmuyLi9i+nLg6hymOY4sgGOAx3KY9xrg+yzvld55POYLD68b731zfw7z/cqxv++eyuU9NRx4h4j3TXaPc9bXoP+8biKXFm/E/QYQUeTxvuyk4X9J9cc9Rza9ZhHP8ZCI4XuBHyOGzyaipzSb3MMouCIf9XOTZdoD+O974GK8RsWFQLEs863G+yyqmNfjGvSf9vtk4Zz70TnXyzlXBzgL71v83/3JtfC6jA/7Da8g1IwYtyHi9r5shsv7t+sDr5rZdjPbjtcdZnjf+LOqD1x3eF5//tZ4RQnnXCreG+QsYKDzX4U5yHVZvsgj1fdGZB6B9+b5wMzWmdmLZlYym3VE8zjltI5I1fC+wGRdVnaPUU7WOecq4fXSvIb3xj2sPjA24nH4Ee9DrSbeB9yqbJZXHa81uyDifpP88dkZhVe8Aa73hw+vuySwPmI5b+O1yg9bk8e2Zfc414oY3uac25PN9Gi2YZNzbv/hATMra2Zvm9lvZrYTr4VX6RiPbs7pOa9FxLb6r98cj6wm5+cm1/WYWU0z+8DM1vrbMBLvNRbpiMfczG4ys4URj9NZEffJK0ekaN53uT3ff8b7fPjWzJaaWe8o11sX+M05dyjK+SPVArY653ZFjMvr/Rft51+B8c8m2O3/LfVHR/XcmNnpZvaZmf3uvyaexX9+nXPT8brv3wQ2mtk7/nFb4PVqdQZ+M7MvzaxlQW9XQVGRz4Vz7icyiyd4+z3rR8xSD6+1tIFjtwava7ZSxF8Z59zXOcw7Isu85ZxzzwOYWW3g/4B/AAPNrHTkZhzLsnLjnEt1zj3pnGuCdyzAlXitsKwK6nHajNeyzrqstce4HJxzB/BaU2eb2TX+6DVApyyPRZJzbq0/7ZQcMu0Dzoy4zwnOO7gvOx8ByWZWB/gfMov8GryWfLWI5VR0zp0ZGTuPzcrucV4XMVzZzMplMz2abci67ofxemQucM5VBNr64y3KrLlZj7fLxFugmUUOZyOn5yYvz+LlPNvfhj+Smf+wjO0ws/p4u5X64O0OqAQsibhPbjny877L8TF0zv3unLvdOVcLrwU5KMpTBdcA9aI8kDDr+tcBVcysQsS4fL3/crAX78vmYUedIZNLtswJ3tkE5f2/w++faF8jg/GOFTjNf008QcRrwjn3mnPuD0ATvF2Yj/jj5zvnrsb7Uv4JXo9RXFKRj2Bmjc3sYf8DGTOri9cKm+fPMhp40MxONrPyeB8aH+bzW/JbwONmdqa/rhPM7Loc5h0JdDGzy8ysuJkl+aeH1fE/EIfhHcB1K94H5l8j7rsBb994nsvKK7CZtTezs/3W2068ApyezawF8jg57/SYMcAzZlbB/9B9yN+GY+acOwgMBP7XH/WWv+z6AGZW3cyu9qe9D3Qws25mVsLMqprZOc65dLwP/lfMrIZ/v9pmdlkO69yE1+36D7zu8B/98evxDmocaGYVzayYmZ1iZu2OYZNGA/393NX87cr62DxpZqXMrA3el7KPjnUbfBXwvhhsN7MqeF8qI2V9nR2LCfhfvvxidA+5f+C/C/zVzE7zj0RvamZVo1hPBbwDt3b4X4wfyWP+cnjFZROAeadfnhUx/V2gr5n9wc9x6uHXEgX4vvPXfV3EvNv8XIffe7k99t/ifSY8b2bl/PW2ymHeDUAD84/sd86twds995x/v6Z4nzEFdZrdQuB6//G4HO+4kZwc6+srt+cmUgW8z7LdZtYYuOvwBDM7z8wuMK+3cg/eMVbp/vvpBjM7we9F3Un2n4NxQUX+SLuAC4BvzGwPXnFfgteKAXgPr8t6Ft4BJfvx9jsdM+fcWLwDmz7wu4mW4B3sl928a/AO1HsC7wNnDd4HVDHgPrxvk3/xuzlvAW7xP9TB24fW37wuwr55LCsvJwL/wntR/4h3tO+IbOYrsMfJv98e4Be8/duj/OXn13t4LZsueEe6jwOmmNkuvOf7AvDOw8XrjnsYb1fKQrwDvMDrEVgJzPOfuy/wWrk5GYV3NsCoLONvAkrhHaW7De+xPYnoPQ18h3c0+GLgP/64w373l7sO70vLnX7vVH624e94B+BtxnucJmWZ/irQ1cy2mdlrx7ANOOc24x0o9SLecSxN/O3K6dTVl/G+/E3Bey0O9bPl5Um8o9934H2x+DiPXMvwvhTOxSsyZ+MdMX54+kd4B72Owvvs+ATvQEYo2PcdeAeQfWNmu/Fes/e7zGsQDAD+6a+rW5ZtSAO64B14thpvN0j3HNbxkf9/i5n9x7/dE2//9zq8A0X/zzn3RZSZ83K/n207cAPe45eTIx7PvBacx3MTqS/ebrRdeF98P4yYVtEftw1vN8UW4CV/2o3Ar/57504/f1w6fGqJiCQQM0vGO4gqqpZiPPFbkil4p/zNCDqPSJipJS8igfO7sSuZdzzJ4f2i8/K4m4jkQUVeROJBS7yjoTfjdeFe45zbF2wkkfBTd72IiEiCUkteREQkQanIi4iIJKjQ/bpUtWrVXIMGDYKOISIiUigWLFiw2TmX01U1cxW6It+gQQO+++67oGOIiIgUCjP7Le+5sqfuehERkQSlIi8iIpKgVORFREQSlIq8iIhIglKRFxERSVAq8iIiIglKRV5ERCRBqciLiIgkKBV5ERGRBKUiLyIikqBU5EVERBKUiryIiEiCUpEXERFJUCryIiIiCUpFXkREJEHFrMib2XtmttHMluQw3czsNTNbaWaLzOzcWGUREREpikrEcNnDgDeA4TlM7wSc5v9dAAz2/0tI7dx5gM8+W0FqahoAxYoZN97YLNt5f/xxE99+uzZjuHHjalxwQZ1s5/3005/Yvn1/xvBVVzWicuUyR823ceMeJk78OWO4evVydO58WrbLnDNnNatWbc0YbtWqHqeeWuWo+dLS0hk5clHGsLZJ26Rt0jYFsU35Zc65415Ijgs3awB85pw7K5tpbwMznXOj/eHlQLJzbn1uy2zRooX77rvvYpBWcjJ8+A/Mn7+WzZv3sXnzXp5+un22L8zffttOgwavZgyXKlWcAwf6Z7vM11//hvvum5Qx3KfPebz+euds5z377MEsWbIxY3jRojs5++yaR8339ddraNXqvYzhli3r8PXXt2a7zF69PuGf//whY/gf/7iaXr3OOWq+AwcOkZT0TDi26fL3+efklZnbVL4cvc6vC9O6575NwIFqVWFgMtx05Fv1qG1KSuL18uVgU5+8t6nSCZx9S1N4+eLct6lECb6udAJ80Q2a1Thym7I+T9ombVOR3KYBC5xzLY6aKQqxbMnnpTawJmI4xR+Xa5HPy2+/bWfevJSM4Xr1TqBly7rZzjtjxn/ZuHFPxnBycgNq1ix/1Hy7dh3g888zv/2VL1+KK644PdtlLlz4O8uXb84YbtbsRBo3rpbtvP/+9zIOHUrPGP5//+8MSpYsXijb9J//rKdfv+ls3ryXLVv20qJFLcaMuS7bZY4bt5x///vHjOHbbmuebZGvXr1ctveXQvLd70EnEJECd3wN8SBb8p8Bzzvn5vjD04BHnXNHNdPN7A7gDoB69er94bfffsuc+K8qcHBbLOJLPlVZBdvS855PRERy8V9gDrCKULbk1wKRzdE6/rijOOfeAd4Br7v+iIkHt8H1maNGj17M9dd/nDHco8dZjB59bbYB2rf/JzNn/poxPL1iRdqXKukN3Ngko6tnxYotNGr0RsZ8p5UpyYpyFTMXFNHV07fvFAYOnJsx6aWyZelb1t831LT6EV09FSs+x65dBzOGd1SpTMVi/rGQEV09R21TqVKMrlghc/0RXT353aaGSSVZVT77berffzrPPDM7Y9KAsmX4v7Jls92mu+76jG0nduGmX8ZSYsHvDN1wKHOZEds0deoqRo5cnDGpw8eruDGpdLbb1K/fNFJSdnkDq7bx9LKd1C1e/Kht+vnnLTz9dGbOU2ev5S+7Il4uEds0ZMgC5szxO5K27uO22b/TpmTJo7YpNTWN224bn7GIUGzTkk2wdAu3JZWmzR9qHdW9mLFN89fDLzsoAQytUD7b7sWMbfrwJ2+bSpb0timb7sV+/aaR8uVq+G4DAE+XLUPdXmcf1WWasU1T/gvbDnBq8WL8pWzZbLtMhwxZwJxxK2Cq98Ve26RtKirb1LXrU0wY9zfa0oMpDDlqerSCbMlfAfQBOuMdcPeac+78vJZ51D75URZdka/+BkfY1KdIF/mtW/dRteqLmVmKF2NH5crZbtNXX63m22/XUq1aWartPMgZf/maBocLUpZtArAnDfd/Dh6aDiOWZU7I5kWfIZvnJ1vDl8DDMzOHI7bpKJd8CIs2ZbtNR/hhI3QYkzmczTZlCMs2iUhorV69mosuuohPP/2UP/zhD5hZ/LXkzWw0kAxUM7MU4P+AkgDOubeAz/EK/EpgL3DLsSx/8+a9VKhQitJZxterdwLdup2ZMXzhhbVzXEZycn1q1PD3I/+6gxordmU7X/nypY5Y5klfr4McDnps1qxm5rzb99No7sbsZ8TbB79vn98qXLiBEluy7+M+apsm/DfHZUa7TZUqJTFuXA+vcFcrS9VbJ8OPW7Odt1WrerRqVc8b+GEjFP8mx/WLiEj+/fDDDzRr1owff/yRChUq5H2HPMS0JR8LJeqUcGm3pwUdQ3JROakyWx/N/guDiIgczTnHX/7yFz7++GO+//57SpfObMLGZUs+VtLS03D/5zjxxL+xYcMe3PsDsBsGsHr1A9SdsebImSO7UaPtOhURESlE6enp9OnTh2+++YYvv/zyiAJ/vEJX5MG7+MCmTXuPGFejRrkj92vCkUVeRV1EROLQ3r17KV68ODNmzKBixYp53+EYhPLa9Tt3HqB69bIUK2aAt3+5dOlQfl8REZEiau/evdx3332kpqby+uuvF3iBh5AW+cqVy/D77305eNC78ti8ef4VwG5skjlT/YJ/sERERArC9u3b6dixI9u3b6d8+aMvWFZQQlnkDyte3IvfqFGWK8rVrwh/Sy78QCIiInk4dOgQHTp0oEWLFgwbNoySh6/REQOhO7reaplz6yIyZzlPXkREJF7t3r2b8uXLs3DhQpo1a4aZ5Xmf4zm6PtQteRERkbBYunQpTZo04aeffuKcc86JqsAfr3AX+Us+zPx/+LaIiEic+eabb7jkkkt47rnnaNy4caGtN9yHpB++vGfkZT5FRETizHPPPce7777LlVdeWajrDWWRf/vt79i2bT819+/nFmB7ejqVioW7U0JERBLPhAkTOO+88xg7dmyhdM9nFcrK+NZbC3j88Wn03u39bvqKNF3mVkRE4st7773H7bffzoYNGwIp8BDSlvyGDbuPGK45+iqodfwX8hcRESkIr7zyCq+++iozZ87k9NNPDyxHKIv8xo17jhiu2b4+JIVyU0REJIE45zAzTjnlFObMmUOdOnUCzRPKyvjss5ewYcNuNmzwin2SCryIiAQsLS2Ne+65h+TkZHr06BF0HCCkRf7Pl52WObA0uBwiIiIABw8e5MYbb2Tz5s289NJLQcfJEMoiT4cxmbdfDS6GiIgIwJNPPsnBgweZMGECSUlJQcfJEM4iLyIiEge2bdvG/v37efzxx0lKSqJEifgqq6E8hU5ERCRo69evp127dowePZry5cvHXYGHsLbkm1YPOoGIiBRhv/zyCx07dqR37948+OCDQcfJkX6FTkRE5BiNHz+elJQU7rrrrpiv63h+hS6ULfkaNV6iRo1y1KxZnmm3Bp1GRESKirlz5/Kf//yHe+65J+goUQnlPvlNm/aydOkmpk//b9BRRESkiJgyZQpXXXUVJ598ctBRohbKlryIiEhhmjlzJjfeeCNjx46ldevWQceJmoq8iIhILvbu3ct5553HjBkzaNKkSdBxjkkoi/zatQ+xYcNu7xr2WwYEHUdERBLUCy+8wIwZM5g0aVLoCjyEtMjX+tt8ah0eyNfxhiIiIjlzzvHoo48yYcIEpkyZEnScfAtlkWfEsszbKvIiIlLAFi9ezNdff82sWbOoWrVq0HHyLZRH14uIiMTCgQMH+Pjjj2natCmzZ88OdYEHFXkREREAdu/eTZcuXXj//fdJT0/HzIKOdNzC2V0/MDnoBCIikkC2bdtGp06dOPPMM3n77bcpViwx2sChLPJTTixDzZrlOOWUKpQfF3QaEREJu6SkJHr16sWf/vSnhGjBHxbKryqXXTaSc855mylTVgUdRUREQmzVqlVceumlpKenc+eddyZUgYeQFvnDatYsF3QEEREJqUWLFtG2bVu6du1KuXKJWU9C2V1/WI0a5eC3oFOIiEjY7N27lyuvvJKXX36Z7t27Bx0nZkJZ5JOTG7Bhw25q1iwfdBQREQmZn3/+mdNOO43vv/8+9KfI5SWU3fUzZtzMsmX3ULFi6aCjiIhIiHz44Ye0bt2a9evXJ3yBh5C25Kn+RubtV4OLISIi4fH222/z1FNPMXXqVE466aSg4xSKcBZ5ERGRY5Cens53333Hl19+yamnnhp0nEITyu56ERGRaDjneOaZZ0hJSWHIkCFFqsCDiryIiCSoQ4cOcdttt/HZZ59RvnzRPFA7nN31m/pk3h51b3A5REQkbt1yyy1s3LiRL774ImHPg89LKFvyN9/8CV9/vSboGCIiEof279+Pc4777ruPcePGFdkCDyEt8sOH/8DatTuDjiEiInFmy5YttG3bls8//5zzzjuP0qWL9qnWoSzygC6EIyIiR0hJSaFNmzZcfPHFdO7cOeg4cSGc++TRdetFRORIzzzzDLfccguPPPJI0FHiRiiL/JAhXahb94SgY4iISBxYuHAhFSpU4M0330yY34EvKKF8NG4rVYqy/1oOw5cEHUVERAI0e/ZsOnbsyLJly1TgsxHKljwPz8y8rcvaiogUSZ9//jk333wzo0aN4tJLLw06TlwKZ5EXEZEiLykpifHjx3PhhRcGHSVuqciLiEioDBo0iD179ugAuyiEs8jf2CToBCIiUsgOX4d+2LBhTJ06Neg4oRDOIv/yxZm3RwUXQ0RECs+IESP46KOPmDNnDieeeGLQcULBnHNBZzgmVsucWxeReZTB9eHaBhERid6hQ4dYv349NWrUYN++fVSqVCnoSIXKzBY451rk577hbMmLiEiRsH//fnr06EHVqlUZOnRokb9M7bHSSYUiIhKXdu7cSefOnUlKSmLw4MFBxwklFXkREYlLP/30E02bNuX999+nVKlSQccJJXXXi4hIXElJSeGDDz6gb9++nH/++UHHCbVwtuQv+TDzT0REEsaKFSto3bo1ZhZ0lIQQzpb8ok1BJxARkQK2atUqkpOTefrpp+ndu3fQcRJCOIu8iIgklIMHD1KvXj0+/PBD2rRpE3SchBHO7noREUkY48eP57zzzsPMVOALWDhb8l90y7y99N7gcoiIyHEZOXIkffv2Zdy4cZQoEc6SFM/C+Yg2q5F5e2lwMUREJP82b97Ms88+y/Tp02nSRL9JEgvqrhcRkULlnGPChAlUrVqVxYsXq8DHkIq8iIgUmvT0dB544AH69evHrl27KF68eNCRElo4u+tFRCR0UlNT6d27N//973+ZOXMmFStWDDpSwlNLXkRECkWxYsU4++yzmTJlSpH7JbmghLPI/7Ax809EROLajh076Nq1K+vWrePPf/4zZcuWDTpSkRHO7voOYzJvvxpcDBERyd3GjRu5/PLLadmyJbVr1w46TpETzpa8iIjEPeccXbp04YorruCNN96gWDGVnMIWzpa8iIjEtbVr11KrVi3Gjh1LrVq1go5TZIXza1XT6pl/IiISVxYsWECLFi2YP3++CnzAwtmSn9Y98/aoHsHlEBGRI8ycOZNu3boxZMgQ/RZ8HAhnkRcRkbj0ySef8OGHH9K+ffugowgx7q43s8vNbLmZrTSzx7KZXs/MZpjZ92a2yMw6xzKPiIjExvvvv8/ixYv5+9//rgIfR2JW5M2sOPAm0AloAvQ0s6wXKO4PjHHONQd6AINilUdERGLj1Vdf5fHHH9evyMWhWD4j5wMrnXO/AJjZB8DVwLKIeRxw+LqGJwDrYphHREQK2Isvvsi7777L7NmzqV+/ftBxJItYdtfXBtZEDKf44yINAP5oZinA50C2Pw5vZneY2Xdm9l0sgoqIyLFJT08nPT2dDh06MGfOHBX4OBV030pPYJhzbqCZtQRGmNlZzrn0yJmcc+8A7wBYLXM8ND1zYotCTCsiIqSmptKrVy/OP/987r///qDjSC5iWeTXAnUjhuv44yLdClwO4Jyba2ZJQDUg94vSj4jo8VeRFxEpNHv37qVbt26YGXfccUfQcSQPseyunw+cZmYnm1kpvAPrxmWZZzVwCYCZnQEkAZtimElERI7DoEGDqFy5Mh9//DFlypQJOo7kIWYteefcITPrA0wGigPvOeeWmtlTwHfOuXHAw8AQM3sQ7yC8Xs45F6tMIiKSPxs2bOD333/nwQcfxMx0HfqQiOk+eefc53gH1EWO+9+I28uAVse84IHJxxtNRESi9Ouvv9KxY0fuuOMOmjVrFnQcOQZBH3iXPzedlXl7VHAxREQS3bJly7j88svp27cv9913X9Bx5BiFs8iLiEihOHDgAM8//zzXX3990FEkH1TkRUTkKNOmTWPixIn87W9/o3nz5kHHkXzSkRMiIu1aZPwAACAASURBVHKEsWPH0rNnT7p06RJ0FDlOasmLiEiGuXPncvfddzNp0iTOPffcoOPIcVKRFxERAH7//XcuuOAC5s+fT506dYKOIwUgnEW++huZt18NLoaISCJwztG/f39mzJjBV199pQKfQMJZ5EVEpECkpaXRp08fvv32WyZNmoSZBR1JCpCKvIhIEbZmzRo2btzIjBkzqFixYt53kFCxsF1F1mqZc3+LGFGqMnTdGlgeEZEw2rt3L4MHD+bBBx/UJWrjnJktcM7l6+fYwtmSvz5cX0xEROLJtm3buPLKKznllFNIT09XkU9gemZFRIqQHTt2kJyczHnnncewYcMoUSKcbT2JTji769eFK7OISDxIS0ujWLFifPbZZ1x55ZU6yC4kjqe7Xi15EZEiYOnSpTRr1oxt27bRpUsXFfgiQkVeRCTBffPNN1xyySU88cQTVKlSJeg4Uoi0M0ZEJIGlpqZy6623MnToUK644oqg40ghC2eRH74k83bkb8uLiEiGr776igsuuIAFCxZQunTpoONIAMLZXf/wzMw/ERE5ytChQ7nuuutYvXq1CnwRFs6WvIiI5Oill15i0KBBfPnllzRs2DDoOBIgFXkRkQTinCMtLY3Zs2frh2YkpEX+xiZBJxARiStpaWk89NBD3HzzzTz22GNBx5E4Ec4i//LFQScQEYkbBw8e5I9//CNbtmzhtNNOCzqOxJFwFnkREclwxx13kJqayoQJE0hKSgo6jsQRXdZWRCSktm/fTrly5Vi3bh21a9fWdegTlC5rKyJSxKxfv542bdrw0UcfUb9+fRV4yZaKvIhIyKxatYrWrVvTs2dPevbsGXQciWPqrhcRCZlnn32WypUrc9dddwUdRQrB8XTXh7PIn/FB5ohp3YMLIyJSiObOnUtqaipt27YNOooUoqK3T37Rpsw/EZEiYMqUKVx99dXs3bs36CgSIjpSQ0Qkzn366afccccdjB07llatWgUdR0JERV5EJI6lp6dzxhlnMGXKFJo1axZ0HAmZcBb5L7oFnUBEJOZeeOEF1q5dy2uvvRZ0FAmpcBb5ZjWCTiAiEjPOOR599FEmTJjAlClTgo4jIRbOIi8iksDGjRvHl19+yaxZs6hatWrQcSTEwnkKnc6TF5EEdODAAZYuXUrz5s05cOCArkMvQFE8hU5EJMHs3r2bK6+8ktdeew0zU4GXAqEiLyISsK1bt9KhQwfq16/P0KFDg44jCSSc++R/2Jh5WwfhiUjI7dixgyuvvJJ+/fphZkHHkQQSzn3yqa9njtjUJ7gwIiLHYeXKlQwcOJA333yTYsXUsSrZ0z55EZGQ+eGHH2jXrh3NmzdXgZeYCWd3vYhIiKWkpNCxY0feeOMNrrvuuqDjSAILZ5FvWj3oBCIi+bJ161Zq167NrFmzaNSoUdBxJMGFc5+8zpMXkRD64IMPeOyxx/jxxx8pU6ZM0HEkJLRPXkQkzr311lv07duX8ePHq8BLoQlnd72ISIjs3r2bMWPGMGvWLBo2bBh0HClC1JIXEYkR5xxvv/02JUuWZPr06SrwUuhU5EVEYuDQoUPceuutDBs2jH379gUdR4ooddeLiBSwtLQ0unXrxp49e/jiiy8oV65c0JGkiApnkX9oeubtly8OLoeISBbOOYoXL06PHj24+uqrKV26dNCRpAgLZ3f9iGWZfyIicWLz5s20bduWpUuX0q1bNxV4CVw4i7yISJxJSUmhbdu2tG7dmiZNmgQdRwQIa3e9iEic6dWrF7169eLPf/5z0FFEMoSzyA9MDjqBiAgAy5Yt4+STT+bTTz/VAXYSd8LZXX/TWZl/IiIBmT17NsnJycyfP18FXuJSOIu8iEjAJkyYwLXXXsuoUaNo27Zt0HFEshXO7noRkYCtXLmScePGceGFFwYdRSRHKvIiIsdg8ODBNGjQgPvvvz/oKCJ5Une9iEgUnHP89a9/ZeDAgTRu3DjoOCJRUUteRCQKL730Ev/617+YM2cOJ554YtBxRKJizrmgMxwTq2XOpb6eOWJTn+DCiEjCO3ToEAcOHGDbtm2UK1eOypUrBx1JihgzW+Cca5Gf+6q7XkQkB/v37+faa6/lxRdfpE6dOirwEjoq8iIi2di5cyedOnWiTJky9OvXL+g4IvmiIi8iko1x48bRuHFj3n//fUqVKhV0HJF8Cec++XXhyiwi4bFmzRqWLFlCp06dcM5hZkFHkiJO++RFRArA8uXLad26NStWrABQgZfQi/oUOjMr65zbG8swIiJBWbRoEZdffjnPPPMMt9xyS9BxRApEni15M7vIzJYBP/nDzcxsUMyTiYgUEucc1atXZ8iQISrwklCi6a5/BbgM2ALgnPsB0K8xiEhCGD9+PNdddx0nnXQSV1xxRdBxRApUVN31zrk1WfZNpcUmjohI4RkxYgSPPPII48aNCzqKSExEU+TXmNlFgDOzksD9wI+xjZWH4Usyb+s35UUkH5YsWUK/fv2YPn06TZo0CTqOSEzkeQqdmVUDXgU6AAZMAe5zzm2Nfbxs8uiytiJyHJxzLFmyhLPPPpudO3dSsWLFoCOJ5Op4TqGLpiXfyDl3Q5YVtgK+ys8KRUSCkp6ezgMPPMDcuXOZN2+eCrwkvGgOvHs9ynEiInErNTWVm2++me+//56pU6dSvHjxoCOJxFyOLXkzawlcBFQ3s4ciJlUEgn133Kj9ZyJybHbt2sUJJ5zA5MmTKVu2bNBxRApFbi35UkB5vC8CFSL+dgJdo1m4mV1uZsvNbKWZPZbDPN3MbJmZLTWzUVGlfvnizD8RkVzs2LGD+++/n6SkJN544w0VeClScmzJO+e+BL40s2HOud+OdcFmVhx4E7gUSAHmm9k459yyiHlOAx4HWjnntplZjWPeAhGRHGzcuJHLL7+cVq1akZSUFHQckUIXzYF3e83sJeBMIONd4pzLqxl9PrDSOfcLgJl9AFwNLIuY53bgTefcNn+ZG48hu4hIjvbt20fbtm3p3r07AwYM0HXopUiKpsi/D3wIXAncCdwMbIrifrWBNRHDKcAFWeY5HcDMvsLbzz/AOTcp64LM7A7gDgBOimLNIlKk7d69m/LlyzN69GiaN28edByRwERzdH1V59xQINU596VzrjdQUDvDSwCnAclAT2CImVXKOpNz7h3nXIv8nicoIkXHd999R+PGjUlJSVGBlyIvmiKf6v9fb2ZXmFlzoEoU91sL1I0YruOPi5QCjHPOpTrn/guswCv6IiLHbMaMGXTu3JlBgwZRp06doOOIBC6a7vqnzewE4GG88+MrAg9Ecb/5wGlmdjJece8BXJ9lnk/wWvD/8K+sdzrwS55LvuTDzNvTukcRRUQSXXp6Os888wxjxowhOTk56DgicSHPIu+c+8y/uQNoDxlXvMvrfofMrA8wGW9/+3vOuaVm9hTwnXNunD+to/9TtmnAI865LXmmXhTNIQEiUlR88skntG/fnqlTp+oAO5EIOV673j8FrhveAXSTnHNLzOxK4AmgjHMukJ1duna9iET6+9//ziuvvMK0adM49dRTg44jUuBide36oXj71L8FXjOzdUAL4DHn3Cf5WZmISEEaMGAAH3zwAbNnz6ZevXpBxxGJO7kV+RZAU+dcupklAb8Dp0TVnR5rX3QLOoGIxIEmTZowa9YsatTQdbREspNbkT/onEsHcM7tN7Nf4qLAAzTTG1qkqEpNTeWWW27hj3/8I9266Qu/SG5yK/KNzWyRf9uAU/xhA5xzrmnM04mIRNi7dy/XXXcdxYoVo127dkHHEYl7uRX5MwothYhIFPr27UuVKlV47733KFmyZNBxROJejkfXxyurZc6tC1dmETk+GzZsoGTJkhQvXpwKFSpQrFg01/ESSQzHc3S93ikiEtd+/fVX2rRpwyeffMIJJ5ygAi9yDKK54l38+SHix+p0EJ5Iwlq2bBmXXXYZjzzyCL179w46jkjoRNVdb2ZlgHrOueWxj5RHFl0MR6TIGDlyJM45brzxxqCjiAQmVhfDObzwLsDfgFLAyWZ2DvCUc+6q/KxQRCQv06ZNY926dSruIscpmp1bA4Dzge0AzrmFwMkxzCQiRdjYsWPp2bOnrmAnUgCi2Sef6pzbkeVHH4I9vL1p9UBXLyKxMW7cOO6++24mTZrEueeeG3QckdDLc5+8mQ0FpgGPAdcC9wElnXN3xj5eNnl0Cp1IQtq3bx/79u1j8+bNnH766UHHEYkbsT6F7l7gTOAAMArvJ2ej+T15EZE8Oefo378/vXv3pkqVKirwIgUomu76xs65fkC/WIcRkaIlLS2NPn36MH/+fCZOnBh0HJGEE01LfqCZ/WhmfzWzs2KeSESKjK+//poVK1Ywffp0qlfXsTYiBS3PIu+caw+0BzYBb5vZYjPrH/NkuXloeqCrF5Hjs3fvXsaPH0+bNm2YOnUqFStWDDqSSEKK6vqQzrnfnXOvAXcCC4H/jWmqvIxYFujqRST/tm3bxqWXXsrYsWNxzukytSIxlOe7y8zOMLMBZrYYeB34GqgT82QiknA2bNhAcnIy559/Pu+++y5ZTs0VkQIWzYF37wEfApc559bFOI+IJLAyZcrQp08fbrvtNhV4kUIQzT75ls65v8dVgR+YHHQCETkGS5YsoVOnTpQpU4bbb79dBV6kkOTYkjezMc65bn43feTVZwxwzrmmMU+Xk5t0kL9IWMybN49rrrmGV155hZIlSwYdR6RIyfGKd2Z2knNuvZnVz266c+63mCbLga54JxIeW7du5cwzz2To0KF07tw56DgioRSTK94559b7N+92zv0W+QfcnZ+ViUjRsXLlSqpUqcLixYtV4EUCEs25K5dmM65TQQcRkcTx7rvv0q5dO7Zv3061atWCjiNSZOW2T/4uvBZ7QzNbFDGpAvBVrIOJSDi9+OKLDB48mJkzZ1KpUqWg44gUabmdQjcKmAg8h/cLdIftcs5tjWkqEQmlgwcPsmzZMubMmUPt2rWDjiNS5OXWXe+cc78C9wC7Iv4wsyqxj5aL6m8EunoROVJaWhoDBgxgx44dDBs2TAVeJE7kVuRH+f8XAN/5/xdEDIuIcODAAXr27Mns2bNJSkoKOo6IRMixu945d6X//+TCiyMiYeKc49prr6VUqVJMmDBBRV4kzkRz7fpWZlbOv/1HM3vZzOrFPpqIxLMDBw5gZvTr148xY8aowIvEoWhOoRsM7DWzZsDDwCpgRExT5WVTn0BXL1LUrVu3jhYtWvD111/TsmVLSpSI5mcwRKSwRVPkDznvsnhXA284597EO41ORIqgVatW0aZNG66//npatmwZdBwRyUU0X793mdnjwI1AGzMrBugC1CJFVP/+/XnkkUe48847g44iInnI8dr1GTOYnQhcD8x3zs3298cnO+eGF0bAo/Lo2vUigfjmm2+oW7cuNWvWpHjx4kHHESkyYnLt+sOcc78D7wMnmNmVwP6gCryIBGPy5Ml06dKFFStWqMCLhEg0R9d3A74FrgO6Ad+YWddYBxOR+DBmzBhuuukmxo4dS3JyctBxROQYRLNPvh9wnnNuI4CZVQe+AP4Vy2C5Gr5EvykvUkiSkpKYOnUqTZs2DTqKiByjaIp8scMF3reF6I7Kj52HZ6rIi8SQc44XXniBqlWrcvvttwcdR0TyKZoiP8nMJgOj/eHuwOexiyQiQXLO8eijj/L5558zZcqUoOOIyHHIs8g75x4xs/8HtPZHveOcGxvbWCISlNdff53Zs2cza9YsqlQJ9reoROT45HgKnZmdBvwNOAVYDPR1zq0txGzZslrmXI9p8PLFQUcRSSgHDhxg69atVKjgXeuqfPnyAScSEYjdKXTvAZ8B1+L98tzr+VlBTKjAixSoXbt2ccUVVzBw4EDKly+vAi+SIHLrrq/gnBvi315uZv8pjEAiUri2bNlC586dOfvss3nhhReCjiMiBSi3Ip9kZs0B84fLRA4751T0RRLAwoULufjii3n22Wcxs7zvICKhkds++Rm53M855wLpM9dlbUUKxs8//8zUqVO5++67g44iIrk4nn3yObbknXPt8x9JROLZwoUL6dy5M08++WTQUUQkhvQj0CJFzA8//EDHjh158803ue6664KOIyIxlOev0MUbq2XOnfEBTOsedBSR0ElNTeXQoUN8//33XHTRRUHHEZEoxPRX6OLSok1BJxAJndGjR9OuXTuSkpJU4EWKiDy768073PYGoKFz7in/9+RPdM59G/N0IlIgBg8ezDPPPMPEiRN1BL1IERJNS34Q0BLo6Q/vAt6MWSIRKVC//fYbr7/+OrNmzeLss88OOo6IFKJoivwFzrl7gP0AzrltQKmYpsrLF90CXb1IGDjnmDRpEvXr12fRokU0bNgw6EgiUsiiObo+1cyKAw4yfk8+Paap8tKsRqCrF4l3hw4d4vbbb2f58uW0b9+e0qVLBx1JRAIQTZF/DRgL1DCzZ4CuQP+YphKRfNu/fz89e/Zk7969TJ06VQVepAiL5qdm3zezBcAleJe0vcY592PMk4lIvpgZF1xwAQ899BClSgW7Z01EgpXnPnn/aPq9wHhgHLDHHycicWTz5s1ce+217Nq1i8cee0wFXkSi6q6fgLc/3oAk4GRgOXBmDHOJyDFISUmhY8eOXHPNNVStWjXoOCISJ6Lprj/inBszOxcI9hctftiog+9EfIcOHaJjx47ccsstPPLII0HHEZE4kq/L2prZ4qzFv7BYLXMu9XXY1CeI1YvElZSUFGrXrs26deuoXbt20HFEJAZi8it0EQt/KGKwGHAusC4/KxORgjNr1iy6du3K7NmzadSoUdBxRCQORXMxnAoRf6Xx9tFfHctQIpK7CRMm0LVrV0aNGqUCLyI5yrUl718Ep4Jzrm8h5YlO0+pBJxAJ1NixYxk/fjwXXHBB0FFEJI7luE/ezEo45w6Z2VznXMtCzpUjq2XOrQvXz+OKFJR3332Xiy++WJeoFSlCYrVP/lu8/e8LzWwc8BGw5/BE59zH+VmhiBw75xx//etfGT58OJdccknQcUQkJKI5Tz4J2AJcTOb58g5QkRcpJE888QQTJ05kzpw5nHjiiUHHEZGQyK27PgV4mcyiHvkj1M4593Ls42WTS931UoQcOnSI4sWLM2/ePM444wwqVaoUdCQRKWSx6q4vDpTnyOJ+mKqsSIzt27eP7t2707VrV2666aag44hICOVW5Nc7554qtCQikmHnzp1cddVVnHTSSfTo0SPoOCISUrmdJ59dCz4+PDQ96AQiMfXCCy/QpEkTRo4cqR+aEZF8y22ffBXn3NZCzpMnXdZWEtnq1avZv38/J598MiVKlMAsfr9ri0jhOJ598jm25OOxwIsksuXLl9OmTRtmzZpFyZIlVeBF5LhFc1lbEYmx//znPyQnJ/Pkk09y2223BR1HRBJETIu8mV1uZsvNbKWZPZbLfNeamTOz6LojBiYXVESRuLBnzx4GDRpEr169go4iIgkkmovh5It/3fs3gUuBFGC+mY1zzi3LMl8F4H7gm6gXftNZBZhUJDjjx4/n+++/53//93+DjiIiCSiWLfnzgZXOuV+ccweBD8j+1+v+CrwA7I9hFpG4M2LECG6//XY6deoUdBQRSVCxLPK1gTURwyn+uAxmdi5Q1zk3IYY5ROLOpEmT6NevHzNmzOC8884LOo6IJKiYddfnxcyK4V02t1cU894B3AHASTGNJRJTzjk2btzIJZdcwty5c6ldu3bedxIRyadYtuTXAnUjhuv44w6rAJwFzDSzX4ELgXHZHXznnHvHOdciv+cJisSD9PR07r//fm699VZKliypAi8iMRfLlvx84DQzOxmvuPcArj880Tm3A6h2eNjMZgJ9nXPfxTCTSCBSU1Pp3bs3v/32G+PHjw86jogUETFryTvnDgF9gMnAj8AY59xSM3vKzK46roVXf6MAEooUnhUrVpCamsrkyZM54YQTgo4jIkVEjpe1jVe6rK2EyY4dO/jnP//JvffeqyvYiUi+xOSytiJyfDZu3EhycjIrVqwgbF+mRSQxqMiLxMCGDRto06YNV111Fa+//jrFiumtJiKFL5zd9evClVmKlrS0NJxzTJw4kS5dugQdR0RCTt31InFi/vz5nHvuuRw8eFAFXkQCF9jFcEQSzfTp0+nevTtDhw6lbNmyQccREVGRFykIe/bs4U9/+hMfffQRycnJQccREQFU5EWO25w5c2jVqhVLliyhdOnSQccREcmgffIix+GVV17hhhtuYMOGDSrwIhJ3wlnkhy8JOoEUcc45+vfvz1tvvcXs2bM58cQTg44kInKUcBb5h2cGnUCKOOccJUqUYPbs2dSrVy/oOCIi2QpnkRcJSGpqKnfddRcrV65kwIAB1KhRI+hIIiI50oF3IlHau3cvXbt2pUSJEtStWzfvO4iIBCycLfkbmwSdQIqgnj17Uq1aNf79739TpkyZoOOIiORJl7UVycPWrVupVKkSv/76Kw0aNNB16EWkUOmytiIx8uuvv3LBBRcwefJkGjZsqAIvIqGiTyyRHCxbtow2bdpw//3306lTp6DjiIgcMx14J5KDYcOG8fzzz3PDDTcEHUVEJF+0T14ki2nTplGlShWaN28edBQREe2TFykoH3/8MT179mT37t1BRxEROW7hLPKXfBh0AklAI0eOpE+fPkyePJk2bdoEHUdE5LiFc5/8ok1BJ5AEk56ezplnnsnMmTM5/fTTg44jIlIgwlnkRQqIc45+/fpRsmRJnnzyyaDjiIgUKBV5KbLS0tK45557WLBgARMnTgw6johIgQtnkf+iW9AJJAEMHz6cn3/+menTp1OhQoWg44iIFDidQidFzp49e/jll18488wzSU1NpXTp0kFHEhHJkU6hE4nStm3buPTSS3n33XcpVqyYCryIJDQVeSky1q9fT7t27bjwwgt55ZVXgo4jIhJz4dwnL5IPW7du5aabbuLhhx/GzIKOIyIScyrykvAWL17MsGHDGDhwIGeeeWbQcURECk04u+t/2Bh0AgmJefPm0aFDB1q0yNcxKyIioRbOIt9hTNAJJAR++uknrrrqKv7xj3/Qs2fPoOOIiBQ6dddLQtq2bRuNGjVi9uzZNGrUKOg4IiKBCGdLXiQXQ4YMoVWrVqSlpanAi0iRFs6WfNPqQSeQOPXCCy/w9ttvM2XKFEqUCOfLW0SkoITzU3Ba96ATSBzatGkTkyZNYvbs2dSuXTvoOCIigVN3vYReWloa77zzDlWqVGHGjBkq8CIiPhV5CbUDBw7Qs2dPxowZw/79+4OOIyISV1TkJbQOHDhAly5dSEtLY8KECZQrVy7oSCIicSWc++SlyHPOUapUKW6++Wa6d++ug+xERLKhlryEzrp162jZsiWrV6/mhhtuUIEXEclBOIv8Q9ODTiABWbVqFa1bt+aaa66hXr16QccREYlr4SzyI5YFnUAC4JyjR48ePProozz22GP6JTkRkTyon1NCYfHixTRu3JgZM2ZQvnz5oOOIiIRCOFvyUqRMmjSJiy++mCVLlqjAi4gcg3AW+YHJQSeQQvLhhx9y880388knn9C8efOg44iIhEo4u+tvOivoBFJIVq5cydSpU2natGnQUUREQsecc0FnOCZWy5xbF67Mcmycc7z00ku0bt2aiy66KOg4IiKBMrMFzrkW+blvOLvrJWE553jkkUcYPnw4DRo0CDqOiEiohbO7XhLWE088wVdffcWsWbOoUqVK0HFEREJN3fUSFw4cOADA2rVrqVGjho6iFxHxqbteQm3Xrl1cccUVDB48mIYNG6rAi4gUkHAW+epvBJ1ACsiWLVvo0KEDJ598Mvfee2/QcUREEko4i7wkjPfff5/27dvzzjvvULx48aDjiIgkFB14J4H4+eefWbt2Lffee6+uQS8iEiNqyUuhW7hwIe3ateOXX35RgRcRiaFwtuQ39Qk6geTT3Llzufrqqxk0aBBdu3YNOo6ISEILZ5GXUHLOUbNmTUaNGkWHDh2CjiMikvBU5KVQjB49mi+++IKhQ4fSsGHDoOOIiBQJKvISc4MGDeLZZ59l0qRJQUcRESlSVOQlpr766isGDhzIrFmz1IIXESlkKvISE+np6SxbtoyLLrqI77//nooVKwYdSUSkyAnnKXTDlwSdQHJx6NAhevfuzQMPPACgAi8iEpBwFvmHZwadQHKwf/9+unbtyoYNG/j00091HryISIDCWeQlbm3ZsoX69evz6aefUq5cuaDjiIgUaSryUiA2bdrEgw8+SI0aNXj11VcpVapU0JFERIq8cBb5G5sEnUAirFmzhrZt21K2bFlKlNCxnCIi8cKcc0FnOCZWy5xbF67MiWz79u2cc8453HvvvTz88MNBxxERSThmtsA51yI/91WzS/Jtz549VKpUiY8//phzzz036DgiIpJFOLvrJXCzZs2icePGbN26VQVeRCROqcjLMfvss8+49tpr+cc//kGVKlWCjiMiIjlQd70ck9TUVJ57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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "# Pertama-tama, gabungkan semua False Positive Rates\n", + "all_fpr = np.unique(np.concatenate([fpr[i] for i in range(n_classes)]))\n", + "\n", + "# Kemudian interpolasi semua kurva ROC pada titik ini\n", + "mean_tpr = np.zeros_like(all_fpr)\n", + "for i in range(n_classes):\n", + " mean_tpr += interp(all_fpr, fpr[i], tpr[i])\n", + "\n", + "# Terakhir, rata-rata dan hitung AUC\n", + "mean_tpr /= n_classes\n", + "\n", + "fpr[\"macro\"] = all_fpr\n", + "tpr[\"macro\"] = mean_tpr\n", + "roc_auc[\"macro\"] = auc(fpr[\"macro\"], tpr[\"macro\"])\n", + "\n", + "# Plot semua kurva ROC\n", + "plt.figure(figsize=(8, 8))\n", + "plt.plot(fpr[\"micro\"], tpr[\"micro\"],\n", + " label='micro-average ROC curve (area = {0:0.2f})'\n", + " ''.format(roc_auc[\"micro\"]),\n", + " color='deeppink', linestyle=':', linewidth=4)\n", + "\n", + "plt.plot(fpr[\"macro\"], tpr[\"macro\"],\n", + " label='macro-average ROC curve (area = {0:0.2f})'\n", + " ''.format(roc_auc[\"macro\"]),\n", + " color='navy', linestyle=':', linewidth=4)\n", + "\n", + "colors = cycle(['orange', 'green', 'blue'])\n", + "for i, color in zip(range(n_classes), colors):\n", + " plt.plot(fpr[i], tpr[i], color=color, lw=lw,\n", + " label='ROC curve of class {0} (area = {1:0.2f})'\n", + " ''.format(i, roc_auc[i]))\n", + "\n", + "plt.plot([0, 1], [0, 1], 'k--', lw=lw)\n", + "plt.xlim([0.0, 1.0])\n", + "plt.ylim([0.0, 1.05])\n", + "plt.xlabel('False Positive Rate')\n", + "plt.ylabel('True Positive Rate')\n", + "plt.title('Some extension of Receiver operating characteristic to multi-class')\n", + "plt.legend(loc=\"lower right\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lKkrHktRoM4f" + }, + "source": [ + "## E. GRU" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "NyU-50cMoTsb" + }, + "outputs": [], + "source": [ + "# Define the GRU model\n", + "def create_model_BiGRU():\n", + " model = Sequential()\n", + " model.add(Bidirectional(GRU(128, return_sequences=False, input_shape=(40, 1))))\n", + " model.add(Dense(64))\n", + " model.add(Dropout(0.4))\n", + " model.add(Activation('relu'))\n", + " model.add(Dense(32))\n", + " model.add(Dropout(0.4))\n", + " model.add(Activation('relu'))\n", + " model.add(Dense(2))\n", + " model.add(Activation('softmax'))\n", + " \n", + " # Configures the model for training\n", + " model.compile(loss='categorical_crossentropy', optimizer='Adam', metrics=['accuracy'])\n", + " return model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "IsMVZx4pIpsh" + }, + "outputs": [], + "source": [ + "model_BiGRU = create_model_BiGRU()\n", + "model_BiGRU.build(input_shape=(None ,40, 1))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "Y62TmloKDe7D", + "outputId": "d52a3899-0e26-4423-fc89-c9f10d969112" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 32 + } + ], + "source": [ + "tf.keras.utils.plot_model(model_BiGRU, show_shapes=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "DZC76D2KopLR", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c2b7db27-4d57-4f5a-fc0a-95667a53c12b" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Epoch 1/100\n", + "25/25 [==============================] - 7s 118ms/step - loss: 0.7162 - accuracy: 0.5525 - val_loss: 0.6273 - val_accuracy: 0.7350\n", + "Epoch 2/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.5519 - accuracy: 0.7362 - val_loss: 0.5160 - val_accuracy: 0.7700\n", + "Epoch 3/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.4719 - accuracy: 0.7987 - val_loss: 0.4638 - val_accuracy: 0.7900\n", + "Epoch 4/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.4491 - accuracy: 0.8100 - val_loss: 0.5022 - val_accuracy: 0.8200\n", + "Epoch 5/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.4031 - accuracy: 0.8475 - val_loss: 0.4076 - val_accuracy: 0.8250\n", + "Epoch 6/100\n", + "25/25 [==============================] - 1s 57ms/step - loss: 0.3765 - accuracy: 0.8575 - val_loss: 0.3962 - val_accuracy: 0.8400\n", + "Epoch 7/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.3501 - accuracy: 0.8737 - val_loss: 0.3714 - val_accuracy: 0.8500\n", + "Epoch 8/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.3400 - accuracy: 0.8825 - val_loss: 0.4636 - val_accuracy: 0.8400\n", + "Epoch 9/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.3583 - accuracy: 0.8813 - val_loss: 0.3804 - val_accuracy: 0.8750\n", + "Epoch 10/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.2930 - accuracy: 0.9062 - val_loss: 0.2661 - val_accuracy: 0.9000\n", + "Epoch 11/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.2774 - accuracy: 0.9150 - val_loss: 0.2322 - val_accuracy: 0.9250\n", + "Epoch 12/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.2482 - accuracy: 0.9225 - val_loss: 0.1905 - val_accuracy: 0.9300\n", + "Epoch 13/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.2354 - accuracy: 0.9250 - val_loss: 0.1434 - val_accuracy: 0.9450\n", + "Epoch 14/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.1966 - accuracy: 0.9375 - val_loss: 0.1184 - val_accuracy: 0.9550\n", + "Epoch 15/100\n", + "25/25 [==============================] - 2s 63ms/step - loss: 0.1737 - accuracy: 0.9438 - val_loss: 0.1303 - val_accuracy: 0.9550\n", + "Epoch 16/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.1584 - accuracy: 0.9538 - val_loss: 0.1612 - val_accuracy: 0.9300\n", + "Epoch 17/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.1678 - accuracy: 0.9475 - val_loss: 0.1233 - val_accuracy: 0.9600\n", + "Epoch 18/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.1497 - accuracy: 0.9513 - val_loss: 0.1085 - val_accuracy: 0.9600\n", + "Epoch 19/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.1465 - accuracy: 0.9538 - val_loss: 0.2445 - val_accuracy: 0.8900\n", + "Epoch 20/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.1884 - accuracy: 0.9450 - val_loss: 0.1884 - val_accuracy: 0.9300\n", + "Epoch 21/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.1411 - accuracy: 0.9613 - val_loss: 0.1124 - val_accuracy: 0.9550\n", + "Epoch 22/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.1247 - accuracy: 0.9625 - val_loss: 0.0845 - val_accuracy: 0.9700\n", + "Epoch 23/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.1300 - accuracy: 0.9525 - val_loss: 0.1638 - val_accuracy: 0.9400\n", + "Epoch 24/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.1332 - accuracy: 0.9613 - val_loss: 0.1487 - val_accuracy: 0.9450\n", + "Epoch 25/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.1125 - accuracy: 0.9700 - val_loss: 0.0699 - val_accuracy: 0.9750\n", + "Epoch 26/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0964 - accuracy: 0.9712 - val_loss: 0.0546 - val_accuracy: 0.9750\n", + "Epoch 27/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.1295 - accuracy: 0.9563 - val_loss: 0.0975 - val_accuracy: 0.9600\n", + "Epoch 28/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.1223 - accuracy: 0.9625 - val_loss: 0.0972 - val_accuracy: 0.9550\n", + "Epoch 29/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.1215 - accuracy: 0.9613 - val_loss: 0.0825 - val_accuracy: 0.9600\n", + "Epoch 30/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0901 - accuracy: 0.9725 - val_loss: 0.0486 - val_accuracy: 0.9850\n", + "Epoch 31/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0981 - accuracy: 0.9638 - val_loss: 0.1641 - val_accuracy: 0.9200\n", + "Epoch 32/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.1131 - accuracy: 0.9563 - val_loss: 0.0882 - val_accuracy: 0.9650\n", + "Epoch 33/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0744 - accuracy: 0.9737 - val_loss: 0.0814 - val_accuracy: 0.9550\n", + "Epoch 34/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0833 - accuracy: 0.9787 - val_loss: 0.1329 - val_accuracy: 0.9650\n", + "Epoch 35/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.1251 - accuracy: 0.9575 - val_loss: 0.1001 - val_accuracy: 0.9450\n", + "Epoch 36/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0963 - accuracy: 0.9750 - val_loss: 0.0545 - val_accuracy: 0.9800\n", + "Epoch 37/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0757 - accuracy: 0.9737 - val_loss: 0.0577 - val_accuracy: 0.9850\n", + "Epoch 38/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0633 - accuracy: 0.9800 - val_loss: 0.0986 - val_accuracy: 0.9650\n", + "Epoch 39/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0702 - accuracy: 0.9787 - val_loss: 0.1083 - val_accuracy: 0.9600\n", + "Epoch 40/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0934 - accuracy: 0.9762 - val_loss: 0.0567 - val_accuracy: 0.9850\n", + "Epoch 41/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.0766 - accuracy: 0.9750 - val_loss: 0.0457 - val_accuracy: 0.9800\n", + "Epoch 42/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0764 - accuracy: 0.9750 - val_loss: 0.1203 - val_accuracy: 0.9650\n", + "Epoch 43/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0641 - accuracy: 0.9787 - val_loss: 0.0335 - val_accuracy: 0.9850\n", + "Epoch 44/100\n", + "25/25 [==============================] - 2s 64ms/step - loss: 0.0673 - accuracy: 0.9800 - val_loss: 0.0599 - val_accuracy: 0.9750\n", + "Epoch 45/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0460 - accuracy: 0.9862 - val_loss: 0.0293 - val_accuracy: 0.9850\n", + "Epoch 46/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0522 - accuracy: 0.9812 - val_loss: 0.0317 - val_accuracy: 0.9850\n", + "Epoch 47/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0444 - accuracy: 0.9825 - val_loss: 0.0245 - val_accuracy: 0.9900\n", + "Epoch 48/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0430 - accuracy: 0.9850 - val_loss: 0.0203 - val_accuracy: 0.9950\n", + "Epoch 49/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0671 - accuracy: 0.9750 - val_loss: 0.1684 - val_accuracy: 0.9600\n", + "Epoch 50/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0560 - accuracy: 0.9750 - val_loss: 0.0633 - val_accuracy: 0.9750\n", + "Epoch 51/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0388 - accuracy: 0.9887 - val_loss: 0.0257 - val_accuracy: 0.9950\n", + "Epoch 52/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0317 - accuracy: 0.9912 - val_loss: 0.0489 - val_accuracy: 0.9850\n", + "Epoch 53/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0254 - accuracy: 0.9912 - val_loss: 0.0399 - val_accuracy: 0.9850\n", + "Epoch 54/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0627 - accuracy: 0.9825 - val_loss: 0.2258 - val_accuracy: 0.9500\n", + "Epoch 55/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0522 - accuracy: 0.9850 - val_loss: 0.0482 - val_accuracy: 0.9850\n", + "Epoch 56/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.0344 - accuracy: 0.9925 - val_loss: 0.1025 - val_accuracy: 0.9700\n", + "Epoch 57/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0527 - accuracy: 0.9825 - val_loss: 0.0224 - val_accuracy: 0.9900\n", + "Epoch 58/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0526 - accuracy: 0.9775 - val_loss: 0.1285 - val_accuracy: 0.9700\n", + "Epoch 59/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0475 - accuracy: 0.9825 - val_loss: 0.0840 - val_accuracy: 0.9850\n", + "Epoch 60/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0445 - accuracy: 0.9837 - val_loss: 0.1239 - val_accuracy: 0.9550\n", + "Epoch 61/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0355 - accuracy: 0.9900 - val_loss: 0.1234 - val_accuracy: 0.9700\n", + "Epoch 62/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0445 - accuracy: 0.9812 - val_loss: 0.1124 - val_accuracy: 0.9700\n", + "Epoch 63/100\n", + "25/25 [==============================] - 1s 58ms/step - loss: 0.0383 - accuracy: 0.9900 - val_loss: 0.0753 - val_accuracy: 0.9650\n", + "Epoch 64/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0365 - accuracy: 0.9862 - val_loss: 0.0772 - val_accuracy: 0.9750\n", + "Epoch 65/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0345 - accuracy: 0.9862 - val_loss: 0.1063 - val_accuracy: 0.9700\n", + "Epoch 66/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.0266 - accuracy: 0.9925 - val_loss: 0.0663 - val_accuracy: 0.9700\n", + "Epoch 67/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0274 - accuracy: 0.9937 - val_loss: 0.0642 - val_accuracy: 0.9800\n", + "Epoch 68/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0248 - accuracy: 0.9900 - val_loss: 0.0289 - val_accuracy: 0.9900\n", + "Epoch 69/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.0214 - accuracy: 0.9950 - val_loss: 0.0804 - val_accuracy: 0.9750\n", + "Epoch 70/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0158 - accuracy: 0.9950 - val_loss: 0.1147 - val_accuracy: 0.9700\n", + "Epoch 71/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0136 - accuracy: 0.9962 - val_loss: 0.1413 - val_accuracy: 0.9750\n", + "Epoch 72/100\n", + "25/25 [==============================] - 3s 113ms/step - loss: 0.0228 - accuracy: 0.9900 - val_loss: 0.1420 - val_accuracy: 0.9650\n", + "Epoch 73/100\n", + "25/25 [==============================] - 3s 103ms/step - loss: 0.0231 - accuracy: 0.9937 - val_loss: 0.1359 - val_accuracy: 0.9700\n", + "Epoch 74/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0149 - accuracy: 0.9962 - val_loss: 0.0673 - val_accuracy: 0.9800\n", + "Epoch 75/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.0247 - accuracy: 0.9950 - val_loss: 0.0931 - val_accuracy: 0.9650\n", + "Epoch 76/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0055 - accuracy: 1.0000 - val_loss: 0.0614 - val_accuracy: 0.9850\n", + "Epoch 77/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0042 - accuracy: 1.0000 - val_loss: 0.0785 - val_accuracy: 0.9650\n", + "Epoch 78/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0038 - accuracy: 0.9987 - val_loss: 0.0788 - val_accuracy: 0.9700\n", + "Epoch 79/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0039 - accuracy: 0.9987 - val_loss: 0.0824 - val_accuracy: 0.9700\n", + "Epoch 80/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0054 - accuracy: 0.9975 - val_loss: 0.0733 - val_accuracy: 0.9750\n", + "Epoch 81/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0042 - accuracy: 0.9987 - val_loss: 0.0457 - val_accuracy: 0.9800\n", + "Epoch 82/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0022 - accuracy: 1.0000 - val_loss: 0.0631 - val_accuracy: 0.9800\n", + "Epoch 83/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0032 - accuracy: 0.9987 - val_loss: 0.1135 - val_accuracy: 0.9700\n", + "Epoch 84/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0104 - accuracy: 0.9950 - val_loss: 0.1972 - val_accuracy: 0.9600\n", + "Epoch 85/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0648 - accuracy: 0.9825 - val_loss: 0.0586 - val_accuracy: 0.9700\n", + "Epoch 86/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0610 - accuracy: 0.9712 - val_loss: 0.0622 - val_accuracy: 0.9700\n", + "Epoch 87/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0438 - accuracy: 0.9850 - val_loss: 0.0597 - val_accuracy: 0.9750\n", + "Epoch 88/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0233 - accuracy: 0.9912 - val_loss: 0.0535 - val_accuracy: 0.9750\n", + "Epoch 89/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0244 - accuracy: 0.9887 - val_loss: 0.2603 - val_accuracy: 0.9400\n", + "Epoch 90/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.1068 - accuracy: 0.9663 - val_loss: 0.1615 - val_accuracy: 0.9500\n", + "Epoch 91/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0773 - accuracy: 0.9787 - val_loss: 0.1007 - val_accuracy: 0.9550\n", + "Epoch 92/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0293 - accuracy: 0.9875 - val_loss: 0.0903 - val_accuracy: 0.9600\n", + "Epoch 93/100\n", + "25/25 [==============================] - 1s 59ms/step - loss: 0.0494 - accuracy: 0.9850 - val_loss: 0.0950 - val_accuracy: 0.9600\n", + "Epoch 94/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0390 - accuracy: 0.9825 - val_loss: 0.1126 - val_accuracy: 0.9650\n", + "Epoch 95/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.0131 - accuracy: 0.9962 - val_loss: 0.0764 - val_accuracy: 0.9750\n", + "Epoch 96/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0207 - accuracy: 0.9925 - val_loss: 0.0938 - val_accuracy: 0.9750\n", + "Epoch 97/100\n", + "25/25 [==============================] - 1s 60ms/step - loss: 0.0571 - accuracy: 0.9850 - val_loss: 0.0605 - val_accuracy: 0.9800\n", + "Epoch 98/100\n", + "25/25 [==============================] - 2s 61ms/step - loss: 0.0346 - accuracy: 0.9887 - val_loss: 0.0920 - val_accuracy: 0.9650\n", + "Epoch 99/100\n", + "25/25 [==============================] - 2s 60ms/step - loss: 0.0207 - accuracy: 0.9925 - val_loss: 0.0486 - val_accuracy: 0.9800\n", + "Epoch 100/100\n", + "25/25 [==============================] - 2s 62ms/step - loss: 0.0135 - accuracy: 0.9937 - val_loss: 0.0432 - val_accuracy: 0.9800\n" + ] + } + ], + "source": [ + "### train using GRU model\n", + "model_B = create_model_BiGRU()\n", + "# history = model_B.fit(np.expand_dims(heart_sound_data_array[:training_samples],-1), labels_categorical[:training_samples], validation_data=(np.expand_dims(heart_sound_data_array[training_samples:training_samples+validation_samples], -1), labels_categorical[training_samples:training_samples+validation_samples]), epochs=50, shuffle=True)\n", + "history = model_B.fit(np.expand_dims(x_train, -1),\n", + " y = y_train,\n", + " validation_data = (np.expand_dims(x_test, -1), y_test), \n", + " epochs = 100, \n", + " shuffle=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2_l2sgmXYHbA", + "outputId": "afa8376d-04d0-493a-9d9e-1bc1d8404522" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model: \"sequential_3\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " bidirectional_3 (Bidirectio (None, 256) 100608 \n", + " nal) \n", + " \n", + " dense_9 (Dense) (None, 64) 16448 \n", + " \n", + " dropout_6 (Dropout) (None, 64) 0 \n", + " \n", + " activation_9 (Activation) (None, 64) 0 \n", + " \n", + " dense_10 (Dense) (None, 32) 2080 \n", + " \n", + " dropout_7 (Dropout) (None, 32) 0 \n", + " \n", + " activation_10 (Activation) (None, 32) 0 \n", + " \n", + " dense_11 (Dense) (None, 2) 66 \n", + " \n", + " activation_11 (Activation) (None, 2) 0 \n", + " \n", + "=================================================================\n", + "Total params: 119,202\n", + "Trainable params: 119,202\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "model_B.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 295 + }, + "id": "ttjhitGtoaib", + "outputId": "644db387-d6f5-4fba-fc83-e4b357153e20" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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MQcMgD/8Ifz21q1bM2zYMN566y0mTJjAvHnz+M53voOIMGvWLFq3bs3Jkye54IILWLt2Lf369Qt5nFWrVjFv3jzWrFlDQUEBgwYNYvDgwQBcddVV3HLLLQD87Gc/429/+xt33XUX48eP57LLLmPixIkBxzp27BhTpkzhnXfeoWfPntxwww38+c9/5gc/+AEASUlJrF69mieffJJHH32Up59+Ouz1VXW6avMIDMOoEfg3D/k3C7300ksMGjSIgQMHsn79+oBmnGDef/99rrzyShITE2nRogXjxxcnOVi3bh2jRo2ib9++ZGRksH79+rDHAdi0aRNdunShZ8+eANx4440sXbq0aPtVV10FwODBg4sS1YVj2bJlTJ48GQidrvqJJ57g4MGD1K9fn6FDh/LMM88wc+ZMPv/8c5o3bx7x2NFgHoFhGGUi0pN7PJkwYQL33HMPq1evJi8vj8GDB/PVV1/x6KOPsmLFCk455RSmTJkSNv10aUyZMoVXX32V/v378+yzz7JkyZIK2eulsq5IGuvp06czbtw4FixYwMiRI1m4cGFRuuo333yTKVOmcO+993LDDTdUyFbzCAzDqBE0a9aM8847j5tuuqnIGzh06BBNmzalZcuW7N27l7feeiviMc455xxeffVVjh49yuHDh3n99deLth0+fJiUlBROnDhRlDoaoHnz5hw+fLjEsXr16sX27dvZsmULAM8//zznnntuua6tqtNVm0dgGEaNYdKkSVx55ZVFTURe2ubevXvTqVMnRo4cGXH/QYMGce2119K/f39OPfVUhg4dWrTtkUceYfjw4SQnJzN8+PCiyv+6667jlltu4YknnigKEgM0btyYZ555hmuuuYaCggKGDh3KbbfdVq7r8uZS7tevH4mJiQHpqt99913q1avH6aefztixY5k3bx6/+93vaNCgAc2aNYvJBDaWdM4wjFKxpHM1C0s6F4Ynn4RTT4Uw05gahmHUWeqMENSvD9nZsHdvVVtiGIZRvagzQpCS4t6//rpq7TCMmkpNa0auq5TnPtUZIWjf3r3v3l21dhhGTaRx48bk5OSYGFRzVJWcnBwaN25cpv3qTK8hTwjMIzCMstOxY0d27txJdnZ2VZtilELjxo3p2LFjmfaJqxCIyBjg/4AE4GlV/XWIMt8BZgIKfKaq18fDllNPhXr1zCMwjPLQoEEDunTp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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "### loss plots using GRU model\n", + "loss = history.history['loss']\n", + "val_loss = history.history['val_loss']\n", + "\n", + "epochs = range(1, len(loss) + 1)\n", + "\n", + "plt.plot(epochs, loss, 'ro', label='Training loss')\n", + "plt.plot(epochs, val_loss, 'b', label='Validation loss')\n", + "plt.title('Training and validation loss')\n", + "plt.xlabel('Epochs')\n", + "plt.ylabel('Loss')\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 295 + }, + "id": "AvIklWv8ocSL", + "outputId": "75d2d95f-caf2-4fce-80a7-a52709f62aec" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "### accuracy plots using GRU model\n", + "plt.clf() \n", + "\n", + "acc = history.history['accuracy']\n", + "val_acc = history.history['val_accuracy']\n", + "\n", + "plt.plot(epochs, acc, 'ro', label='Training acc')\n", + "plt.plot(epochs, val_acc, 'b', label='Validation acc')\n", + "plt.title('Training and validation accuracy')\n", + "plt.xlabel('Epochs')\n", + "plt.ylabel('Loss')\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OzLmvhozoeL_", + "outputId": "e91f5a8c-05fb-446b-c670-be04f28e30cc" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 0s 12ms/step - loss: 0.0432 - accuracy: 0.9800\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[0.04317435622215271, 0.9800000190734863]" + ] + }, + "metadata": {}, + "execution_count": 37 + } + ], + "source": [ + "### evaluate using model B\n", + "model_B.evaluate(np.expand_dims(x_test, -1), y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "xjyJWCInogII" + }, + "outputs": [], + "source": [ + "model_B.save_weights(\"Model_GRU.h5\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Gpfco1KHpKjH", + "outputId": "a468ae78-563f-4fb0-df2c-a8e46447aa77" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 1s 16ms/step\n" + ] + } + ], + "source": [ + "y_pred = model_B.predict(np.expand_dims(x_test,-1))\n", + "y_pred = np.argmax(y_pred, axis=1)\n", + "# y_test = np.expand_dims(y_test,-1)\n", + "y_true = np.argmax(y_test, axis=1)\n", + "y_true\n", + "\n", + "conf_heart_sound = confusion_matrix(y_true=y_true, y_pred=y_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 312 + }, + "id": "mLmBllC_pPLe", + "outputId": "9ee0aeec-3cd1-4ea5-c4d3-f4f910584e40" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[Text(0, 0.5, 'healthy'), Text(0, 1.5, 'unhealthy')]" + ] + }, + "metadata": {}, + "execution_count": 40 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "ax = plt.subplot()\n", + "sns.heatmap(conf_heart_sound, annot= True, ax = ax)\n", + "\n", + "ax.set_xlabel('Predict labels')\n", + "ax.set_title('Confusion Matrix')\n", + "ax.xaxis.set_ticklabels(['healthy','unhealthy'])\n", + "ax.yaxis.set_ticklabels(['healthy','unhealthy'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-OZG_ZtKFM9V", + "outputId": "254b51a6-d74e-4b02-8169-8089c19d4a95" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 0s 13ms/step\n", + " precision recall f1-score support\n", + "\n", + " Healthy 1.00 0.96 0.98 98\n", + " Unhealthy 0.96 1.00 0.98 102\n", + "\n", + " accuracy 0.98 200\n", + " macro avg 0.98 0.98 0.98 200\n", + "weighted avg 0.98 0.98 0.98 200\n", + "\n" + ] + } + ], + "source": [ + "# Menampilkan nilai presisi, recall, dan F1-score\n", + "pred_B = model_B.predict(np.expand_dims(x_test, -1))\n", + "modelB_predicted = np.argmax(pred_B, axis = 1)\n", + "\n", + "File=[\"Healthy\", \"Unhealthy\"]\n", + "print(classification_report(y_test.argmax(axis=1), modelB_predicted, target_names=File))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "19gCQYX5KoJw", + "outputId": "b71071ad-44c5-416c-a6d8-8398b2ad5fd0" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "7/7 [==============================] - 0s 13ms/step\n" + ] + } + ], + "source": [ + "# Menampilkan kurva AUC-ROC\n", + "Y_pred = model_B.predict(np.expand_dims(x_test, -1))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "6zV-aZPrLEqu" + }, + "outputs": [], + "source": [ + "n_classes = 2\n", + "lw = 2\n", + "Y_val = y_test\n", + "fpr = dict()\n", + "tpr = dict()\n", + "roc_auc = dict()\n", + "for i in range(n_classes):\n", + " fpr[i], tpr[i], _ = roc_curve(Y_val[:, i], Y_pred[:, i])\n", + " roc_auc[i] = auc(fpr[i], tpr[i])\n", + "\n", + "# Compute micro-average ROC curve and ROC area\n", + "fpr[\"micro\"], tpr[\"micro\"], _ = roc_curve(Y_val.ravel(), Y_pred.ravel())\n", + "roc_auc[\"micro\"] = auc(fpr[\"micro\"], tpr[\"micro\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "hAbZB7SPLMbc", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 548 + }, + "outputId": "46df7a42-fee6-4a1e-aefb-55fc9072f02c" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + ":7: DeprecationWarning: scipy.interp is deprecated and will be removed in SciPy 2.0.0, use numpy.interp instead\n", + " mean_tpr += interp(all_fpr, fpr[i], tpr[i])\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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vXv35uOPP6ZUqVKMGjWKVq1aBR0pUzomLyIicoh69epFlSpV+PLLLwtsgYewnkKnu9CJiEg+S0tLo0iRv7aNd+zYQenSpWM+X51CJyIiEkN//PEHp59+OjNnzkzvlx8F/nCpyIuIiGTj559/pnHjxvzwww/cf//9hGkPeDiL/G1Tgk4gIiKFwNy5c2nSpAmrVq2icePGjBo1qkBc5CZa4Szy7/4UdAIREYlz06ZNo0WLFmzatIn27dszceJEypcvH3SsQxLOIi8iIhJDo0ePpl27duzYsYNLL72UUaNGccQRRwQd65CpyIuIiGRQtGhRUlNTueGGG9IveBNG4bwYzoDmQScQEZE4dsEFFzB37lwaNmwYqmPwGYVzS77vSUEnEBGROOKc45FHHuHLL79M73fKKaeEusBDWLfkRURE8khaWho33XQTL7/8MuXKleP3338PXQO7rKjIi4hIoZWSksIVV1zBBx98QPHixRkyZEjcFHhQkRcRkUJq165ddO/enbFjx1K6dGn++9//0rJly6Bj5SkVeRERKXS2bt1Kp06dmDlzJhUrVmT8+PGceeaZQcfKcyryIiJS6Pz44498++23VK9enUmTJnHiiScGHSkmwnkXupSXYGP/oKOIiEiIjRs3jn/84x/UqlUr6CjZOpy70GlLXkRECoWffvqJVatW0aZNG8A7Fz7ehfM8eRERkUMwZ84cmjRpwoUXXsh3330XdJx8oyIvIiJxbcqUKbRs2ZI///yTli1bxu3x98yEs8jreLyIiERh1KhRtG/fnh07dtCrVy8+++yzUN5oJrfCWeRFRERy8M4773DRRRexb98++vfvz7vvvkuxYsWCjpWvVORFRCTurFu3jv79+5OWlsaDDz7IwIEDKVKk8JU8ta4XEZG4U7VqVT7++GN+/fVXbrrppqDjBCac58mvCVdmERGJvdTUVBYsWECjRo2CjpKnDuc8+cK370JEROLOvn376N27N+ecc85Bt4st7MJZ5IctCjqBiIgUELt27aJLly4MHz6cEiVKkJCQEHSkAiOcRf72aUEnEBGRAmDr1q20adOGCRMmUKlSJaZOnUrz5s2DjlVgqOGdiIiE0rp162jXrh3z58+nZs2aTJw4kfr16wcdq0AJ55a8iIgUamlpaVxwwQXMnz+fevXqMXPmTBX4TISzyPdpEHQCEREJUJEiRXj2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5GR69OhBixYtgo4kAQtnkRcRkYO8++67dOvWjb1793Ldddfx/vvvU7x48aBjScBU5EVEQm7gwIH07duX1NRU/u///o9XX32VhISEoGNJARDOY/IiIgJ4p8g99dRTADz33HPcfvvtASeSgkRFXkQkxMqXL8/EiROZN28effv2DTqOFDC61ayISMikpKTwxRdf0LFjx6CjSD4ofLeaPX940AlERAKxe/duunXrRqdOnXjzzTeDjiMFXDh31y/YGHQCEZF8t23bNjp37syMGTOoUKECDRs2DDqSFHDhLPIiIoXMhg0baNeuHd9//z3Vq4gVZ54AACAASURBVFdn4sSJNGigC4NJ9lTkRUQKuBUrVtCmTRt++eUXjj/+eCZNmkTt2rWDjiUhEM5j8pO7B51ARCRfOOfo3bs3v/zyC6eeeiozZ85UgZeohbPIn1Il6AQiIvnCzHjrrbfo2rUrU6dO5aijjgo6koSITqETESmAVqxYQa1atYKOIQVA4TuFTkQkjv33v/+lXr16vPjii0FHkZBTkRcRKUCGDh3KRRddxN69e1m6dClh29sqBYuKvIhIAfHCCy9wxRVXkJqayv33389LL72EmQUdS0IsnEV+/oagE4iI5BnnHA888AC33norAP/5z3949NFHVeDlsIWzyLcaEXQCEZE88/jjj/PYY4+RkJDAkCFDuOWWW4KOJHEinEVeRCSO9O7dmzp16vDJJ59w+eWXBx1H4oiueCciEoB9+/ZRvHhxAOrUqcPPP/+c3i2SV8K5Jd+wctAJRERybevWrZx//vk8/fTT6f1U4CUWdDEcEZF8tH79etq2bcv8+fOpUaMGixYtoly5ckHHkgJMF8MREQmB33//naSkJObPn0/dunWZOXOmCrzElIq8iEg++Omnn0hKSuLXX39Nv9GMLlsrsaYiLyISY/PmzaNJkyasXr2aJk2aMG3aNKpU0Y22JPbUul5EJMYqV65MqVKlOO+88xgxYgQlS5YMOpIUEmp4JyKSD1auXEnVqlUpVqxY0FEkZApfw7vbpgSdQEQkW++88w6PPPJIenfNmjVV4CXfhbPIv/tT0AlERLI0YMAArrrqKh588EG++eaboONIIRbOIi8iUgA557jvvvu44447AHjxxRc5++yzA04lhZka3omI5IHU1FRuvPFGBg8eTEJCAu+88w59+vQJOpYUcuEs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EhHJVDh314vkM+ccjz32GE2aNElvPV+0aFEVeBEp0MJZ5Ps0CDqBFCJpaWncdtttPPDAA8ydO5dp06YFHUlEJCrh3F3/fMugE0ghsX//fq655hqGDh1KsWLFeP/99+nUqVPQsUREohLOIi+SD/bs2cOll17Kf//7X4444gg+++wz2rRpE3QsEZGoqciLZGLXrl107NiRqVOncuSRRzJ27FjOPffcoGOJiByScB6TF4mxkiVLUqdOHY4++mhmzJihAi8ioRTO8+R1FzrJB6mpqaxbt47q1asHHUVECjHdhU4kD/zyyy907tyZrVu3ApCQkKACLyKhFs4if/7woBNInJk3bx5JSUl8/vnn/Pvf/w46johInghnkV+wMegEEkdmzJhBixYt2LhxI23atOHJJ58MOpKISJ4IZ5EXySNjxoyhbdu2bN++ne7du/P5559TqlSpoGOJiOQJFXkptN5//30uvPBC9uzZQ79+/fjggw8oXrx40LFERPJMOIv85O5BJ5A4MHv2bFJTU7n33nt57bXXdCc5EYk7OoVOCq20tDTGjRtHx44dg44iIpIlnUInEoW0tDSeeuopNm3aBECRIkVU4EUkrqnIS6GQkpLCFVdcwb333kvXrl0J2x4sEZHc0LXrJe7t3r2bHj16pLecf/DBB3UfeBEpFFTkJa5t27aNLl26MH36dCpUqMC4ceM4++yzg44lIpIvwrm7fv6GoBNICGzYsIEWLVowffp0qlWrxowZM1TgRaRQCWeRbzUi6AQSAkOGDOH777/nuOOOY9asWfzjH/8IOpKISL7S7nqJW3feeSd79+7l2muvpWrVqkHHERHJd+HckhfJwvfff8/69esBMDMeeOABFXgRKbTCWeQbVg46gRRA06ZNo1mzZrRt25Zt27YFHUdEJHDhLPJf9gg6gRQwo0ePpl27diQnJ3PiiSdSsmTJoCOJiAQunEVeJMKwYcPo1q0be/fu5YYbbuC9997TjWZERFCRl5B78cUXufzyy0lNTeX+++/n5Zdf1o1mRER8al0voTVlyhRuueUWAJ5//nluvfXWgBOJiBQsugudhJZzjltuuYVGjRpxxRVXBB1HRCQmDucudCryEiopKSls2bKFKlWqBB1FRCRfFL5bzd42JegEEoBdu3bRtWtXWrRowebNm4OOIyJS4IWzyL/7U9AJJJ9t3bqVtm3b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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "# Pertama-tama, gabungkan semua False Positive Rates\n", + "all_fpr = np.unique(np.concatenate([fpr[i] for i in range(n_classes)]))\n", + "\n", + "# Kemudian interpolasi semua kurva ROC pada titik ini\n", + "mean_tpr = np.zeros_like(all_fpr)\n", + "for i in range(n_classes):\n", + " mean_tpr += interp(all_fpr, fpr[i], tpr[i])\n", + "\n", + "# Terakhir, rata-rata dan hitung AUC\n", + "mean_tpr /= n_classes\n", + "\n", + "fpr[\"macro\"] = all_fpr\n", + "tpr[\"macro\"] = mean_tpr\n", + "roc_auc[\"macro\"] = auc(fpr[\"macro\"], tpr[\"macro\"])\n", + "\n", + "# Plot semua kurva ROC\n", + "plt.figure(figsize=(8, 8))\n", + "plt.plot(fpr[\"micro\"], tpr[\"micro\"],\n", + " label='micro-average ROC curve (area = {0:0.2f})'\n", + " ''.format(roc_auc[\"micro\"]),\n", + " color='deeppink', linestyle=':', linewidth=4)\n", + "\n", + "plt.plot(fpr[\"macro\"], tpr[\"macro\"],\n", + " label='macro-average ROC curve (area = {0:0.2f})'\n", + " ''.format(roc_auc[\"macro\"]),\n", + " color='navy', linestyle=':', linewidth=4)\n", + "\n", + "colors = cycle(['orange', 'green', 'blue'])\n", + "for i, color in zip(range(n_classes), colors):\n", + " plt.plot(fpr[i], tpr[i], color=color, lw=lw,\n", + " label='ROC curve of class {0} (area = {1:0.2f})'\n", + " ''.format(i, roc_auc[i]))\n", + "\n", + "plt.plot([0, 1], [0, 1], 'k--', lw=lw)\n", + "plt.xlim([0.0, 1.0])\n", + "plt.ylim([0.0, 1.05])\n", + "plt.xlabel('False Positive Rate')\n", + "plt.ylabel('True Positive Rate')\n", + "plt.title('Some extension of Receiver operating characteristic to multi-class')\n", + "plt.legend(loc=\"lower right\")\n", + "plt.show()" + ] + } + ], + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [ + "rbKryB-2iD4V" + ], + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/assignment-01/H071181301/Main.java b/assignment-01/H071181301/Main.java new file mode 100644 index 0000000..350a26a --- /dev/null +++ b/assignment-01/H071181301/Main.java @@ -0,0 +1,22 @@ +public class Main { + public static void main(String[] args) { + SingleLinkedList str = new SingleLinkedList<>(); + SingleLinkedList str2 = new SingleLinkedList<>(); + + str.isEmpty(); + str.traverse(); + str.append("1"); + str.append("2"); + str.append("3"); + str.append("4"); + str.append("5"); + str2.append("satu"); + str.mergeAppend(str2); + str.traverse(); + str.indexOf("satu"); + str.prependBeforeIndex("6", 0); + str.traverse(); + + } + +} \ No newline at end of file diff --git a/assignment-01/H071181301/Node.java b/assignment-01/H071181301/Node.java new file mode 100644 index 0000000..d2b443f --- /dev/null +++ b/assignment-01/H071181301/Node.java @@ -0,0 +1,24 @@ +public class Node { + private T data; + private Node pointer; + + public Node(T data) { + this.data = data; + } + + public Node getPointer() { + return pointer; + } + + public void setPointer(Node pointer) { + this.pointer = pointer; + } + + public T getData() { + return data; + } + + public boolean hasPointer() { + return pointer != null; + } +} diff --git a/assignment-01/H071181301/SingleLinkedList.java b/assignment-01/H071181301/SingleLinkedList.java new file mode 100644 index 0000000..c0bbc28 --- /dev/null +++ b/assignment-01/H071181301/SingleLinkedList.java @@ -0,0 +1,650 @@ +import java.util.NoSuchElementException; + +public class SingleLinkedList { + private Node head; + private Node tail; + private int size; + + public void append(T data) { + if (head == null) { + head = new Node(data); + size++; + return; + } + if (tail == null) { + tail = new Node(data); + head.setPointer(tail); + size++; + return; + } + Node newNode = new Node(data); + tail.setPointer(newNode); + tail = newNode; + size++; + } + + public void appendAfterData(T data, T after) { + if (head == null) { + head = new Node(data); + size++; + return; + } + if (tail == null) { + tail = new Node(data); + head.setPointer(tail); + size++; + return; + } + + Node node = head; + Node newNode = new Node(data); + + while (node.getPointer() != null) { + if (node.getData() == after) { + newNode.setPointer(node.getPointer()); + node.setPointer(newNode); + size++; + return; + } + if (tail.getData() == after || node.getData() != after) { + append(data); + size++; + return; + } + node = node.getPointer(); + } + } + + public void appendAfterIndex(T data, int index) { + if (head == null) { + head = new Node(data); + size++; + return; + } + if (tail == null) { + tail = new Node(data); + head.setPointer(tail); + size++; + return; + } + + int pos = 0; + Node node = head; + Node newNode = new Node(data); + + while (node.getPointer() != null) { + if (pos == index) { + newNode.setPointer(node.getPointer()); + node.setPointer(newNode); + size++; + return; + } + pos++; + node = node.getPointer(); + } + if ((size - 1) == index || pos != index) { + append(data); + size++; + return; + } + } + + public void appendVarargs(T... datas) { + for (T data : datas) { + append(data); + size++; + } + } + + public void prependVarargs(T... datas) { + for (T data : datas) { + prepend(data); + size++; + } + } + + public void mergeAppend(SingleLinkedList list) { + tail.setPointer(list.head); + tail = list.tail; + size += list.size; + return; + } + + public void mergePrepend(SingleLinkedList list) { + head = list.head; + list.tail.setPointer(list.head); + size += list.size; + return; + } + + public void prepend(T data) { + if (head == null) { + head = new Node(data); + size++; + return; + } + + if (tail == null) { + tail = head; + Node newNode = new Node(data); + newNode.setPointer(tail); + head = newNode; + size++; + return; + } + Node newNode = new Node(data); + newNode.setPointer(head); + head = newNode; + size++; + } + + public void prependBeforeData(T data, T before) { + Node newNode = new Node(data); + + if (head == null) { + head = new Node(data); + size++; + return; + } + if (tail == null) { + tail = head; + newNode.setPointer(tail); + head = newNode; + size++; + return; + } + + Node node = head; + + while (node.getPointer().getPointer() != null) { + if (node.getPointer().getData() == before) { + newNode.setPointer(node.getPointer()); + node.setPointer(newNode); + size++; + return; + } + if (node.getData() == before || node.getData() != before) { + prepend(data); + size++; + return; + } + node = node.getPointer(); + } + } + + public void prependBeforeIndex(T data, int index) { + if (head == null) { + head = new Node(data); + size++; + return; + } + if (tail == null) { + tail = new Node(data); + head.setPointer(tail); + size++; + return; + } + + int pos = 0; + Node node = head; + Node newNode = new Node(data); + + while (node.getPointer().getPointer() != null) { + if ((pos + 1) == index) { + newNode.setPointer(node.getPointer()); + node.setPointer(newNode); + size++; + return; + } + if (0 == index || pos != index) { + prepend(data); + size++; + return; + } + node = node.getPointer(); + pos++; + } + } + + public void removeByData(T data) { + Node node = head; + while (node.getPointer().getPointer() != null) { + if (node.getPointer().getData() == data) { + node.setPointer(node.getPointer().getPointer()); + size--; + return; + } + if (node.getData() == data) { + removeHead(); + } + node = node.getPointer(); + } + if (tail.getData() == data) { + removeTail(); + } + } + + public void removeByIndex(int index) { + int pos = 0; + Node node = head; + while (node.getPointer().getPointer() != null) { + if (index - pos == 1) { + node.setPointer(node.getPointer().getPointer()); + size--; + return; + } + pos++; + node = node.getPointer(); + } + if (0 == index) { + removeHead(); + } + if (size == index) { + removeTail(); + } + if ((size - 1) < index) { + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + } + + public void removeAfterData(T data) { + Node node = head; + while (node.getPointer() != null) { + if (node.getData() == data) { + node.setPointer(node.getPointer().getPointer()); + size--; + return; + } + node = node.getPointer(); + } + if (node.getPointer() == tail) { + node.setPointer(null); + tail = node; + } + } + + public void removeAfterIndex(int index) { + int pos = 0; + Node node = head; + while (node.getPointer().getPointer() != null) { + if (pos == index) { + node.setPointer(node.getPointer().getPointer()); + size--; + return; + } + pos++; + node = node.getPointer(); + } + if (size - index == 2) { + removeTail(); + } + if ((size - 1) < index) { + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + } + + public void removeBeforeData(T data) { + Node node = head; + while (node.getPointer().getPointer() != null) { + if (node.getData() == data) { + node.setPointer(node.getPointer().getPointer()); + size--; + return; + } + node = node.getPointer(); + } + if (head.getData() == data) { + removeHead(); + } + } + + public void removeBeforeIndex(int index) { + Node node = head; + int pos = 0; + + if ((pos + 1) == index) { + head = head.getPointer(); + size--; + return; + } + while (node.getPointer() != null) { + if ((index) - pos == 2) { + node.setPointer(node.getPointer().getPointer()); + size--; + return; + } + node = node.getPointer(); + pos++; + } + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + + public void removeHead() { + if (head == null) { + throw new NoSuchElementException("Empty List"); + } + head = head.getPointer(); + size--; + } + + public void removeTail() { + if (head == null) { + throw new NoSuchElementException("Empty List"); + } else if (tail == null) { + throw new NoSuchElementException("Head"); + } else if (tail == head) { + throw new NoSuchElementException("Head is Tail"); + } + Node node = head; + while (node.getPointer().getPointer() != null) { + node = node.getPointer(); + } + node.setPointer(null); + tail = node; + size--; + } + + public void removeForwardData(T data) { + Node node = head; + int count = 0; + try { + while (node.getData() != data) { + node = node.getPointer(); + count++; + } + node.setPointer(null); + size = count + 1; + } catch (Exception e) { + throw new NoSuchElementException("No Such Element"); + } + } + + public void removeForwardIndex(int index) { + Node node = head; + int pos = 0; + int count = 0; + try { + while (pos != index) { + node = node.getPointer(); + count++; + pos++; + } + node.setPointer(null); + size = count + 1; + } catch (Exception e) { + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + } + + public void removeBackwardData(T data) { + Node node = head; + int count = 0; + try { + while (node.getData() != data) { + node = node.getPointer(); + count++; + } + head = node; + size -= count; + } catch (Exception e) { + throw new NoSuchElementException("No Such Element"); + } + } + + public void removeBackwardIndex(int index) { + int pos = 0; + int count = 0; + Node node = head; + try { + while (pos != index) { + node = node.getPointer(); + count++; + pos++; + } + head = node; + size -= count; + } catch (Exception e) { + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + } + + public void describeNodeData(T data) { + if (head == null) { + throw new NoSuchElementException("Empty List"); + } + if (head.getData() == data) { + System.out.printf("{\n data\t: %s\n index\t: %d\n}\n", head.getData(), 0); + return; + } + if (tail.getData() == data) { + System.out.printf("{\n data\t: %s\n index\t: %d\n}\n", tail.getData(), size - 1); + return; + } + Node node = head; + int index = 0; + while (node.hasPointer()) { + if (node.getData() == data) { + System.out.printf("{\n data\t: %s\n index\t: %d\n}\n", node.getData(), index); + return; + } + node = node.getPointer(); + index++; + } + throw new NoSuchElementException("No Such Element"); + } + + public void describeNodeIndex(int index) { + if (head == null) { + throw new NoSuchElementException("Empty List"); + } + if (0 == index) { + System.out.printf("{\n data\t: %s\n index\t: %d\n}\n", head.getData(), 0); + return; + } + if ((size - 1) == index) { + System.out.printf("{\n data\t: %s\n index\t: %d\n}\n", tail.getData(), size - 1); + return; + } + Node node = head; + int pos = 0; + while (node.hasPointer()) { + if (pos == index) { + System.out.printf("{\n data\t: %s\n index\t: %d\n}\n", node.getData(), pos); + return; + } + node = node.getPointer(); + pos++; + } + throw new NoSuchElementException("No Such Element"); + } + + public int indexOf(T data) { + int pos = 0; + Node node = head; + + while (node.getPointer() != null) { + pos++; + node = node.getPointer(); + if (node.getData() == data) { + System.out.printf("indeks => %s\n", pos); + return pos; + } + } + throw new NoSuchElementException("No Such Element"); + } + + public boolean isEmpty() { + if (size == 0) { + System.out.println("List is Empty"); + return true; + } + System.out.println("List is filled"); + return false; + } + + public void unique() { + } + + public void sort() { + } + + public void updateByData(T data, T newData) { + if (head == null) + throw new NoSuchElementException("Empty List"); + + Node node = head; + Node newNode = new Node(newData); + + if (node.getData() == data) { + head = newNode; + newNode.setPointer(node.getPointer()); + node.setPointer(null); + return; + } + while (node.getPointer().getPointer() != null) { + if (node.getPointer().getData() == data) { + newNode.setPointer(node.getPointer().getPointer()); + node.setPointer(newNode); + return; + } + node = node.getPointer(); + } + if (tail.getData() == data) { + newNode.setPointer(null); + node.setPointer(newNode); + tail = newNode; + return; + } + if (node.getPointer().getData() != data) { + throw new NoSuchElementException("No Such Element"); + } + } + + public void updateByIndex(int index, T newData) { + if (head == null) + throw new NoSuchElementException("Empty List"); + + int pos = 0; + Node node = head; + Node newNode = new Node(newData); + + if (0 == index) { + head = newNode; + newNode.setPointer(node.getPointer()); + node.setPointer(null); + return; + } + while (node.getPointer().getPointer() != null) { + if (index - pos == 1) { + newNode.setPointer(node.getPointer().getPointer()); + node.setPointer(newNode); + return; + } + pos++; + node = node.getPointer(); + } + if ((size - 1) == index) { + newNode.setPointer(null); + node.setPointer(newNode); + tail = newNode; + return; + } + if ((size - 1) < index) + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + + public void clear() { + head = null; + size = 0; + } + + public void traverse() { + if (head == null) { + System.out.println("Empty Linked List"); + return; + } + Node node = head; + while (node.hasPointer()) { + System.out.printf("[%s] -> ", node.getData()); + node = node.getPointer(); + } + System.out.printf("[%s] -> null\n", node.getData()); + } + + public boolean contain(T data) { + Node node = head; + while (node.getPointer() != null) { + node = node.getPointer(); + } + if (node.getData() == data) { + System.out.println("Data is true"); + return true; + } else { + throw new NoSuchElementException("No Such Element"); + } + } + + public T get(int index) { + Node node = head; + int pos = 0; + while (node.getPointer() != null) { + if (pos == index) { + System.out.printf("data => [%s]\n", node.getData()); + return node.getData(); + } + node = node.getPointer(); + pos++; + } + if (size - 1 == index) { + System.out.printf("data => [%s]\n", node.getData()); + return node.getData(); + } + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + + public int size() { + System.out.println("Size ::> " + size); + return size; + } + + public void traverseFromData(T data) { + try { + if (head == null) { + System.out.println("Empty Linked List"); + return; + } + Node node = head; + while (node.getData() != data) { + node = node.getPointer(); + } + while (node.getPointer() != null) { + System.out.printf("[%s] -> ", node.getData()); + node = node.getPointer(); + } + System.out.printf("[%s] -> null\n", node.getData()); + } catch (Exception E) { + throw new NoSuchElementException("No Such Element"); + } + } + + public void traverseFromIndex(int index) { + Node node = head; + int pos = 0; + while (node.getPointer().getPointer() != null) { + pos++; + node = node.getPointer(); + } + if (pos == index) { + while (node.getPointer() != null) { + System.out.printf("[%s] -> ", node.getData()); + node = node.getPointer(); + } + System.out.printf("[%s] -> null\n", node.getData()); + return; + } + if (pos != index) { + throw new IndexOutOfBoundsException("Index Out Of Bounds"); + } + } + +}