{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport glob\nimport matplotlib.pyplot as plt\nimport cv2\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\n# import os\n# for dirname, _, filenames in os.walk('/kaggle/input'):\n#     for filename in filenames:\n#         print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-09-28T12:45:27.786890Z","iopub.execute_input":"2022-09-28T12:45:27.787333Z","iopub.status.idle":"2022-09-28T12:45:27.978564Z","shell.execute_reply.started":"2022-09-28T12:45:27.787239Z","shell.execute_reply":"2022-09-28T12:45:27.977620Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_labels_df = pd.read_csv(\"../input/datathonindoml-2022/train_labels.csv\")","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:28.245893Z","iopub.execute_input":"2022-09-28T12:45:28.246898Z","iopub.status.idle":"2022-09-28T12:45:28.267377Z","shell.execute_reply.started":"2022-09-28T12:45:28.246851Z","shell.execute_reply":"2022-09-28T12:45:28.266497Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_labels_df['label']=train_labels_df['label'].astype(int)","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:28.598152Z","iopub.execute_input":"2022-09-28T12:45:28.598861Z","iopub.status.idle":"2022-09-28T12:45:28.610269Z","shell.execute_reply.started":"2022-09-28T12:45:28.598826Z","shell.execute_reply":"2022-09-28T12:45:28.609325Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_labels_df[\"label\"].value_counts().plot(kind='bar') #image label vs count plot","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:29.082449Z","iopub.execute_input":"2022-09-28T12:45:29.082904Z","iopub.status.idle":"2022-09-28T12:45:29.492781Z","shell.execute_reply.started":"2022-09-28T12:45:29.082863Z","shell.execute_reply":"2022-09-28T12:45:29.491672Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"folders = glob.glob('../input/datathonindoml-2022/train/train/')","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:29.498114Z","iopub.execute_input":"2022-09-28T12:45:29.500828Z","iopub.status.idle":"2022-09-28T12:45:29.508685Z","shell.execute_reply.started":"2022-09-28T12:45:29.500786Z","shell.execute_reply":"2022-09-28T12:45:29.507611Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"images_list=[]\nfor i in folders:\n    for f in glob.glob(i+\"*.tif\"):\n        images_list.append(f)","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:29.841785Z","iopub.execute_input":"2022-09-28T12:45:29.842629Z","iopub.status.idle":"2022-09-28T12:45:30.265406Z","shell.execute_reply.started":"2022-09-28T12:45:29.842585Z","shell.execute_reply":"2022-09-28T12:45:30.264240Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"images_list[0]","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:30.361732Z","iopub.execute_input":"2022-09-28T12:45:30.362416Z","iopub.status.idle":"2022-09-28T12:45:30.371215Z","shell.execute_reply.started":"2022-09-28T12:45:30.362370Z","shell.execute_reply":"2022-09-28T12:45:30.370295Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"read_images = []        \n\nfor image in images_list[0:100]:\n    read_images.append(cv2.imread(image,cv2.IMREAD_GRAYSCALE))","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:30.812865Z","iopub.execute_input":"2022-09-28T12:45:30.813266Z","iopub.status.idle":"2022-09-28T12:45:31.894975Z","shell.execute_reply.started":"2022-09-28T12:45:30.813233Z","shell.execute_reply":"2022-09-28T12:45:31.894014Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize = (15,15))\nplt.imshow(read_images[0],cmap=\"gray\")","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:31.899639Z","iopub.execute_input":"2022-09-28T12:45:31.899932Z","iopub.status.idle":"2022-09-28T12:45:32.362119Z","shell.execute_reply.started":"2022-09-28T12:45:31.899905Z","shell.execute_reply":"2022-09-28T12:45:32.361234Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"height = []\nwidth = []\nfor image in images_list[0:100]:\n    img = cv2.imread(image,cv2.IMREAD_GRAYSCALE)\n    width.append(img.shape[1])\n    height.append(img.shape[0])","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:32.363203Z","iopub.execute_input":"2022-09-28T12:45:32.364387Z","iopub.status.idle":"2022-09-28T12:45:32.630670Z","shell.execute_reply.started":"2022-09-28T12:45:32.364337Z","shell.execute_reply":"2022-09-28T12:45:32.629668Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import seaborn as sns\nsns.set()\nsns.distplot(width,kde = True)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:32.634514Z","iopub.execute_input":"2022-09-28T12:45:32.635430Z","iopub.status.idle":"2022-09-28T12:45:33.421908Z","shell.execute_reply.started":"2022-09-28T12:45:32.635389Z","shell.execute_reply":"2022-09-28T12:45:33.420965Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.scatter(width, height)\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:33.424413Z","iopub.execute_input":"2022-09-28T12:45:33.425478Z","iopub.status.idle":"2022-09-28T12:45:33.646722Z","shell.execute_reply.started":"2022-09-28T12:45:33.425427Z","shell.execute_reply":"2022-09-28T12:45:33.645726Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Document Classification\n\n","metadata":{}},{"cell_type":"code","source":"#importing dependencies\nimport shutil\nimport pandas as pd\nimport os\nimport numpy as np\nimport csv","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:34.037242Z","iopub.execute_input":"2022-09-28T12:45:34.037737Z","iopub.status.idle":"2022-09-28T12:45:34.043759Z","shell.execute_reply.started":"2022-09-28T12:45:34.037703Z","shell.execute_reply":"2022-09-28T12:45:34.042230Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import pandas as pd\ndf = pd.read_csv('../input/datathonindoml-2022/train_labels.csv')\ndf.head()","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:34.559880Z","iopub.execute_input":"2022-09-28T12:45:34.560267Z","iopub.status.idle":"2022-09-28T12:45:34.578882Z","shell.execute_reply.started":"2022-09-28T12:45:34.560234Z","shell.execute_reply":"2022-09-28T12:45:34.577857Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.shape","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:34.989862Z","iopub.execute_input":"2022-09-28T12:45:34.990241Z","iopub.status.idle":"2022-09-28T12:45:34.996673Z","shell.execute_reply.started":"2022-09-28T12:45:34.990207Z","shell.execute_reply":"2022-09-28T12:45:34.995573Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#make 16 folders\nfor i in range(0,16):\n    os.makedirs('./data/train/'+ str(i) +'/')","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:35.456841Z","iopub.execute_input":"2022-09-28T12:45:35.457243Z","iopub.status.idle":"2022-09-28T12:45:35.464019Z","shell.execute_reply.started":"2022-09-28T12:45:35.457206Z","shell.execute_reply":"2022-09-28T12:45:35.462794Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for i in range(len(df)):\n    shutil.copy2('../input/datathonindoml-2022/train/train/'+ str(df[\"id\"][i]) +\".tif\",'./data/train/'+ str(df['label'][i]) +'/')","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:45:35.898633Z","iopub.execute_input":"2022-09-28T12:45:35.898998Z","iopub.status.idle":"2022-09-28T12:47:38.676467Z","shell.execute_reply.started":"2022-09-28T12:45:35.898965Z","shell.execute_reply":"2022-09-28T12:47:38.675137Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(os.listdir(\"./data/train/0/\"))","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:48:18.951962Z","iopub.execute_input":"2022-09-28T12:48:18.953820Z","iopub.status.idle":"2022-09-28T12:48:18.962677Z","shell.execute_reply.started":"2022-09-28T12:48:18.953772Z","shell.execute_reply":"2022-09-28T12:48:18.961410Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Holistic Model**","metadata":{}},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport tensorflow as tf\nimport string\nimport nltk\nimport pathlib\nimport os\nimport cv2\nimport matplotlib.pyplot as plt\nfrom tensorflow.keras.utils import to_categorical\nfrom tensorflow.keras.metrics import TruePositives, FalsePositives, TrueNegatives, FalseNegatives, BinaryAccuracy, Precision, Recall, AUC","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:49:28.182223Z","iopub.execute_input":"2022-09-28T12:49:28.183146Z","iopub.status.idle":"2022-09-28T12:49:34.313979Z","shell.execute_reply.started":"2022-09-28T12:49:28.183095Z","shell.execute_reply":"2022-09-28T12:49:34.312958Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = pathlib.Path(os.path.join(\"./data/train/\"))","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:56:33.433506Z","iopub.execute_input":"2022-09-28T12:56:33.433912Z","iopub.status.idle":"2022-09-28T12:56:33.438939Z","shell.execute_reply.started":"2022-09-28T12:56:33.433882Z","shell.execute_reply":"2022-09-28T12:56:33.437952Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def get_images_labels(images, label):\n    arr = []\n    labels = []\n    \n    for i in images:\n        img = cv2.imread(os.path.join(i))\n        img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n        img = cv2.resize(img, (120, 120))\n        img1 = img[0:30, 0:120]/255\n        img2 = img[30:90, 0:60]/255\n        img3 = img[30:90, 60:120]/255\n        img4 = img[90:120, 0:120]/255\n        img = np.asarray([cv2.resize(img1, (48, 48)),\n                          cv2.resize(img2, (48, 48)),\n                          cv2.resize(img3, (48, 48)),\n                          cv2.resize(img4, (48, 48))])\n        img_mean = np.mean(img)\n        img = img - img_mean\n        img = img / np.std(img)\n        arr.append(img)\n        labels.append(label)\n    return [arr, labels]","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:56:35.335637Z","iopub.execute_input":"2022-09-28T12:56:35.335989Z","iopub.status.idle":"2022-09-28T12:56:35.344309Z","shell.execute_reply.started":"2022-09-28T12:56:35.335958Z","shell.execute_reply":"2022-09-28T12:56:35.343304Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"[advertisement, Y_advertisement] = get_images_labels(list(train.glob(\"0/*.*\")), 0)\n[budget, Y_budget] = get_images_labels(list(train.glob(\"1/*.*\")), 1)\n[email, Y_email] = get_images_labels(list(train.glob(\"2/*.*\")), 2)\n[file_folder, Y_file_folder] = get_images_labels(list(train.glob(\"3/*.*\")), 3)\n[form, Y_form] = get_images_labels(list(train.glob(\"4/*.*\")), 4)\n[handwritten, Y_handwritten] = get_images_labels(list(train.glob(\"5/*.*\")), 5)\n[invoice, Y_invoice] = get_images_labels(list(train.glob(\"6/*.*\")), 6)\n[letter, Y_letter] = get_images_labels(list(train.glob(\"7/*.*\")), 7)\n[memo, Y_memo] = get_images_labels(list(train.glob(\"8/*.*\")), 8)\n[news_article, Y_news_article] = get_images_labels(list(train.glob(\"9/*.*\")), 9)\n[presentation, Y_presentation] = get_images_labels(list(train.glob(\"10/*.*\")), 10)\n[questionnaire, Y_questionnaire] = get_images_labels(list(train.glob(\"11/*.*\")), 11)\n[resume, Y_resume] = get_images_labels(list(train.glob(\"12/*.*\")), 12)\n[scientific_report, Y_scientific_report] = get_images_labels(list(train.glob(\"13/*.*\")), 13)\n[specification, Y_specification] = get_images_labels(list(train.glob(\"15/*.*\")), 14)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(advertisement)\n","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:56:42.271851Z","iopub.execute_input":"2022-09-28T12:56:42.272574Z","iopub.status.idle":"2022-09-28T12:56:42.278884Z","shell.execute_reply.started":"2022-09-28T12:56:42.272535Z","shell.execute_reply":"2022-09-28T12:56:42.277826Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"images = advertisement + budget + email + file_folder + form + handwritten + invoice + letter + memo + news_article + presentation + questionnaire + resume + scientific_report + specification\nlabels = Y_advertisement + Y_budget + Y_email + Y_file_folder + Y_form + Y_handwritten + Y_invoice + Y_letter + Y_memo + Y_news_article + Y_presentation + Y_questionnaire+Y_resume+Y_scientific_report+Y_specification","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:56:45.275352Z","iopub.execute_input":"2022-09-28T12:56:45.275713Z","iopub.status.idle":"2022-09-28T12:56:45.283459Z","shell.execute_reply.started":"2022-09-28T12:56:45.275685Z","shell.execute_reply":"2022-09-28T12:56:45.282329Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"images = np.asarray(images)\nlabels = np.asarray(labels)","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:56:56.651049Z","iopub.execute_input":"2022-09-28T12:56:56.651953Z","iopub.status.idle":"2022-09-28T12:56:56.991226Z","shell.execute_reply.started":"2022-09-28T12:56:56.651903Z","shell.execute_reply":"2022-09-28T12:56:56.990209Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"images.shape","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:09:52.228453Z","iopub.execute_input":"2022-09-28T13:09:52.228837Z","iopub.status.idle":"2022-09-28T13:09:52.235790Z","shell.execute_reply.started":"2022-09-28T13:09:52.228805Z","shell.execute_reply":"2022-09-28T13:09:52.234712Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"labels.shape","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:57:17.105113Z","iopub.execute_input":"2022-09-28T12:57:17.105870Z","iopub.status.idle":"2022-09-28T12:57:17.111799Z","shell.execute_reply.started":"2022-09-28T12:57:17.105820Z","shell.execute_reply":"2022-09-28T12:57:17.110880Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for i in range(4):\n    plt.figure(figsize = (1, 1))\n    plt.imshow(images[3][i])\n    plt.grid(False)\n    plt.show()\n","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:03:41.404215Z","iopub.execute_input":"2022-09-28T13:03:41.404591Z","iopub.status.idle":"2022-09-28T13:03:42.031322Z","shell.execute_reply.started":"2022-09-28T13:03:41.404561Z","shell.execute_reply":"2022-09-28T13:03:42.030068Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"labels = to_categorical(labels)\nlabels","metadata":{"execution":{"iopub.status.busy":"2022-09-28T12:58:30.239025Z","iopub.execute_input":"2022-09-28T12:58:30.240055Z","iopub.status.idle":"2022-09-28T12:58:30.250466Z","shell.execute_reply.started":"2022-09-28T12:58:30.240016Z","shell.execute_reply":"2022-09-28T12:58:30.249014Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"images.shape","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:13:21.588211Z","iopub.execute_input":"2022-09-28T13:13:21.588742Z","iopub.status.idle":"2022-09-28T13:13:21.602980Z","shell.execute_reply.started":"2022-09-28T13:13:21.588705Z","shell.execute_reply":"2022-09-28T13:13:21.601853Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"m = tf.keras.models.Sequential()\nm.add(tf.keras.layers.TimeDistributed(tf.keras.layers.Conv2D(512, 3, activation = \"relu\" ), input_shape=(4, 48, 48, 3)))\nm.add(tf.keras.layers.TimeDistributed(tf.keras.layers.MaxPooling2D()))\nm.add(tf.keras.layers.TimeDistributed(tf.keras.layers.Dropout(0.2)))\nm.add(tf.keras.layers.TimeDistributed(tf.keras.layers.Conv2D(256, 3, activation = \"relu\")))\nm.add(tf.keras.layers.TimeDistributed(tf.keras.layers.MaxPooling2D()))\nm.add(tf.keras.layers.TimeDistributed(tf.keras.layers.Dropout(0.2)))\nm.add(tf.keras.layers.TimeDistributed(tf.keras.layers.Flatten()))\nm.add(tf.keras.layers.GlobalAveragePooling1D())\nm.add(tf.keras.layers.Dense(1024, activation = \"sigmoid\"))\nm.add(tf.keras.layers.Dropout(0.2))\nm.add(tf.keras.layers.Dense(15, activation = \"softmax\"))","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:15:43.578908Z","iopub.execute_input":"2022-09-28T13:15:43.579309Z","iopub.status.idle":"2022-09-28T13:15:43.663414Z","shell.execute_reply.started":"2022-09-28T13:15:43.579275Z","shell.execute_reply":"2022-09-28T13:15:43.662523Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"m.summary()","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:15:46.030990Z","iopub.execute_input":"2022-09-28T13:15:46.031366Z","iopub.status.idle":"2022-09-28T13:15:46.040415Z","shell.execute_reply.started":"2022-09-28T13:15:46.031332Z","shell.execute_reply":"2022-09-28T13:15:46.039225Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\nm.compile(optimizer= \"adam\", loss = 'categorical_crossentropy',\n              metrics = [ TruePositives(name='tp'), \n                         FalsePositives(name='fp'), \n                         TrueNegatives(name='tn'), \n                         FalseNegatives(name='fn'), \n                         \"accuracy\", \n                         Precision(name='precision'), \n                         Recall(name='recall'), \n                         AUC(name='auc')])","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:15:52.255292Z","iopub.execute_input":"2022-09-28T13:15:52.255695Z","iopub.status.idle":"2022-09-28T13:15:52.280685Z","shell.execute_reply.started":"2022-09-28T13:15:52.255663Z","shell.execute_reply":"2022-09-28T13:15:52.279830Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from keras.callbacks import TensorBoard, EarlyStopping\nearlyStopping = EarlyStopping(monitor = 'loss', patience = 16, mode = 'min', restore_best_weights = True)","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:15:56.789620Z","iopub.execute_input":"2022-09-28T13:15:56.789982Z","iopub.status.idle":"2022-09-28T13:15:56.795685Z","shell.execute_reply.started":"2022-09-28T13:15:56.789951Z","shell.execute_reply":"2022-09-28T13:15:56.794596Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"history = m.fit(images, labels, epochs=40, batch_size= 16, \n                callbacks =[earlyStopping])","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:16:07.520103Z","iopub.execute_input":"2022-09-28T13:16:07.521088Z","iopub.status.idle":"2022-09-28T13:16:08.901377Z","shell.execute_reply.started":"2022-09-28T13:16:07.521050Z","shell.execute_reply":"2022-09-28T13:16:08.899858Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib as mpl\nmpl.style.use('seaborn')\nplt.figure(figsize = (15, 5))\nplt.plot(history.history['accuracy'], \"darkgreen\", label= \"accuracy\")\nplt.plot(history.history['recall'], \"darkred\", label= \"recall\")\nplt.plot(history.history['precision'], \"darkblue\", label= \"precision\")\nplt.plot(history.history['auc'], \"darkorange\", label= \"auc\")\nplt.xlabel('Epoch')\nplt.legend()","metadata":{"execution":{"iopub.status.busy":"2022-09-28T13:07:08.936579Z","iopub.status.idle":"2022-09-28T13:07:08.937730Z","shell.execute_reply.started":"2022-09-28T13:07:08.937481Z","shell.execute_reply":"2022-09-28T13:07:08.937506Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}