{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":36363,"databundleVersionId":4050810,"sourceType":"competition"}],"dockerImageVersionId":30761,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"!pip install pyspark","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:37:37.870472Z","iopub.execute_input":"2024-08-30T02:37:37.870971Z","iopub.status.idle":"2024-08-30T02:38:36.518967Z","shell.execute_reply.started":"2024-08-30T02:37:37.870898Z","shell.execute_reply":"2024-08-30T02:38:36.517398Z"},"trusted":true},"execution_count":5,"outputs":[{"name":"stdout","text":"Collecting pyspark\n  Downloading pyspark-3.5.2.tar.gz (317.3 MB)\n\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m317.3/317.3 MB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n\u001b[?25h  Preparing metadata (setup.py) ... \u001b[?25ldone\n\u001b[?25hRequirement already satisfied: py4j==0.10.9.7 in /opt/conda/lib/python3.10/site-packages (from pyspark) (0.10.9.7)\nBuilding wheels for collected packages: pyspark\n  Building wheel for pyspark (setup.py) ... \u001b[?25ldone\n\u001b[?25h  Created wheel for pyspark: filename=pyspark-3.5.2-py2.py3-none-any.whl size=317812364 sha256=947801f990db5ee602baa8fea0afcc17158a5d48adac4e2753d253301ced259b\n  Stored in directory: /root/.cache/pip/wheels/34/34/bd/03944534c44b677cd5859f248090daa9fb27b3c8f8e5f49574\nSuccessfully built pyspark\nInstalling collected packages: pyspark\nSuccessfully installed pyspark-3.5.2\n","output_type":"stream"}]},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport os\nimport matplotlib.pyplot as plt\nimport pydicom\nimport SimpleITK as sitk\nfrom pyspark.sql import SparkSession\nfrom pyspark.ml.classification import DecisionTreeClassifier,RandomForestClassifier,NaiveBayes\nfrom pyspark.ml.evaluation import MulticlassClassificationEvaluator\nfrom pyspark.ml.feature import StandardScaler,StringIndexer, VectorAssembler, VectorIndexer, OneHotEncoder\nfrom pyspark.ml import Pipeline\nfrom pyspark.ml.linalg import DenseVector\nimport cv2\nfrom sklearn.model_selection import train_test_split\nfrom tensorflow.keras.models import Model\nfrom tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, Flatten, Dense, Dropout\nfrom tensorflow.keras.applications import ResNet50\nfrom sklearn.metrics import classification_report, accuracy_score\nfrom multiprocessing import Pool\nfrom tabulate import tabulate","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:38:42.947631Z","iopub.execute_input":"2024-08-30T02:38:42.952067Z","iopub.status.idle":"2024-08-30T02:38:44.297443Z","shell.execute_reply.started":"2024-08-30T02:38:42.951921Z","shell.execute_reply":"2024-08-30T02:38:44.295754Z"},"trusted":true},"execution_count":6,"outputs":[]},{"cell_type":"code","source":"spark = (SparkSession.builder\n                  .appName('Apache Spark Beginner Tutorial')\n                  .config(\"spark.executor.memory\", \"1G\")\n                  .config(\"spark.executor.cores\",\"4\")\n                  .getOrCreate())\n","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:38:47.558026Z","iopub.execute_input":"2024-08-30T02:38:47.559797Z","iopub.status.idle":"2024-08-30T02:38:55.17375Z","shell.execute_reply.started":"2024-08-30T02:38:47.55974Z","shell.execute_reply":"2024-08-30T02:38:55.172106Z"},"trusted":true},"execution_count":7,"outputs":[{"name":"stderr","text":"Setting default log level to \"WARN\".\nTo adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n24/08/30 02:38:52 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n","output_type":"stream"}]},{"cell_type":"code","source":"spark.sparkContext.setLogLevel('INFO')","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:13:33.142099Z","iopub.execute_input":"2024-08-29T16:13:33.142904Z","iopub.status.idle":"2024-08-29T16:13:33.15487Z","shell.execute_reply.started":"2024-08-29T16:13:33.142844Z","shell.execute_reply":"2024-08-29T16:13:33.153533Z"},"trusted":true},"execution_count":37,"outputs":[]},{"cell_type":"code","source":"base_dir = r'/kaggle/input/rsna-2022-cervical-spine-fracture-detection'\nprint(os.listdir(base_dir))","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:13:35.722443Z","iopub.execute_input":"2024-08-29T16:13:35.72299Z","iopub.status.idle":"2024-08-29T16:13:35.731627Z","shell.execute_reply.started":"2024-08-29T16:13:35.722942Z","shell.execute_reply":"2024-08-29T16:13:35.730399Z"},"trusted":true},"execution_count":38,"outputs":[{"name":"stdout","text":"['sample_submission.csv', 'train_images', 'train_bounding_boxes.csv', 'segmentations', 'train.csv', 'test.csv', 'test_images']\n","output_type":"stream"}]},{"cell_type":"code","source":"df = spark.read.format(\"csv\") \\\n       .option(\"header\", \"true\") \\\n       .option(\"inferSchema\",\"true\")\\\n       .load(os.path.join(base_dir,\"train.csv\"))","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:13:38.811093Z","iopub.execute_input":"2024-08-29T16:13:38.811618Z","iopub.status.idle":"2024-08-29T16:13:48.117468Z","shell.execute_reply.started":"2024-08-29T16:13:38.811573Z","shell.execute_reply":"2024-08-29T16:13:48.115974Z"},"trusted":true},"execution_count":39,"outputs":[{"name":"stderr","text":"24/08/29 16:13:38 INFO SharedState: Setting hive.metastore.warehouse.dir ('null') to the value of spark.sql.warehouse.dir.\n24/08/29 16:13:39 INFO SharedState: Warehouse path is 'file:/kaggle/working/spark-warehouse'.\n24/08/29 16:13:40 INFO InMemoryFileIndex: It took 109 ms to list leaf files for 1 paths.\n24/08/29 16:13:41 INFO InMemoryFileIndex: It took 4 ms to list leaf files for 1 paths.\n24/08/29 16:13:45 INFO FileSourceStrategy: Pushed Filters: \n24/08/29 16:13:45 INFO FileSourceStrategy: Post-Scan Filters: (length(trim(value#0, None)) > 0)\n24/08/29 16:13:46 INFO CodeGenerator: Code generated in 334.818251 ms\n24/08/29 16:13:46 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 200.1 KiB, free 434.2 MiB)\n24/08/29 16:13:46 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 34.5 KiB, free 434.2 MiB)\n24/08/29 16:13:46 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on e45e95913418:45937 (size: 34.5 KiB, free: 434.4 MiB)\n24/08/29 16:13:46 INFO SparkContext: Created broadcast 0 from load at NativeMethodAccessorImpl.java:0\n24/08/29 16:13:46 INFO FileSourceScanExec: Planning scan with bin packing, max size: 4194304 bytes, open cost is considered as scanning 4194304 bytes.\n24/08/29 16:13:46 INFO SparkContext: Starting job: load at NativeMethodAccessorImpl.java:0\n24/08/29 16:13:46 INFO DAGScheduler: Got job 0 (load at NativeMethodAccessorImpl.java:0) with 1 output partitions\n24/08/29 16:13:46 INFO DAGScheduler: Final stage: ResultStage 0 (load at NativeMethodAccessorImpl.java:0)\n24/08/29 16:13:46 INFO DAGScheduler: Parents of final stage: List()\n24/08/29 16:13:46 INFO DAGScheduler: Missing parents: List()\n24/08/29 16:13:46 INFO DAGScheduler: Submitting ResultStage 0 (MapPartitionsRDD[3] at load at NativeMethodAccessorImpl.java:0), which has no missing parents\n24/08/29 16:13:46 INFO MemoryStore: Block broadcast_1 stored as values in memory (estimated size 13.5 KiB, free 434.2 MiB)\n24/08/29 16:13:46 INFO MemoryStore: Block broadcast_1_piece0 stored as bytes in memory (estimated size 6.4 KiB, free 434.2 MiB)\n24/08/29 16:13:46 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on e45e95913418:45937 (size: 6.4 KiB, free: 434.4 MiB)\n24/08/29 16:13:46 INFO SparkContext: Created broadcast 1 from broadcast at DAGScheduler.scala:1585\n24/08/29 16:13:46 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 0 (MapPartitionsRDD[3] at load at NativeMethodAccessorImpl.java:0) (first 15 tasks are for partitions Vector(0))\n24/08/29 16:13:46 INFO TaskSchedulerImpl: Adding task set 0.0 with 1 tasks resource profile 0\n24/08/29 16:13:47 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0) (e45e95913418, executor driver, partition 0, PROCESS_LOCAL, 9636 bytes) \n24/08/29 16:13:47 INFO Executor: Running task 0.0 in stage 0.0 (TID 0)\n24/08/29 16:13:47 INFO CodeGenerator: Code generated in 23.082858 ms\n24/08/29 16:13:47 INFO FileScanRDD: Reading File path: file:///kaggle/input/rsna-2022-cervical-spine-fracture-detection/train.csv, range: 0-84168, partition values: [empty row]\n24/08/29 16:13:47 INFO CodeGenerator: Code generated in 19.432359 ms\n24/08/29 16:13:47 INFO Executor: Finished task 0.0 in stage 0.0 (TID 0). 1668 bytes result sent to driver\n24/08/29 16:13:47 INFO TaskSetManager: Finished task 0.0 in stage 0.0 (TID 0) in 421 ms on e45e95913418 (executor driver) (1/1)\n24/08/29 16:13:47 INFO TaskSchedulerImpl: Removed TaskSet 0.0, whose tasks have all completed, from pool \n24/08/29 16:13:47 INFO DAGScheduler: ResultStage 0 (load at NativeMethodAccessorImpl.java:0) finished in 0.644 s\n24/08/29 16:13:47 INFO DAGScheduler: Job 0 is finished. Cancelling potential speculative or zombie tasks for this job\n24/08/29 16:13:47 INFO TaskSchedulerImpl: Killing all running tasks in stage 0: Stage finished\n24/08/29 16:13:47 INFO DAGScheduler: Job 0 finished: load at NativeMethodAccessorImpl.java:0, took 0.732763 s\n24/08/29 16:13:47 INFO CodeGenerator: Code generated in 18.88413 ms             \n24/08/29 16:13:47 INFO FileSourceStrategy: Pushed Filters: \n24/08/29 16:13:47 INFO FileSourceStrategy: Post-Scan Filters: \n24/08/29 16:13:47 INFO MemoryStore: Block broadcast_2 stored as values in memory (estimated size 200.1 KiB, free 434.0 MiB)\n24/08/29 16:13:47 INFO MemoryStore: Block broadcast_2_piece0 stored as bytes in memory (estimated size 34.5 KiB, free 433.9 MiB)\n24/08/29 16:13:47 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on e45e95913418:45937 (size: 34.5 KiB, free: 434.3 MiB)\n24/08/29 16:13:47 INFO SparkContext: Created broadcast 2 from load at NativeMethodAccessorImpl.java:0\n24/08/29 16:13:47 INFO FileSourceScanExec: Planning scan with bin packing, max size: 4194304 bytes, open cost is considered as scanning 4194304 bytes.\n24/08/29 16:13:47 INFO SparkContext: Starting job: load at NativeMethodAccessorImpl.java:0\n24/08/29 16:13:47 INFO DAGScheduler: Got job 1 (load at NativeMethodAccessorImpl.java:0) with 1 output partitions\n24/08/29 16:13:47 INFO DAGScheduler: Final stage: ResultStage 1 (load at NativeMethodAccessorImpl.java:0)\n24/08/29 16:13:47 INFO DAGScheduler: Parents of final stage: List()\n24/08/29 16:13:47 INFO DAGScheduler: Missing parents: List()\n24/08/29 16:13:47 INFO DAGScheduler: Submitting ResultStage 1 (MapPartitionsRDD[9] at load at NativeMethodAccessorImpl.java:0), which has no missing parents\n24/08/29 16:13:47 INFO MemoryStore: Block broadcast_3 stored as values in memory (estimated size 27.8 KiB, free 433.9 MiB)\n24/08/29 16:13:47 INFO MemoryStore: Block broadcast_3_piece0 stored as bytes in memory (estimated size 12.8 KiB, free 433.9 MiB)\n24/08/29 16:13:47 INFO BlockManagerInfo: Added broadcast_3_piece0 in memory on e45e95913418:45937 (size: 12.8 KiB, free: 434.3 MiB)\n24/08/29 16:13:47 INFO SparkContext: Created broadcast 3 from broadcast at DAGScheduler.scala:1585\n24/08/29 16:13:47 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 1 (MapPartitionsRDD[9] at load at NativeMethodAccessorImpl.java:0) (first 15 tasks are for partitions Vector(0))\n24/08/29 16:13:47 INFO TaskSchedulerImpl: Adding task set 1.0 with 1 tasks resource profile 0\n24/08/29 16:13:47 INFO TaskSetManager: Starting task 0.0 in stage 1.0 (TID 1) (e45e95913418, executor driver, partition 0, PROCESS_LOCAL, 9636 bytes) \n24/08/29 16:13:47 INFO Executor: Running task 0.0 in stage 1.0 (TID 1)\n24/08/29 16:13:47 INFO CodeGenerator: Code generated in 13.782643 ms\n24/08/29 16:13:47 INFO FileScanRDD: Reading File path: file:///kaggle/input/rsna-2022-cervical-spine-fracture-detection/train.csv, range: 0-84168, partition values: [empty row]\n24/08/29 16:13:48 INFO Executor: Finished task 0.0 in stage 1.0 (TID 1). 1646 bytes result sent to driver\n24/08/29 16:13:48 INFO TaskSetManager: Finished task 0.0 in stage 1.0 (TID 1) in 268 ms on e45e95913418 (executor driver) (1/1)\n24/08/29 16:13:48 INFO DAGScheduler: ResultStage 1 (load at NativeMethodAccessorImpl.java:0) finished in 0.340 s\n24/08/29 16:13:48 INFO DAGScheduler: Job 1 is finished. Cancelling potential speculative or zombie tasks for this job\n24/08/29 16:13:48 INFO TaskSchedulerImpl: Removed TaskSet 1.0, whose tasks have all completed, from pool \n24/08/29 16:13:48 INFO TaskSchedulerImpl: Killing all running tasks in stage 1: Stage finished\n24/08/29 16:13:48 INFO DAGScheduler: Job 1 finished: load at NativeMethodAccessorImpl.java:0, took 0.352603 s\n","output_type":"stream"}]},{"cell_type":"code","source":"df.show()","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:13:54.362447Z","iopub.execute_input":"2024-08-29T16:13:54.362984Z","iopub.status.idle":"2024-08-29T16:13:55.003614Z","shell.execute_reply.started":"2024-08-29T16:13:54.362936Z","shell.execute_reply":"2024-08-29T16:13:55.00094Z"},"trusted":true},"execution_count":40,"outputs":[{"name":"stderr","text":"24/08/29 16:13:54 INFO FileSourceStrategy: Pushed Filters: \n24/08/29 16:13:54 INFO FileSourceStrategy: Post-Scan Filters: \n24/08/29 16:13:54 INFO CodeGenerator: Code generated in 48.869373 ms\n24/08/29 16:13:54 INFO MemoryStore: Block broadcast_4 stored as values in memory (estimated size 200.0 KiB, free 433.7 MiB)\n24/08/29 16:13:54 INFO MemoryStore: Block broadcast_4_piece0 stored as bytes in memory (estimated size 34.4 KiB, free 433.7 MiB)\n24/08/29 16:13:54 INFO BlockManagerInfo: Added broadcast_4_piece0 in memory on e45e95913418:45937 (size: 34.4 KiB, free: 434.3 MiB)\n24/08/29 16:13:54 INFO SparkContext: Created broadcast 4 from showString at NativeMethodAccessorImpl.java:0\n24/08/29 16:13:54 INFO FileSourceScanExec: Planning scan with bin packing, max size: 4194304 bytes, open cost is considered as scanning 4194304 bytes.\n24/08/29 16:13:54 INFO SparkContext: Starting job: showString at NativeMethodAccessorImpl.java:0\n24/08/29 16:13:54 INFO DAGScheduler: Got job 2 (showString at NativeMethodAccessorImpl.java:0) with 1 output partitions\n24/08/29 16:13:54 INFO DAGScheduler: Final stage: ResultStage 2 (showString at NativeMethodAccessorImpl.java:0)\n24/08/29 16:13:54 INFO DAGScheduler: Parents of final stage: List()\n24/08/29 16:13:54 INFO DAGScheduler: Missing parents: List()\n24/08/29 16:13:54 INFO DAGScheduler: Submitting ResultStage 2 (MapPartitionsRDD[13] at showString at NativeMethodAccessorImpl.java:0), which has no missing parents\n24/08/29 16:13:54 INFO MemoryStore: Block broadcast_5 stored as values in memory (estimated size 18.7 KiB, free 433.6 MiB)\n24/08/29 16:13:54 INFO MemoryStore: Block broadcast_5_piece0 stored as bytes in memory (estimated size 8.2 KiB, free 433.6 MiB)\n24/08/29 16:13:54 INFO BlockManagerInfo: Added broadcast_5_piece0 in memory on e45e95913418:45937 (size: 8.2 KiB, free: 434.3 MiB)\n24/08/29 16:13:54 INFO SparkContext: Created broadcast 5 from broadcast at DAGScheduler.scala:1585\n24/08/29 16:13:54 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 2 (MapPartitionsRDD[13] at showString at NativeMethodAccessorImpl.java:0) (first 15 tasks are for partitions Vector(0))\n24/08/29 16:13:54 INFO TaskSchedulerImpl: Adding task set 2.0 with 1 tasks resource profile 0\n24/08/29 16:13:54 INFO TaskSetManager: Starting task 0.0 in stage 2.0 (TID 2) (e45e95913418, executor driver, partition 0, PROCESS_LOCAL, 9636 bytes) \n24/08/29 16:13:54 INFO Executor: Running task 0.0 in stage 2.0 (TID 2)\n24/08/29 16:13:54 INFO CodeGenerator: Code generated in 40.000192 ms\n24/08/29 16:13:54 INFO FileScanRDD: Reading File path: file:///kaggle/input/rsna-2022-cervical-spine-fracture-detection/train.csv, range: 0-84168, partition values: [empty row]\n24/08/29 16:13:54 INFO CodeGenerator: Code generated in 29.05523 ms\n","output_type":"stream"},{"name":"stdout","text":"+--------------------+---------------+---+---+---+---+---+---+---+\n|    StudyInstanceUID|patient_overall| C1| C2| C3| C4| C5| C6| C7|\n+--------------------+---------------+---+---+---+---+---+---+---+\n|1.2.826.0.1.36800...|              1|  1|  1|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              1|  0|  1|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              1|  0|  1|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              1|  0|  0|  0|  0|  1|  0|  0|\n|1.2.826.0.1.36800...|              1|  0|  0|  0|  0|  0|  1|  0|\n|1.2.826.0.1.36800...|              1|  0|  0|  0|  1|  0|  0|  1|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              1|  0|  0|  0|  0|  0|  0|  1|\n|1.2.826.0.1.36800...|              1|  0|  0|  0|  1|  1|  0|  0|\n|1.2.826.0.1.36800...|              1|  1|  1|  0|  0|  0|  0|  1|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              1|  1|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n|1.2.826.0.1.36800...|              1|  0|  1|  1|  1|  0|  0|  0|\n|1.2.826.0.1.36800...|              0|  0|  0|  0|  0|  0|  0|  0|\n+--------------------+---------------+---+---+---+---+---+---+---+\nonly showing top 20 rows\n\n","output_type":"stream"},{"name":"stderr","text":"24/08/29 16:13:54 INFO Executor: Finished task 0.0 in stage 2.0 (TID 2). 2082 bytes result sent to driver\n24/08/29 16:13:54 INFO TaskSetManager: Finished task 0.0 in stage 2.0 (TID 2) in 195 ms on e45e95913418 (executor driver) (1/1)\n24/08/29 16:13:54 INFO TaskSchedulerImpl: Removed TaskSet 2.0, whose tasks have all completed, from pool \n24/08/29 16:13:54 INFO DAGScheduler: ResultStage 2 (showString at NativeMethodAccessorImpl.java:0) finished in 0.228 s\n24/08/29 16:13:54 INFO DAGScheduler: Job 2 is finished. Cancelling potential speculative or zombie tasks for this job\n24/08/29 16:13:54 INFO TaskSchedulerImpl: Killing all running tasks in stage 2: Stage finished\n24/08/29 16:13:54 INFO DAGScheduler: Job 2 finished: showString at NativeMethodAccessorImpl.java:0, took 0.239224 s\n24/08/29 16:13:54 INFO CodeGenerator: Code generated in 31.736436 ms\n","output_type":"stream"}]},{"cell_type":"code","source":"df = df.toPandas()","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:13:58.292529Z","iopub.execute_input":"2024-08-29T16:13:58.293851Z","iopub.status.idle":"2024-08-29T16:13:58.819435Z","shell.execute_reply.started":"2024-08-29T16:13:58.293795Z","shell.execute_reply":"2024-08-29T16:13:58.817716Z"},"trusted":true},"execution_count":41,"outputs":[{"name":"stderr","text":"24/08/29 16:13:58 INFO FileSourceStrategy: Pushed Filters: \n24/08/29 16:13:58 INFO FileSourceStrategy: Post-Scan Filters: \n24/08/29 16:13:58 INFO MemoryStore: Block broadcast_6 stored as values in memory (estimated size 200.0 KiB, free 433.4 MiB)\n24/08/29 16:13:58 INFO MemoryStore: Block broadcast_6_piece0 stored as bytes in memory (estimated size 34.4 KiB, free 433.4 MiB)\n24/08/29 16:13:58 INFO BlockManagerInfo: Added broadcast_6_piece0 in memory on e45e95913418:45937 (size: 34.4 KiB, free: 434.2 MiB)\n24/08/29 16:13:58 INFO SparkContext: Created broadcast 6 from toPandas at /tmp/ipykernel_36/1575777557.py:1\n24/08/29 16:13:58 INFO FileSourceScanExec: Planning scan with bin packing, max size: 4194304 bytes, open cost is considered as scanning 4194304 bytes.\n24/08/29 16:13:58 INFO SparkContext: Starting job: toPandas at /tmp/ipykernel_36/1575777557.py:1\n24/08/29 16:13:58 INFO DAGScheduler: Got job 3 (toPandas at /tmp/ipykernel_36/1575777557.py:1) with 1 output partitions\n24/08/29 16:13:58 INFO DAGScheduler: Final stage: ResultStage 3 (toPandas at /tmp/ipykernel_36/1575777557.py:1)\n24/08/29 16:13:58 INFO DAGScheduler: Parents of final stage: List()\n24/08/29 16:13:58 INFO DAGScheduler: Missing parents: List()\n24/08/29 16:13:58 INFO DAGScheduler: Submitting ResultStage 3 (MapPartitionsRDD[16] at toPandas at /tmp/ipykernel_36/1575777557.py:1), which has no missing parents\n24/08/29 16:13:58 INFO MemoryStore: Block broadcast_7 stored as values in memory (estimated size 12.5 KiB, free 433.4 MiB)\n24/08/29 16:13:58 INFO MemoryStore: Block broadcast_7_piece0 stored as bytes in memory (estimated size 6.4 KiB, free 433.4 MiB)\n24/08/29 16:13:58 INFO BlockManagerInfo: Added broadcast_7_piece0 in memory on e45e95913418:45937 (size: 6.4 KiB, free: 434.2 MiB)\n24/08/29 16:13:58 INFO SparkContext: Created broadcast 7 from broadcast at DAGScheduler.scala:1585\n24/08/29 16:13:58 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 3 (MapPartitionsRDD[16] at toPandas at /tmp/ipykernel_36/1575777557.py:1) (first 15 tasks are for partitions Vector(0))\n24/08/29 16:13:58 INFO TaskSchedulerImpl: Adding task set 3.0 with 1 tasks resource profile 0\n24/08/29 16:13:58 INFO TaskSetManager: Starting task 0.0 in stage 3.0 (TID 3) (e45e95913418, executor driver, partition 0, PROCESS_LOCAL, 9636 bytes) \n24/08/29 16:13:58 INFO Executor: Running task 0.0 in stage 3.0 (TID 3)\n24/08/29 16:13:58 INFO FileScanRDD: Reading File path: file:///kaggle/input/rsna-2022-cervical-spine-fracture-detection/train.csv, range: 0-84168, partition values: [empty row]\n24/08/29 16:13:58 INFO Executor: Finished task 0.0 in stage 3.0 (TID 3). 37100 bytes result sent to driver\n24/08/29 16:13:58 INFO TaskSetManager: Finished task 0.0 in stage 3.0 (TID 3) in 127 ms on e45e95913418 (executor driver) (1/1)\n24/08/29 16:13:58 INFO TaskSchedulerImpl: Removed TaskSet 3.0, whose tasks have all completed, from pool \n24/08/29 16:13:58 INFO DAGScheduler: ResultStage 3 (toPandas at /tmp/ipykernel_36/1575777557.py:1) finished in 0.159 s\n24/08/29 16:13:58 INFO DAGScheduler: Job 3 is finished. Cancelling potential speculative or zombie tasks for this job\n24/08/29 16:13:58 INFO TaskSchedulerImpl: Killing all running tasks in stage 3: Stage finished\n24/08/29 16:13:58 INFO DAGScheduler: Job 3 finished: toPandas at /tmp/ipykernel_36/1575777557.py:1, took 0.169125 s\n","output_type":"stream"}]},{"cell_type":"code","source":"df","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:14:01.551384Z","iopub.execute_input":"2024-08-29T16:14:01.552479Z","iopub.status.idle":"2024-08-29T16:14:01.581858Z","shell.execute_reply.started":"2024-08-29T16:14:01.552424Z","shell.execute_reply":"2024-08-29T16:14:01.580397Z"},"trusted":true},"execution_count":42,"outputs":[{"execution_count":42,"output_type":"execute_result","data":{"text/plain":"               StudyInstanceUID  patient_overall  C1  C2  C3  C4  C5  C6  C7\n0      1.2.826.0.1.3680043.6200                1   1   1   0   0   0   0   0\n1     1.2.826.0.1.3680043.27262                1   0   1   0   0   0   0   0\n2     1.2.826.0.1.3680043.21561                1   0   1   0   0   0   0   0\n3     1.2.826.0.1.3680043.12351                0   0   0   0   0   0   0   0\n4      1.2.826.0.1.3680043.1363                1   0   0   0   0   1   0   0\n...                         ...              ...  ..  ..  ..  ..  ..  ..  ..\n2014  1.2.826.0.1.3680043.21684                1   0   1   0   0   0   1   1\n2015   1.2.826.0.1.3680043.4786                1   0   0   0   0   0   0   1\n2016  1.2.826.0.1.3680043.14341                0   0   0   0   0   0   0   0\n2017  1.2.826.0.1.3680043.12053                0   0   0   0   0   0   0   0\n2018  1.2.826.0.1.3680043.18786                1   0   0   0   0   0   0   1\n\n[2019 rows x 9 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>StudyInstanceUID</th>\n      <th>patient_overall</th>\n      <th>C1</th>\n      <th>C2</th>\n      <th>C3</th>\n      <th>C4</th>\n      <th>C5</th>\n      <th>C6</th>\n      <th>C7</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.2.826.0.1.3680043.6200</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1.2.826.0.1.3680043.27262</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1.2.826.0.1.3680043.21561</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1.2.826.0.1.3680043.12351</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1.2.826.0.1.3680043.1363</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>2014</th>\n      <td>1.2.826.0.1.3680043.21684</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>2015</th>\n      <td>1.2.826.0.1.3680043.4786</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>2016</th>\n      <td>1.2.826.0.1.3680043.14341</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2017</th>\n      <td>1.2.826.0.1.3680043.12053</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2018</th>\n      <td>1.2.826.0.1.3680043.18786</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n    </tr>\n  </tbody>\n</table>\n<p>2019 rows × 9 columns</p>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"df.info()","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:14:03.731706Z","iopub.execute_input":"2024-08-29T16:14:03.732205Z","iopub.status.idle":"2024-08-29T16:14:03.758679Z","shell.execute_reply.started":"2024-08-29T16:14:03.732161Z","shell.execute_reply":"2024-08-29T16:14:03.757151Z"},"trusted":true},"execution_count":43,"outputs":[{"name":"stdout","text":"<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 2019 entries, 0 to 2018\nData columns (total 9 columns):\n #   Column            Non-Null Count  Dtype \n---  ------            --------------  ----- \n 0   StudyInstanceUID  2019 non-null   object\n 1   patient_overall   2019 non-null   int32 \n 2   C1                2019 non-null   int32 \n 3   C2                2019 non-null   int32 \n 4   C3                2019 non-null   int32 \n 5   C4                2019 non-null   int32 \n 6   C5                2019 non-null   int32 \n 7   C6                2019 non-null   int32 \n 8   C7                2019 non-null   int32 \ndtypes: int32(8), object(1)\nmemory usage: 79.0+ KB\n","output_type":"stream"}]},{"cell_type":"code","source":"df.columns","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:14:05.817504Z","iopub.execute_input":"2024-08-29T16:14:05.818641Z","iopub.status.idle":"2024-08-29T16:14:05.82742Z","shell.execute_reply.started":"2024-08-29T16:14:05.818579Z","shell.execute_reply":"2024-08-29T16:14:05.826152Z"},"trusted":true},"execution_count":44,"outputs":[{"execution_count":44,"output_type":"execute_result","data":{"text/plain":"Index(['StudyInstanceUID', 'patient_overall', 'C1', 'C2', 'C3', 'C4', 'C5',\n       'C6', 'C7'],\n      dtype='object')"},"metadata":{}}]},{"cell_type":"code","source":"df.head()","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:50:38.473983Z","iopub.execute_input":"2024-08-24T12:50:38.474447Z","iopub.status.idle":"2024-08-24T12:50:38.491641Z","shell.execute_reply.started":"2024-08-24T12:50:38.474409Z","shell.execute_reply":"2024-08-24T12:50:38.489896Z"},"trusted":true},"execution_count":152,"outputs":[{"execution_count":152,"output_type":"execute_result","data":{"text/plain":"            StudyInstanceUID  patient_overall  C1  C2  C3  C4  C5  C6  C7\n0   1.2.826.0.1.3680043.6200                1   1   1   0   0   0   0   0\n1  1.2.826.0.1.3680043.27262                1   0   1   0   0   0   0   0\n2  1.2.826.0.1.3680043.21561                1   0   1   0   0   0   0   0\n3  1.2.826.0.1.3680043.12351                0   0   0   0   0   0   0   0\n4   1.2.826.0.1.3680043.1363                1   0   0   0   0   1   0   0","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>StudyInstanceUID</th>\n      <th>patient_overall</th>\n      <th>C1</th>\n      <th>C2</th>\n      <th>C3</th>\n      <th>C4</th>\n      <th>C5</th>\n      <th>C6</th>\n      <th>C7</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.2.826.0.1.3680043.6200</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1.2.826.0.1.3680043.27262</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1.2.826.0.1.3680043.21561</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1.2.826.0.1.3680043.12351</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1.2.826.0.1.3680043.1363</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"df['patient_overall'].sum()/df.shape[0]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:50:52.101304Z","iopub.execute_input":"2024-08-24T12:50:52.101833Z","iopub.status.idle":"2024-08-24T12:50:52.111603Z","shell.execute_reply.started":"2024-08-24T12:50:52.101771Z","shell.execute_reply":"2024-08-24T12:50:52.110131Z"},"trusted":true},"execution_count":153,"outputs":[{"execution_count":153,"output_type":"execute_result","data":{"text/plain":"0.4759782070331847"},"metadata":{}}]},{"cell_type":"code","source":"columns = df.iloc[:,1:].columns","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:51:35.766086Z","iopub.execute_input":"2024-08-24T12:51:35.766638Z","iopub.status.idle":"2024-08-24T12:51:35.773897Z","shell.execute_reply.started":"2024-08-24T12:51:35.766588Z","shell.execute_reply":"2024-08-24T12:51:35.772362Z"},"trusted":true},"execution_count":155,"outputs":[]},{"cell_type":"code","source":"fracture_proportion = {col:(df[col].sum()/df.shape[0])*100 for col in columns}","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:51:56.534818Z","iopub.execute_input":"2024-08-24T12:51:56.535313Z","iopub.status.idle":"2024-08-24T12:51:56.542998Z","shell.execute_reply.started":"2024-08-24T12:51:56.535269Z","shell.execute_reply":"2024-08-24T12:51:56.541572Z"},"trusted":true},"execution_count":156,"outputs":[]},{"cell_type":"code","source":"fracture_proportion['no_fractures'] = 100 - fracture_proportion['patient_overall']","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:51:57.885445Z","iopub.execute_input":"2024-08-24T12:51:57.885921Z","iopub.status.idle":"2024-08-24T12:51:57.892277Z","shell.execute_reply.started":"2024-08-24T12:51:57.885878Z","shell.execute_reply":"2024-08-24T12:51:57.890753Z"},"trusted":true},"execution_count":157,"outputs":[]},{"cell_type":"markdown","source":"#  Facture proportion","metadata":{}},{"cell_type":"code","source":"fracture_proportion","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:43:00.214573Z","iopub.execute_input":"2024-08-24T09:43:00.215132Z","iopub.status.idle":"2024-08-24T09:43:00.224112Z","shell.execute_reply.started":"2024-08-24T09:43:00.215083Z","shell.execute_reply":"2024-08-24T09:43:00.222604Z"},"trusted":true},"execution_count":45,"outputs":[{"execution_count":45,"output_type":"execute_result","data":{"text/plain":"{'patient_overall': 47.59782070331847,\n 'C1': 7.231302625061913,\n 'C2': 14.115898959881129,\n 'C3': 3.6156513125309564,\n 'C4': 5.349182763744428,\n 'C5': 8.023774145616642,\n 'C6': 13.719663199603765,\n 'C7': 19.46508172362556,\n 'no_fractures': 52.40217929668153}"},"metadata":{}}]},{"cell_type":"code","source":"len(df.StudyInstanceUID.unique())","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:43:27.952571Z","iopub.execute_input":"2024-08-24T09:43:27.953891Z","iopub.status.idle":"2024-08-24T09:43:27.964619Z","shell.execute_reply.started":"2024-08-24T09:43:27.953826Z","shell.execute_reply":"2024-08-24T09:43:27.963418Z"},"trusted":true},"execution_count":47,"outputs":[{"execution_count":47,"output_type":"execute_result","data":{"text/plain":"2019"},"metadata":{}}]},{"cell_type":"code","source":"df.columns","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:54:25.295359Z","iopub.execute_input":"2024-08-24T12:54:25.295856Z","iopub.status.idle":"2024-08-24T12:54:25.304415Z","shell.execute_reply.started":"2024-08-24T12:54:25.295814Z","shell.execute_reply":"2024-08-24T12:54:25.303082Z"},"trusted":true},"execution_count":164,"outputs":[{"execution_count":164,"output_type":"execute_result","data":{"text/plain":"Index(['StudyInstanceUID', 'patient_overall', 'C1', 'C2', 'C3', 'C4', 'C5',\n       'C6', 'C7'],\n      dtype='object')"},"metadata":{}}]},{"cell_type":"code","source":"df.isnull().sum().sum()\n","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:43:54.327928Z","iopub.execute_input":"2024-08-24T09:43:54.328502Z","iopub.status.idle":"2024-08-24T09:43:54.339035Z","shell.execute_reply.started":"2024-08-24T09:43:54.328453Z","shell.execute_reply":"2024-08-24T09:43:54.337565Z"},"trusted":true},"execution_count":48,"outputs":[{"execution_count":48,"output_type":"execute_result","data":{"text/plain":"0"},"metadata":{}}]},{"cell_type":"code","source":"train_study_ids = list(df['StudyInstanceUID'].unique())\n","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:53:16.791112Z","iopub.execute_input":"2024-08-24T12:53:16.791561Z","iopub.status.idle":"2024-08-24T12:53:16.798269Z","shell.execute_reply.started":"2024-08-24T12:53:16.791521Z","shell.execute_reply":"2024-08-24T12:53:16.796897Z"},"trusted":true},"execution_count":160,"outputs":[]},{"cell_type":"code","source":"len(train_study_ids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:53:57.78914Z","iopub.execute_input":"2024-08-24T12:53:57.789602Z","iopub.status.idle":"2024-08-24T12:53:57.798097Z","shell.execute_reply.started":"2024-08-24T12:53:57.789562Z","shell.execute_reply":"2024-08-24T12:53:57.796768Z"},"trusted":true},"execution_count":163,"outputs":[{"execution_count":163,"output_type":"execute_result","data":{"text/plain":"2019"},"metadata":{}}]},{"cell_type":"code","source":"train_image_studyids = os.listdir(os.path.join(base_dir,'train_images'))","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:52:48.370714Z","iopub.execute_input":"2024-08-24T12:52:48.371241Z","iopub.status.idle":"2024-08-24T12:52:48.381253Z","shell.execute_reply.started":"2024-08-24T12:52:48.371196Z","shell.execute_reply":"2024-08-24T12:52:48.37999Z"},"trusted":true},"execution_count":159,"outputs":[]},{"cell_type":"code","source":"len(train_image_studyids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:45:47.3471Z","iopub.execute_input":"2024-08-24T09:45:47.347637Z","iopub.status.idle":"2024-08-24T09:45:47.356457Z","shell.execute_reply.started":"2024-08-24T09:45:47.34759Z","shell.execute_reply":"2024-08-24T09:45:47.355187Z"},"trusted":true},"execution_count":51,"outputs":[{"execution_count":51,"output_type":"execute_result","data":{"text/plain":"2019"},"metadata":{}}]},{"cell_type":"code","source":"missing_train_images = [id for id in train_study_ids if id not in train_image_studyids]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:55:27.683795Z","iopub.execute_input":"2024-08-24T12:55:27.684278Z","iopub.status.idle":"2024-08-24T12:55:27.755061Z","shell.execute_reply.started":"2024-08-24T12:55:27.684237Z","shell.execute_reply":"2024-08-24T12:55:27.753663Z"},"trusted":true},"execution_count":165,"outputs":[]},{"cell_type":"code","source":"missing_train_images","metadata":{"execution":{"iopub.status.busy":"2024-08-24T12:55:58.666282Z","iopub.execute_input":"2024-08-24T12:55:58.666818Z","iopub.status.idle":"2024-08-24T12:55:58.675751Z","shell.execute_reply.started":"2024-08-24T12:55:58.666757Z","shell.execute_reply":"2024-08-24T12:55:58.674208Z"},"trusted":true},"execution_count":166,"outputs":[{"execution_count":166,"output_type":"execute_result","data":{"text/plain":"[]"},"metadata":{}}]},{"cell_type":"markdown","source":"# Summary of training data\n1. There are 2019 patients (study ids) available in the training data\n2. All the 2019 patients have training images\n3. 47% of the patients have fractures\n4. The fracture counts are in the order of C7,C2,C6,C5,C1,C4,C3\n5. All the training images are in DICOM format.\n6. Each patient has multiple slices of CT scans taken from different views\n7. All the images are in Saggital View","metadata":{}},{"cell_type":"markdown","source":"# Segmentation data analyis","metadata":{}},{"cell_type":"code","source":"segmentations = os.path.join(base_dir,'segmentations')\nsegmentation_ids = [id[:-4] for id in os.listdir(segmentations)]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:52:37.751429Z","iopub.execute_input":"2024-08-24T09:52:37.752009Z","iopub.status.idle":"2024-08-24T09:52:37.798277Z","shell.execute_reply.started":"2024-08-24T09:52:37.751954Z","shell.execute_reply":"2024-08-24T09:52:37.797091Z"},"trusted":true},"execution_count":55,"outputs":[]},{"cell_type":"code","source":"len(segmentation_ids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:52:56.985618Z","iopub.execute_input":"2024-08-24T09:52:56.986492Z","iopub.status.idle":"2024-08-24T09:52:56.99473Z","shell.execute_reply.started":"2024-08-24T09:52:56.986437Z","shell.execute_reply":"2024-08-24T09:52:56.993347Z"},"trusted":true},"execution_count":56,"outputs":[{"execution_count":56,"output_type":"execute_result","data":{"text/plain":"87"},"metadata":{}}]},{"cell_type":"code","source":"segmentation_ids.sort()","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:53:06.132373Z","iopub.execute_input":"2024-08-24T09:53:06.13295Z","iopub.status.idle":"2024-08-24T09:53:06.138766Z","shell.execute_reply.started":"2024-08-24T09:53:06.132901Z","shell.execute_reply":"2024-08-24T09:53:06.137604Z"},"trusted":true},"execution_count":57,"outputs":[]},{"cell_type":"code","source":"segmentation_ids","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:53:14.448459Z","iopub.execute_input":"2024-08-24T09:53:14.448971Z","iopub.status.idle":"2024-08-24T09:53:14.459211Z","shell.execute_reply.started":"2024-08-24T09:53:14.448922Z","shell.execute_reply":"2024-08-24T09:53:14.457831Z"},"trusted":true},"execution_count":58,"outputs":[{"execution_count":58,"output_type":"execute_result","data":{"text/plain":"['1.2.826.0.1.3680043.10633',\n '1.2.826.0.1.3680043.10921',\n '1.2.826.0.1.3680043.11827',\n '1.2.826.0.1.3680043.11988',\n '1.2.826.0.1.3680043.12281',\n '1.2.826.0.1.3680043.12292',\n '1.2.826.0.1.3680043.12833',\n '1.2.826.0.1.3680043.1363',\n '1.2.826.0.1.3680043.14267',\n '1.2.826.0.1.3680043.1480',\n '1.2.826.0.1.3680043.15206',\n '1.2.826.0.1.3680043.1542',\n '1.2.826.0.1.3680043.1573',\n '1.2.826.0.1.3680043.16092',\n '1.2.826.0.1.3680043.16919',\n '1.2.826.0.1.3680043.17481',\n '1.2.826.0.1.3680043.17960',\n '1.2.826.0.1.3680043.18480',\n '1.2.826.0.1.3680043.1868',\n '1.2.826.0.1.3680043.18906',\n '1.2.826.0.1.3680043.18935',\n '1.2.826.0.1.3680043.18968',\n '1.2.826.0.1.3680043.19021',\n '1.2.826.0.1.3680043.19333',\n '1.2.826.0.1.3680043.19388',\n '1.2.826.0.1.3680043.20120',\n '1.2.826.0.1.3680043.20647',\n '1.2.826.0.1.3680043.20928',\n '1.2.826.0.1.3680043.21321',\n '1.2.826.0.1.3680043.21651',\n '1.2.826.0.1.3680043.2243',\n '1.2.826.0.1.3680043.23904',\n '1.2.826.0.1.3680043.24140',\n '1.2.826.0.1.3680043.24606',\n '1.2.826.0.1.3680043.24617',\n '1.2.826.0.1.3680043.24891',\n '1.2.826.0.1.3680043.25704',\n '1.2.826.0.1.3680043.25833',\n '1.2.826.0.1.3680043.26068',\n '1.2.826.0.1.3680043.26110',\n '1.2.826.0.1.3680043.26442',\n '1.2.826.0.1.3680043.26492',\n '1.2.826.0.1.3680043.26498',\n '1.2.826.0.1.3680043.26740',\n '1.2.826.0.1.3680043.26898',\n '1.2.826.0.1.3680043.26979',\n '1.2.826.0.1.3680043.26990',\n '1.2.826.0.1.3680043.27016',\n '1.2.826.0.1.3680043.27292',\n '1.2.826.0.1.3680043.27752',\n '1.2.826.0.1.3680043.28025',\n '1.2.826.0.1.3680043.28327',\n '1.2.826.0.1.3680043.28665',\n '1.2.826.0.1.3680043.29425',\n '1.2.826.0.1.3680043.30067',\n '1.2.826.0.1.3680043.30487',\n '1.2.826.0.1.3680043.30524',\n '1.2.826.0.1.3680043.30565',\n '1.2.826.0.1.3680043.30640',\n '1.2.826.0.1.3680043.31077',\n '1.2.826.0.1.3680043.3168',\n '1.2.826.0.1.3680043.32071',\n '1.2.826.0.1.3680043.32280',\n '1.2.826.0.1.3680043.32370',\n '1.2.826.0.1.3680043.32434',\n '1.2.826.0.1.3680043.32436',\n '1.2.826.0.1.3680043.32590',\n '1.2.826.0.1.3680043.32658',\n '1.2.826.0.1.3680043.3376',\n '1.2.826.0.1.3680043.3882',\n '1.2.826.0.1.3680043.3992',\n '1.2.826.0.1.3680043.4202',\n '1.2.826.0.1.3680043.4769',\n '1.2.826.0.1.3680043.5002',\n '1.2.826.0.1.3680043.5671',\n '1.2.826.0.1.3680043.5782',\n '1.2.826.0.1.3680043.5783',\n '1.2.826.0.1.3680043.6078',\n '1.2.826.0.1.3680043.6125',\n '1.2.826.0.1.3680043.6376',\n '1.2.826.0.1.3680043.780',\n '1.2.826.0.1.3680043.8024',\n '1.2.826.0.1.3680043.8330',\n '1.2.826.0.1.3680043.8574',\n '1.2.826.0.1.3680043.8744',\n '1.2.826.0.1.3680043.8884',\n '1.2.826.0.1.3680043.9926']"},"metadata":{}}]},{"cell_type":"code","source":"train_segmentation_ids = [id for id in segmentation_ids if id in train_study_ids]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:53:30.211549Z","iopub.execute_input":"2024-08-24T09:53:30.212081Z","iopub.status.idle":"2024-08-24T09:53:30.221281Z","shell.execute_reply.started":"2024-08-24T09:53:30.212037Z","shell.execute_reply":"2024-08-24T09:53:30.219868Z"},"trusted":true},"execution_count":59,"outputs":[]},{"cell_type":"code","source":"len(train_segmentation_ids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:53:42.882919Z","iopub.execute_input":"2024-08-24T09:53:42.883412Z","iopub.status.idle":"2024-08-24T09:53:42.891909Z","shell.execute_reply.started":"2024-08-24T09:53:42.883366Z","shell.execute_reply":"2024-08-24T09:53:42.890375Z"},"trusted":true},"execution_count":60,"outputs":[{"execution_count":60,"output_type":"execute_result","data":{"text/plain":"87"},"metadata":{}}]},{"cell_type":"code","source":"train_images_segmentation_ids = [id for id in segmentation_ids if id in train_image_studyids]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:53:50.649149Z","iopub.execute_input":"2024-08-24T09:53:50.649622Z","iopub.status.idle":"2024-08-24T09:53:50.659561Z","shell.execute_reply.started":"2024-08-24T09:53:50.649578Z","shell.execute_reply":"2024-08-24T09:53:50.658063Z"},"trusted":true},"execution_count":61,"outputs":[]},{"cell_type":"code","source":"len(train_images_segmentation_ids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:54:03.993704Z","iopub.execute_input":"2024-08-24T09:54:03.994228Z","iopub.status.idle":"2024-08-24T09:54:04.003171Z","shell.execute_reply.started":"2024-08-24T09:54:03.994181Z","shell.execute_reply":"2024-08-24T09:54:04.001743Z"},"trusted":true},"execution_count":62,"outputs":[{"execution_count":62,"output_type":"execute_result","data":{"text/plain":"87"},"metadata":{}}]},{"cell_type":"code","source":"no_segmentation_ids = [id for id in train_study_ids if id not in segmentation_ids]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:54:12.018142Z","iopub.execute_input":"2024-08-24T09:54:12.018606Z","iopub.status.idle":"2024-08-24T09:54:12.031332Z","shell.execute_reply.started":"2024-08-24T09:54:12.018567Z","shell.execute_reply":"2024-08-24T09:54:12.029874Z"},"trusted":true},"execution_count":63,"outputs":[]},{"cell_type":"code","source":"len(no_segmentation_ids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T09:54:19.528326Z","iopub.execute_input":"2024-08-24T09:54:19.528914Z","iopub.status.idle":"2024-08-24T09:54:19.537984Z","shell.execute_reply.started":"2024-08-24T09:54:19.528857Z","shell.execute_reply":"2024-08-24T09:54:19.536472Z"},"trusted":true},"execution_count":64,"outputs":[{"execution_count":64,"output_type":"execute_result","data":{"text/plain":"1932"},"metadata":{}}]},{"cell_type":"markdown","source":"# Training bounding boxes analysis","metadata":{}},{"cell_type":"code","source":"train_bounding_boxes = pd.read_csv(os.path.join(base_dir,\"train_bounding_boxes.csv\"))","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:03.068307Z","iopub.execute_input":"2024-08-24T13:01:03.069028Z","iopub.status.idle":"2024-08-24T13:01:03.103644Z","shell.execute_reply.started":"2024-08-24T13:01:03.068929Z","shell.execute_reply":"2024-08-24T13:01:03.102296Z"},"trusted":true},"execution_count":168,"outputs":[]},{"cell_type":"code","source":"train_bounding_boxes.info()","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:04.334865Z","iopub.execute_input":"2024-08-24T13:01:04.335358Z","iopub.status.idle":"2024-08-24T13:01:04.353203Z","shell.execute_reply.started":"2024-08-24T13:01:04.33531Z","shell.execute_reply":"2024-08-24T13:01:04.351502Z"},"trusted":true},"execution_count":169,"outputs":[{"name":"stdout","text":"<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 7217 entries, 0 to 7216\nData columns (total 6 columns):\n #   Column            Non-Null Count  Dtype  \n---  ------            --------------  -----  \n 0   StudyInstanceUID  7217 non-null   object \n 1   x                 7217 non-null   float64\n 2   y                 7217 non-null   float64\n 3   width             7217 non-null   float64\n 4   height            7217 non-null   float64\n 5   slice_number      7217 non-null   int64  \ndtypes: float64(4), int64(1), object(1)\nmemory usage: 338.4+ KB\n","output_type":"stream"}]},{"cell_type":"code","source":"train_bounding_boxes.head(1)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:05.503555Z","iopub.execute_input":"2024-08-24T13:01:05.504101Z","iopub.status.idle":"2024-08-24T13:01:05.522072Z","shell.execute_reply.started":"2024-08-24T13:01:05.504051Z","shell.execute_reply":"2024-08-24T13:01:05.520437Z"},"trusted":true},"execution_count":170,"outputs":[{"execution_count":170,"output_type":"execute_result","data":{"text/plain":"            StudyInstanceUID          x          y    width    height  \\\n0  1.2.826.0.1.3680043.10051  219.27715  216.71419  17.3044  20.38517   \n\n   slice_number  \n0           133  ","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>StudyInstanceUID</th>\n      <th>x</th>\n      <th>y</th>\n      <th>width</th>\n      <th>height</th>\n      <th>slice_number</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.2.826.0.1.3680043.10051</td>\n      <td>219.27715</td>\n      <td>216.71419</td>\n      <td>17.3044</td>\n      <td>20.38517</td>\n      <td>133</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"train_bounding_box_ids = list(train_bounding_boxes['StudyInstanceUID'].unique())","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:06.64341Z","iopub.execute_input":"2024-08-24T13:01:06.643952Z","iopub.status.idle":"2024-08-24T13:01:06.651399Z","shell.execute_reply.started":"2024-08-24T13:01:06.643905Z","shell.execute_reply":"2024-08-24T13:01:06.649999Z"},"trusted":true},"execution_count":171,"outputs":[]},{"cell_type":"code","source":"len(train_bounding_box_ids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:09.942085Z","iopub.execute_input":"2024-08-24T13:01:09.942531Z","iopub.status.idle":"2024-08-24T13:01:09.951556Z","shell.execute_reply.started":"2024-08-24T13:01:09.94249Z","shell.execute_reply":"2024-08-24T13:01:09.950029Z"},"trusted":true},"execution_count":172,"outputs":[{"execution_count":172,"output_type":"execute_result","data":{"text/plain":"235"},"metadata":{}}]},{"cell_type":"code","source":"#Get total slice count or each patient \nstudy_slices = train_bounding_boxes.groupby(['StudyInstanceUID'])['slice_number'].count().reset_index().sort_values(by='slice_number',ascending=False)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:11.026821Z","iopub.execute_input":"2024-08-24T13:01:11.027297Z","iopub.status.idle":"2024-08-24T13:01:11.039282Z","shell.execute_reply.started":"2024-08-24T13:01:11.027254Z","shell.execute_reply":"2024-08-24T13:01:11.037791Z"},"trusted":true},"execution_count":173,"outputs":[]},{"cell_type":"code","source":"study_slices = study_slices.reset_index(drop=True).rename(columns={'slice_number':'total_slice_count'})\n","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:12.396237Z","iopub.execute_input":"2024-08-24T13:01:12.39669Z","iopub.status.idle":"2024-08-24T13:01:12.404461Z","shell.execute_reply.started":"2024-08-24T13:01:12.396649Z","shell.execute_reply":"2024-08-24T13:01:12.402824Z"},"trusted":true},"execution_count":174,"outputs":[]},{"cell_type":"code","source":"study_slices","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:14.255494Z","iopub.execute_input":"2024-08-24T13:01:14.255997Z","iopub.status.idle":"2024-08-24T13:01:14.270235Z","shell.execute_reply.started":"2024-08-24T13:01:14.255944Z","shell.execute_reply":"2024-08-24T13:01:14.268576Z"},"trusted":true},"execution_count":175,"outputs":[{"execution_count":175,"output_type":"execute_result","data":{"text/plain":"              StudyInstanceUID  total_slice_count\n0     1.2.826.0.1.3680043.5783                167\n1    1.2.826.0.1.3680043.25772                166\n2    1.2.826.0.1.3680043.31077                143\n3    1.2.826.0.1.3680043.21321                132\n4    1.2.826.0.1.3680043.19778                100\n..                         ...                ...\n230  1.2.826.0.1.3680043.30524                  5\n231  1.2.826.0.1.3680043.17208                  4\n232  1.2.826.0.1.3680043.10579                  3\n233  1.2.826.0.1.3680043.27016                  2\n234    1.2.826.0.1.3680043.780                  2\n\n[235 rows x 2 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>StudyInstanceUID</th>\n      <th>total_slice_count</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.2.826.0.1.3680043.5783</td>\n      <td>167</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1.2.826.0.1.3680043.25772</td>\n      <td>166</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1.2.826.0.1.3680043.31077</td>\n      <td>143</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1.2.826.0.1.3680043.21321</td>\n      <td>132</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1.2.826.0.1.3680043.19778</td>\n      <td>100</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>230</th>\n      <td>1.2.826.0.1.3680043.30524</td>\n      <td>5</td>\n    </tr>\n    <tr>\n      <th>231</th>\n      <td>1.2.826.0.1.3680043.17208</td>\n      <td>4</td>\n    </tr>\n    <tr>\n      <th>232</th>\n      <td>1.2.826.0.1.3680043.10579</td>\n      <td>3</td>\n    </tr>\n    <tr>\n      <th>233</th>\n      <td>1.2.826.0.1.3680043.27016</td>\n      <td>2</td>\n    </tr>\n    <tr>\n      <th>234</th>\n      <td>1.2.826.0.1.3680043.780</td>\n      <td>2</td>\n    </tr>\n  </tbody>\n</table>\n<p>235 rows × 2 columns</p>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"train_seg_bounding_boxes_ids = [id for id in train_segmentation_ids if id in train_bounding_box_ids]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:15.544084Z","iopub.execute_input":"2024-08-24T13:01:15.54457Z","iopub.status.idle":"2024-08-24T13:01:15.556992Z","shell.execute_reply.started":"2024-08-24T13:01:15.544525Z","shell.execute_reply":"2024-08-24T13:01:15.554983Z"},"trusted":true},"execution_count":176,"outputs":[]},{"cell_type":"code","source":"len(train_seg_bounding_boxes_ids)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:17.682372Z","iopub.execute_input":"2024-08-24T13:01:17.682889Z","iopub.status.idle":"2024-08-24T13:01:17.692389Z","shell.execute_reply.started":"2024-08-24T13:01:17.682843Z","shell.execute_reply":"2024-08-24T13:01:17.690858Z"},"trusted":true},"execution_count":177,"outputs":[{"execution_count":177,"output_type":"execute_result","data":{"text/plain":"40"},"metadata":{}}]},{"cell_type":"code","source":"study_slices[study_slices['StudyInstanceUID'].isin(train_seg_bounding_boxes_ids)]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:18.663071Z","iopub.execute_input":"2024-08-24T13:01:18.663547Z","iopub.status.idle":"2024-08-24T13:01:18.680734Z","shell.execute_reply.started":"2024-08-24T13:01:18.663501Z","shell.execute_reply":"2024-08-24T13:01:18.679503Z"},"trusted":true},"execution_count":178,"outputs":[{"execution_count":178,"output_type":"execute_result","data":{"text/plain":"              StudyInstanceUID  total_slice_count\n0     1.2.826.0.1.3680043.5783                167\n2    1.2.826.0.1.3680043.31077                143\n3    1.2.826.0.1.3680043.21321                132\n7    1.2.826.0.1.3680043.23904                 97\n14   1.2.826.0.1.3680043.26492                 74\n23   1.2.826.0.1.3680043.26498                 59\n28   1.2.826.0.1.3680043.26990                 55\n31    1.2.826.0.1.3680043.1573                 54\n34    1.2.826.0.1.3680043.5671                 54\n36   1.2.826.0.1.3680043.14267                 50\n38   1.2.826.0.1.3680043.32071                 50\n39   1.2.826.0.1.3680043.20120                 49\n59   1.2.826.0.1.3680043.28327                 38\n63   1.2.826.0.1.3680043.19388                 37\n73   1.2.826.0.1.3680043.21651                 34\n75   1.2.826.0.1.3680043.26110                 34\n94   1.2.826.0.1.3680043.20928                 29\n95    1.2.826.0.1.3680043.1480                 28\n109   1.2.826.0.1.3680043.8330                 26\n112  1.2.826.0.1.3680043.17481                 24\n115  1.2.826.0.1.3680043.26898                 24\n120  1.2.826.0.1.3680043.12292                 23\n127  1.2.826.0.1.3680043.26979                 22\n130  1.2.826.0.1.3680043.11988                 21\n138   1.2.826.0.1.3680043.4202                 19\n147   1.2.826.0.1.3680043.3168                 18\n157  1.2.826.0.1.3680043.30640                 17\n158   1.2.826.0.1.3680043.3882                 16\n166  1.2.826.0.1.3680043.28665                 15\n174  1.2.826.0.1.3680043.11827                 14\n177  1.2.826.0.1.3680043.15206                 14\n191   1.2.826.0.1.3680043.9926                 11\n194   1.2.826.0.1.3680043.5002                 11\n215  1.2.826.0.1.3680043.25833                  7\n217   1.2.826.0.1.3680043.1363                  7\n221  1.2.826.0.1.3680043.32436                  6\n225   1.2.826.0.1.3680043.4769                  6\n230  1.2.826.0.1.3680043.30524                  5\n233  1.2.826.0.1.3680043.27016                  2\n234    1.2.826.0.1.3680043.780                  2","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>StudyInstanceUID</th>\n      <th>total_slice_count</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.2.826.0.1.3680043.5783</td>\n      <td>167</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1.2.826.0.1.3680043.31077</td>\n      <td>143</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1.2.826.0.1.3680043.21321</td>\n      <td>132</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>1.2.826.0.1.3680043.23904</td>\n      <td>97</td>\n    </tr>\n    <tr>\n      <th>14</th>\n      <td>1.2.826.0.1.3680043.26492</td>\n      <td>74</td>\n    </tr>\n    <tr>\n      <th>23</th>\n      <td>1.2.826.0.1.3680043.26498</td>\n      <td>59</td>\n    </tr>\n    <tr>\n      <th>28</th>\n      <td>1.2.826.0.1.3680043.26990</td>\n      <td>55</td>\n    </tr>\n    <tr>\n      <th>31</th>\n      <td>1.2.826.0.1.3680043.1573</td>\n      <td>54</td>\n    </tr>\n    <tr>\n      <th>34</th>\n      <td>1.2.826.0.1.3680043.5671</td>\n      <td>54</td>\n    </tr>\n    <tr>\n      <th>36</th>\n      <td>1.2.826.0.1.3680043.14267</td>\n      <td>50</td>\n    </tr>\n    <tr>\n      <th>38</th>\n      <td>1.2.826.0.1.3680043.32071</td>\n      <td>50</td>\n    </tr>\n    <tr>\n      <th>39</th>\n      <td>1.2.826.0.1.3680043.20120</td>\n      <td>49</td>\n    </tr>\n    <tr>\n      <th>59</th>\n      <td>1.2.826.0.1.3680043.28327</td>\n      <td>38</td>\n    </tr>\n    <tr>\n      <th>63</th>\n      <td>1.2.826.0.1.3680043.19388</td>\n      <td>37</td>\n    </tr>\n    <tr>\n      <th>73</th>\n      <td>1.2.826.0.1.3680043.21651</td>\n      <td>34</td>\n    </tr>\n    <tr>\n      <th>75</th>\n      <td>1.2.826.0.1.3680043.26110</td>\n      <td>34</td>\n    </tr>\n    <tr>\n      <th>94</th>\n      <td>1.2.826.0.1.3680043.20928</td>\n      <td>29</td>\n    </tr>\n    <tr>\n      <th>95</th>\n      <td>1.2.826.0.1.3680043.1480</td>\n      <td>28</td>\n    </tr>\n    <tr>\n      <th>109</th>\n      <td>1.2.826.0.1.3680043.8330</td>\n      <td>26</td>\n    </tr>\n    <tr>\n      <th>112</th>\n      <td>1.2.826.0.1.3680043.17481</td>\n      <td>24</td>\n    </tr>\n    <tr>\n      <th>115</th>\n      <td>1.2.826.0.1.3680043.26898</td>\n      <td>24</td>\n    </tr>\n    <tr>\n      <th>120</th>\n      <td>1.2.826.0.1.3680043.12292</td>\n      <td>23</td>\n    </tr>\n    <tr>\n      <th>127</th>\n      <td>1.2.826.0.1.3680043.26979</td>\n      <td>22</td>\n    </tr>\n    <tr>\n      <th>130</th>\n      <td>1.2.826.0.1.3680043.11988</td>\n      <td>21</td>\n    </tr>\n    <tr>\n      <th>138</th>\n      <td>1.2.826.0.1.3680043.4202</td>\n      <td>19</td>\n    </tr>\n    <tr>\n      <th>147</th>\n      <td>1.2.826.0.1.3680043.3168</td>\n      <td>18</td>\n    </tr>\n    <tr>\n      <th>157</th>\n      <td>1.2.826.0.1.3680043.30640</td>\n      <td>17</td>\n    </tr>\n    <tr>\n      <th>158</th>\n      <td>1.2.826.0.1.3680043.3882</td>\n      <td>16</td>\n    </tr>\n    <tr>\n      <th>166</th>\n      <td>1.2.826.0.1.3680043.28665</td>\n      <td>15</td>\n    </tr>\n    <tr>\n      <th>174</th>\n      <td>1.2.826.0.1.3680043.11827</td>\n      <td>14</td>\n    </tr>\n    <tr>\n      <th>177</th>\n      <td>1.2.826.0.1.3680043.15206</td>\n      <td>14</td>\n    </tr>\n    <tr>\n      <th>191</th>\n      <td>1.2.826.0.1.3680043.9926</td>\n      <td>11</td>\n    </tr>\n    <tr>\n      <th>194</th>\n      <td>1.2.826.0.1.3680043.5002</td>\n      <td>11</td>\n    </tr>\n    <tr>\n      <th>215</th>\n      <td>1.2.826.0.1.3680043.25833</td>\n      <td>7</td>\n    </tr>\n    <tr>\n      <th>217</th>\n      <td>1.2.826.0.1.3680043.1363</td>\n      <td>7</td>\n    </tr>\n    <tr>\n      <th>221</th>\n      <td>1.2.826.0.1.3680043.32436</td>\n      <td>6</td>\n    </tr>\n    <tr>\n      <th>225</th>\n      <td>1.2.826.0.1.3680043.4769</td>\n      <td>6</td>\n    </tr>\n    <tr>\n      <th>230</th>\n      <td>1.2.826.0.1.3680043.30524</td>\n      <td>5</td>\n    </tr>\n    <tr>\n      <th>233</th>\n      <td>1.2.826.0.1.3680043.27016</td>\n      <td>2</td>\n    </tr>\n    <tr>\n      <th>234</th>\n      <td>1.2.826.0.1.3680043.780</td>\n      <td>2</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"#pick study instance id with minimal slice count to quickly check the data\ntrain_bounding_boxes[train_bounding_boxes['StudyInstanceUID']=='1.2.826.0.1.3680043.780']\n","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:20.188651Z","iopub.execute_input":"2024-08-24T13:01:20.189804Z","iopub.status.idle":"2024-08-24T13:01:20.208348Z","shell.execute_reply.started":"2024-08-24T13:01:20.18967Z","shell.execute_reply":"2024-08-24T13:01:20.206836Z"},"trusted":true},"execution_count":179,"outputs":[{"execution_count":179,"output_type":"execute_result","data":{"text/plain":"             StudyInstanceUID          x          y     width    height  \\\n6994  1.2.826.0.1.3680043.780  181.00000  173.00000  68.00000  69.00000   \n6995  1.2.826.0.1.3680043.780  182.21414  173.25253  66.19798  57.92323   \n\n      slice_number  \n6994            86  \n6995            87  ","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>StudyInstanceUID</th>\n      <th>x</th>\n      <th>y</th>\n      <th>width</th>\n      <th>height</th>\n      <th>slice_number</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>6994</th>\n      <td>1.2.826.0.1.3680043.780</td>\n      <td>181.00000</td>\n      <td>173.00000</td>\n      <td>68.00000</td>\n      <td>69.00000</td>\n      <td>86</td>\n    </tr>\n    <tr>\n      <th>6995</th>\n      <td>1.2.826.0.1.3680043.780</td>\n      <td>182.21414</td>\n      <td>173.25253</td>\n      <td>66.19798</td>\n      <td>57.92323</td>\n      <td>87</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"#Get list of ids who have bounding boxes but no segmentation images\ntrain_data_boxes_id = [id for id in train_study_ids if (id in train_bounding_box_ids and id not in train_segmentation_ids)]","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:21.296829Z","iopub.execute_input":"2024-08-24T13:01:21.297282Z","iopub.status.idle":"2024-08-24T13:01:21.318989Z","shell.execute_reply.started":"2024-08-24T13:01:21.29724Z","shell.execute_reply":"2024-08-24T13:01:21.317344Z"},"trusted":true},"execution_count":180,"outputs":[]},{"cell_type":"code","source":"len(train_data_boxes_id)","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:01:23.495761Z","iopub.execute_input":"2024-08-24T13:01:23.496257Z","iopub.status.idle":"2024-08-24T13:01:23.504964Z","shell.execute_reply.started":"2024-08-24T13:01:23.496209Z","shell.execute_reply":"2024-08-24T13:01:23.503591Z"},"trusted":true},"execution_count":181,"outputs":[{"execution_count":181,"output_type":"execute_result","data":{"text/plain":"195"},"metadata":{}}]},{"cell_type":"markdown","source":"# Summary of bounding box Data\n","metadata":{}},{"cell_type":"code","source":"#EDA code Inspired from https://www.kaggle.com/code/samuelcortinhas/rsna-fracture-detection-in-depth-eda\n\n\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport pandas as pd\n\n# Set a different style with a custom color palette\nsns.set(style='whitegrid', font_scale=1.6)\ncustom_palette = sns.color_palette(\"coolwarm\", 7)  # Custom palette with 7 colors\n\nplt.figure(figsize=(20,7))\n\n# First subplot: Fractures by patient\nplt.subplot(1,2,1)\nax1 = sns.countplot(data=df, x='patient_overall', palette=custom_palette)\nfor container in ax1.containers:\n    ax1.bar_label(container, fmt='%d', label_type='edge', padding=5)\nplt.title('Fractures by Patient')\nplt.ylim([0,1300])\nplt.xlabel('Patient Overall')\nplt.ylabel('Count')\n\n# Unpivot train_df for plotting\ntrain_melt = pd.melt(df, id_vars=['StudyInstanceUID', 'patient_overall'],\n                     value_vars=['C1','C2','C3','C4','C5','C6','C7'],\n                     var_name=\"Vertebrae\",\n                     value_name=\"Fractured\")\n\n# Second subplot: Fractures by vertebrae\nplt.subplot(1,2,2)\nax2 = sns.countplot(data=train_melt, x='Vertebrae', hue='Fractured', palette=custom_palette)\nfor container in ax2.containers:\n    ax2.bar_label(container, fmt='%d', label_type='edge', padding=5)\nplt.title('Fractures by Vertebrae')\nplt.xlabel('Vertebrae')\nplt.ylabel('Count')\nplt.legend(title='Fractured', loc='upper right')\n\nplt.tight_layout()","metadata":{"execution":{"iopub.status.busy":"2024-08-24T10:29:23.345357Z","iopub.execute_input":"2024-08-24T10:29:23.346566Z","iopub.status.idle":"2024-08-24T10:29:24.458638Z","shell.execute_reply.started":"2024-08-24T10:29:23.346511Z","shell.execute_reply":"2024-08-24T10:29:24.457386Z"},"trusted":true},"execution_count":115,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 2000x700 with 2 Axes>","image/png":"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fn5+DRwR6cLatWtx9OjRZvWeMVFNRERERERERNTIysvLsWXLFvj7+6NNmzb497//jWHDhsHc3BxJSUn4+eef4e/vj48++gg3b97EZ599BqlUqlXf8tlWFhYWtZpddvToUVRWVkIQBGRlZSEkJATfffcdtmzZAl9fX3z77bcq99ImImru6vNlvI2NDd555x2888479YqhvjOcnZycnrlZ0o3Jzc0NYWFhiI2NRUREhMrfd6dPnwZQldQeMmSIVv2WlZXpbHnuixcvIisrCwBnUxPV1bVr1zBv3jwAqlevoMbHRDURERERERERUSPbvHkzAgICYGNjg8DAQLRp00Yss7KywoYNG9C5c2ds2rQJJ06cwIABAzB79uwa+42JicHdu3cBAJMnT4aRkZHWMZmYmIjH5ubmcHZ2xqRJk+Dp6YmwsDC8/fbb+O233+q05yYREVFz5uXlhRMnTqCkpATe3t5YsWIFhg4dCisrKyQmJiIwMBC+vr6QSCT45z//CUdHR439LV68GI8ePUJpaSmMjIzg4uKCkSNHYu7cuXBwcKhTjPIb0fT09DB16tQ69UFUF3v27NG4uk711QaIaku7W3GJiIiIiIiIiEgn0tPTERgYCACYO3euQpK6ujlz5ohfhB8+fFirvnW9d6WZmRlWr14NoGp/VPlsMiIioqdJ+/btsX//fjg6OiIlJQVr1qzByJEj0bdvX0yePBn79+/H8OHD4ePjA09Pzxr7i4iIQGlpKQCgtLQU9+/fx65du/DSSy/ht99+q3V8OTk5OH/+PABg2LBhaN26da37IKorY2NjmJmZqf1nbGzc1CFSC8ZENRERERERERFRI7pz5w7Ky8sBAL1791ZbTyKRoFevXgCA6OjoGvutrKzEiRMnAAAdO3bEc889p4Noq/bSlgsPD9dJn0TNXWWl0NQh1NvTcA5Ejalfv3749ttv0bNnT5XlKSkpiI+PV9teX18fEyZMwOeff45ffvkFN27cwJ07d3D8+HF4eXnBwMAAhYWFWLVqFf76669axXbq1CnIZDIAwPTp02vVloioOePS30REREREREREjaikpETruhKJROG/mly7dg3JyckAdLt3ZUVFhc76ImoppFIJAk4lIy2zrKlDqRMHW0PMdW/b1GEQtRjl5eXYsmUL/P390aZNG/z73//GsGHDYG5ujqSkJPz888/w9/fH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bN++Hfb29pg1a5ZWsdVm9hcRUUuXllmGxLTSpg6D6snc3LzGyYL1cezYMfH4lVdeqbF+RUUFNmzYgPLycqxcuRK2trY1tnFzc4Obm5vGOm+//Tb279+PnJwcXLhwgYlqeuq1yEQ1ERERERERERFRQ2oOM7fWrFmjsm2rVq3QtWtXTJo0Ce7u7khPT8fu3bu1SlTXdvYXERHR004mk+GXX34BAHTp0gV9+vSpsY2vry/u3buHfv36YdasWbh+/bpOYjEwMEDHjh1x+/ZtpKam6qRPouZM2tQBEBERERERERERNTfymVvyJLWu1XbmlipWVlZ46aWXAFQtVZ6dna2xfl1mfxERET3tLl68iKysLADa/U5OSEjA119/DX19fWzatAlSqW5TbZmZmQCq/hYhetoxUU1ERERERERERNSI6jJzSx0DAwPxuKb9NJ+c/UVERET/f/OYnp4epk6dWmP9jRs3oqioCPPnz0f37t11Gsv9+/fFbTn69++v076JmiMmqomIiIiIiIiIiBpRbWduqVNaWoqgoCAAgIuLi8blxht69hcREVFLlJOTg/PnzwMAhg0bhtatW2usf/z4cVy+fBmOjo5YunSpTmMRBAFbtmwBAEilUt5URs8E7lFNRERERERERETUiGo7c6u6iooKZGRk4O7du9i5cyfi4uIgkUiwatUqje3ks7/eeustnc/+IiIiaqlOnToFmUwGAJg+fbrGullZWWIi+cMPP4SJiYlOY/nmm28QEhICAHj99dfRtWtXnfZP1BwxUU1ERERERERERNRIajtzS+6ll17Co0ePlJ53cnLC+vXr8eKLL6pt25Czv4iIiFoy+c1jFhYWGDdunMa6W7ZsQXZ2NiZMmIAxY8boNI7ffvsNO3bsAAC4ublh9erVOu2fqLniGj9ERERERERERESNpDYzt2piZWUFT09PDBw4UG2dhp79RURE1FLFxMTg7t27AIDJkyfDyMhIbd3Lly/jxIkTMDMzw4YNG3QaR3BwMFavXg1BENCxY0fs2bMHhoaGOh2DqLnijGoiIiIiIiIiIqJGUpuZW9UdPXoUlZWVEAQBWVlZCAkJwXfffYctW7bA19cX3377rcolvRty9hcREVFLJv+dDACvvPKKxrobN24EALz33ntar4aijVu3buHdd99FWVkZ2rVrh71798LOzk5n/RM1d0xUExER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UTFRTUREREREREREREREREREjUq/qQMgIiIiInoWpKamYt++fbh8+TISEhIgCALatm2L0aNHY968eWjbtq1W/Vy4cAHHjx/H7du3kZGRAWNjY9jb26N3794YOXIkJk+erNSmrKwM4eHhuHv3rvgvLi4OgiDA0dER586d0/XpEhERERERERERacRENRERERFRAzt37hxWrVqFoqIihedjYmIQExODw4cP4/PPP8eoUaPU9pGXl4dVq1bh4sWLCs+XlpYiNzcX0dHRCAkJUZmo/uWXX7Bu3TrdnAwREREREREREdWKIAiQSCRNHUazw0Q1EREREVEDCg0NxXvvvYeysjLY2dlh5cqVGDFiBPT19XHjxg18/vnniI2NxfLlyxEYGAhXV1elPgoKCvDGG2/g3r17MDAwwGuvvQZ3d3e0b98elZWVePToEc6dO4dbt25pjEUqlaJTp07o06cPQkJCkJiY2FCnTURERERERET0VMjMLkN5hVDn9vr6EthaG+owoqcHE9VERERERA3os88+Q1lZGUxMTODr6wsXFxexbMKECRg4cCCmTZuGtLQ0bN26FT/88INSH59//jnu3bsHIyMjfPfddxg8eLBCuZ2dHZ5//nm1MfTv3x/79+9Hr169YG5uDgDw9PRkopqIiIiIiIiIqAayCgGy8ronqtXJysoSjwsLC8Xj/Px8hTILCwsYGBjofPzmgIlqIiIiIqIGkpqaiuvXrwMApk+frpCklrOxscGbb76JrVu34sqVK3j48KFCvZiYGBw8eBAA8M477yglqbXRqVMndOrUqY5nQURERERERERUN9bmek0dQp01dOxDhw5V+fzixYsVHvv6+tbp+6CWgIlqIiIiIqIGEh4eLh4PGjRIbb3qZWfPnlVIVB8+fBiCIMDAwABz585tmECJiIiIiIiIiHSsUhAwpp9pU4dRLxWVAiordT+bmqowUU1ERERE1EDy8vLEYysrK7X1qpeFhoYqlF24cAEA0KtXL4V6FRUVkEgkkEqlugqXiIiIiIiIiEhnpBKJzvrKzC6DrB77RNdVZaWAisqG6TsyMrJhOm5BmKgmIiIiImog8v2gASA3N1dtveplDx8+FI8LCgrw6NEjAECXLl1QVlaGffv24ejRo4iLiwMAODo6YvTo0Vi4cCFat26t61MgIiIiIiIiImpy5Q20TzQ1rRaXqM7N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kBDb5//+97/F1jl48KAOHTokqfBD8f333y+TyaQrV64UG/vrr78qJiZGkjRo0KBCZQaDQQ899JCt3/yEdEH526LdddddatasWVluCwAAAACAarV582ZNnz5d165d07BhwzRz5swq7S9/J7KSdj1LSEiQdOOZvHnz5lU6HgAAAABA2blUorpJkya69957JUlRUVF68803lZqaKunGlmBff/21pkyZory8PPn4+GjIkCG22Pr169u2LJs7d67WrFmja9euSbqxynrq1KmyWq3q1KmT7Vzrgp588knVqVNHycnJmjx5su1t8IyMDP3zn//Upk2bZDAY9Pzzz1flrwAAAAAAgEq1ZcsWTZs2Tbm5uXrooYc0e/bsSjlH7pdffrF9bty4caGy/F3PEhISlJycXGx8/q5nHTp0cMmtuwEAAADgVudSZ1RL0htvvKFx48YpISFB//73v/Xvf/9bnp6eslgstgPMvb299f777xc6Z1qSnn76aR05ckSbNm3SzJkz9Y9//EMeHh7KysqSJN1555169913i+23fv36+uCDDxQREaEdO3aoX79+8vHxUWZmpq5fvy6DwaCXXnqJbb8BAAAAADXG9u3bNXXqVOXk5GjAgAF68803Cx27ZY/Vai0xmZ2bm6t58+ZJkgIDA9WmTZtC5V27dpW/v79SU1O1ePHiIiu4k5KStHHjRknSwIEDy3pbAAAAAAAHcKkV1dKNc6k+++wzvfrqq+rcubPq1aunnJwcmc1mtWrVSuPHj9eGDRvUvXv3IrG1atXS/Pnz9c9//lN/+MMfZDKZZLVaFRwcrKlTp2rdunUlnnvVtWtXffnllxoxYoQaNmyo7Oxs3Xbbberbt6+WLVum8ePHV+WtAwAAAABQrPT0dNu/S5cu2a5nZGQUKsvNzbWV7d27VxEREcrOzlbv3r01d+5cubu7l6q/M2fOaPjw4Vq9erVOnz5tu37t2jXt3LlT4eHh2rdvnyTphRdeKJL8NhqNmjZtmqQbO6ZFRkYqOztbkhQXF6dJkyYpKytLTZs21fDhw8v3SwEAAAAAVCmXW1EtSbVr19bjjz+uxx9/vMyxBoNBjzzyiB555JFy9d2kSRO9/vrr5YoFAAAAAKAq2Nvda8qUKYV+XrZsmbp06SJJeu+992w7jO3bt0+9evWy2/748eP1xBNPFLp24MABHThwQNKN53RP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X1W7dm19/PHH6tKlS6FyPz8/derUqdhYDw8PTZo0SePHj1e9evUKldWtW1cvvviiWrZsqZdeekkXL17UokWLStwZBzfU9F1OJHY6QcWQqAYAAAAAAGVWt25drVu3Tq1bty50vVatWurUqZM++eQTDRw4UOnp6Vq6dKneeOONSut71apVOnXqlMxmsxYtWqSGDRtKksxmsyIiIpSamqoVK1bovffe06BBg+Th4VFpfQMAAFQHb2/vCh1tcuzYMX366aeSpKeeeqpIkvpmAgMD9dxzz5VYZ/DgwVq8eLGOHDmiH3/8sdxjdUXscgJXRaIaAAAAAACUmY+PT5EkdUF+fn7q2bOn1q1bp0OHDlVq319++aUkKSwszJakLmjChAlauXKlUlJStGPHDvXo0aNS+3cVVqtVx44d04EDB2z/4uPjlZubK0n6/vvv1bhx4zK3e/ToUT388MPKycmRJE2dOlVPP/30TeOuX7+u//f//p82bNig2NhYpaWlycvLS4GBgWrfvr369eun++67r8zjAQDAFaxZs0ZWq1UeHh4aPXp0lfUTHBysI0eO6Ny5c1XWBwDnQaIaAAAAAABUidtuu03S/20TXhkyMzN18OBBSTe2HS9Ow4YNFRQUpMTERMXExJCoLqczZ86UeL54eVitVr366qu2JHVpnT17VtOnT9cvv/xS6HpOTo4uXLiguLg4HT9+nEQ1AAB25K9wbtu2rerWrWu7npeXJ4PBIDc3t0rpJy0tTdKNFeAAcDMkqgEAAAAAQJXYuXOnpBsra+z55JNP9M477+jixYvy9vZWq1atNGDAAA0bNky1a9cuUv/o0aOyWq03bTc4OFiJiYk6evRoBe8CknT77bfrrrvu0oULF8p0Fubv/fe//9WePXvUpEkTnTp1qlQx586dU3h4uE6fPi1PT0+NHz9e/fr10+23366cnBwlJibq66+/Vnp6ernHBQCAM7ty5YqOHz8uSWrRooVycnK0dOlSrVu3TidPnpQkNWrUSL169dKECRMUGBhYrn7Onz+vPXv2SJI6dOhQKWMH4NxIVAMAAAAAgEr33Xff6ddff5UkDR061G69hIQEmUwmmUwmXbhwQdu3b9f27dv16aefFjp/Ol9qaqrtc0l/RA0ICJAkpaSkVOQ2XFq9evX00UcfqX379vL395ckffDBB+VOVJ87d05z585VrVq1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9pm2bt2q2NhYubq66s4779TEiRONCeGqXMuNfPHFF8bt119/vdSYi7KxsdEbb7yhYcOGGY/38/OTVPh0fO/evZWdna3nnntO06ZNK7eusWPHKiIiQp06ddK3335bYn9aWpq++eYbbd++XWfPntW1a9fk4eGhLl266NFHH1Xfvn1LrXfRokX6+OOPje9FVFSUli1bpl9++UXx8fHKycnRiRMnjOVPnDih7du3a/fu3YqKilJKSoqcnJzk4+OjPn36aPz48WrcuHG51wIAAAAAtU2zZs3UrVs37d+/X5s2bdJrr71Wok9elGEt63r16mnQoEHF9v34449at26djhw5osTERDk7O6tly5a6//77NXbs2FKXnYqJiTHWExwcrC5duig4OFibNm3S+fPnlZqaqvnz52v16tXFHrKeNWuWsV9uUFr/Pz8/X2FhYdq4caN+//13JScny83NTW3atNGIESP04IMPyt7+xl/xJycna+nSpdqyZYvi4uLk7Oysjh07aty4cerfv3+px/z5u4O4uDh98cUX+vnnn3X58mVlZmZq69atxgf9z58/r23btmnnzp06efKkkpKS5ODgoEaNGsnPz0/jx4+Xr6/vDWM9f/68QkJCtGfPHl26dEl5eXlq1KiRevbsqaeeekqtWrW6YR0AAOtBohoAgFIUTZYWFBRIkv7973/rq6++KlE2MTFRe/bs0Z49e7Rq1Sp99tlnqlu3brXGd+rUKU2ZMkUxMTElYtm5c6d27typdevWaeHCheWu4Xz69GlNmDBBly9fNr6Wk5OjnTt3ateuXVqwYIFxKrXqkJGRoV27dkmSunXrVqFOqyT5+vqqa9euOnDggHbu3KmMjAy5urrK3d1dgwYN0saNGxUWFlZuojomJkYHDhyQpFKvcf/+/XrhhReUlJRU7PUrV65oy5Yt2rJlix555BG9+eabsrOzK/M827Zt04wZM4xP7f/Z8ePHS32SPy8vTydPntTJkye1cuVKLVq0SH369CnzPAAAAABQG40ePVr79+9XcnKyfvrpJ91///2llrt48aL2798vSRo6dKgxoZ2Wlqbp06cb+6YGOTk5OnLkiI4cOaJvv/1WS5cuVbNmzcqMIyUlRWPGjCn2UHJVxMXF6bnnntPRo0eLvZ6cnKzw8HCFh4dr1apV+vTTT+Xp6VlmPRcvXtTMmTN16dIl42tZWVnatWuXdu3apQkTJuiVV14pN5Zff/1VkyZNUnJycqn709LSdN9995V4PTc3V2fPntXZs2cVGhqqefPmlfsdQ3BwsP75z38qNze32Ovnz5/X+fPnFRoaqrlz5+rBBx8sN14AgPUgUQ0AQCmioqIkSU5OTvLw8JAk1alTRw899JD69OmjZs2aycvLSw4ODoqLi9PWrVu1fPlyHT58WG+99Zbef/99Y13dunXTwYMHtWTJEi1ZskRNmjTR+vXri53P1rbiq3HExcUpMDBQSUlJ8vHx0eTJk9WjRw/Vr19fV69e1ffff68lS5Zo+/bteuutt/Tuu++WWdeUKVNkb2+vd999Vz179pSjo6MOHjyoefPmKTY2VnPmzFH//v1Vv379armWI0eOKC8vT5LUvXv3Ch9nKH/gwAHl5eXpyJEj6tWrl6TC6ds2btyoCxcu6ODBg7r77rtLPT4sLEwFBQVycHDQ0KFDi+07duyYnn76aWVnZ6tNmzaaNGmS7r77btWpU0exsbEKDQ1VcHCwVqxYoYYNG+rFF18s9RwpKSl6+eWX5ePjoxdffNEYy6FDh4qV69mzpwYOHKg77rhDXl5e8vDwUGJioo4ePaply5bpt99+04wZM7RhwwZ5eXnd1PsEAAAAALeyBx54QPPmzVNmZqbWrl1bZqJ67dq1xgfR/f39JRU+IPzMM8/o4MGDcnV11YQJEzR48GA1btxYmZmZ+uWXX/TBBx8oOjpakydP1qpVq8p8GPwf//iHkpKS9MILL2jo0KHy9PTUhQsX5OrqqmHDhik/P9/YJ5wzZ45GjhxZ7HgnJyfjdnp6usaPH6/o6GjVr19fkydPVr9+/eTl5aXU1FRt375dH330kY4cOaLp06dr2bJlZfbFX331VSUnJ+uVV17RfffdJzc3N0VGRmrhwoU6duyYvvjiC7Vq1Upjxowp8z1+4YUX5OzsrHfeeUe9e/eWo6Ojjh49qnr16hnLdOrUSffff7/uvPNOeXl5ydPTU6mpqTp16pSWL1+uPXv2aPbs2Wrfvn2Jmdkk6b///a/+8Y9/SJIGDBigsWPHqm3btnJwcNCpU6f02WefaceOHZo9e7aaNGli/A4AAGDdSFQDAPAnGzZs0Pnz5yUVJkMNo2VfeOGFUss3aNBAHTp00JAhQ+Tv76+NGzdqxowZxiet7ezs5ObmZlx32cbGRm5ubpWOb+7cuUpKStLtt9+ur7/+uljHsF69epo6daruvPNOPfPMM1qzZo0CAwPVsWPHUuvKycnR6tWr1aBBA+Nrhk55QECAMjIytGnTJj322GPVci0XLlwwbt9+++03dWzR8kVHlvft21eenp5KTEzU2rVry0xUG6Z869evX4mnz2fNmqXs7Gz16NFDS5cuLTZ1XL169fTqq6+qRYsWmjNnjoKCgvToo4/K29u7xDnS09PVokULrVixQnXq1DG+PmTIEON2u3btSh2p7+HhoVatWmno0KEKDAzUwYMH9d///rfMpDgAAAAA1Ebu7u4aPHiwwsLC9PPPPys5Odn4wHlRhjWsW7RooS5dukiSli9fbkxSf/PNN2rfvr2xvIeHhx588EH17t1b/v7+ioqK0n//+19NmDCh1Dji4uIUFBRUbCptw0Pff+bo6FhuX/rDDz9UdHS0vLy8tGLFCvn4+Bj31atXT+PGjVP37t318MMPa9++fdqyZUuxfmZRFy9e1FdffaUePXoYX+vfv7+6du2qRx55RKdPn9Z7772nv/zlL8WS5UVlZWVpzZo1xZakuueee4zbderUKXU5rfr166t58+YaPHiwZsyYoY0bN+qLL74o8UD9lStXNH/+fEmFD9TPmDGj2H4/Pz91795dL730kjZu3Kh33nlHYWFhZb19AAArUvEhTwAA3MIKCgoUHx+vkJAQzZ49W1JhEnbixIkVrqNt27a64447VFBQoF9++aVa4rxw4YJx/edXX321WJK6qP79+xvXbS6v8/b8888XS1IbdOjQwfiEc2RkZFXDLlPRacNudrr0ouWL1mNvb6/hw4dLkjZt2qScnJwSx0ZGRurMmTOSSk77vW/fPh07dkw2NjaaO3dumeubPfbYY2rWrJlyc3O1adOmMuOcNm1asST1zbK3t9eIESMkqdr+XwEAAACANTOMkM7NzdWGDRtK7D98+LCio6MlFe8DBgcHS5LGjRtXLEldVOPGjfXEE09IKr9/3a9fvzLXe74ZGRkZ+u677yQV9ieLJqmLat++vbGvWF5cQ4YMKZakNnB3d9df//pXSYV96q1bt5ZZx9NPP10sSV0Zhvd99+7dJfb973//U3Z2tnx8fMocJGBjY6OXX35ZknTy5EkdP368SvEAAGoGRlQDAGqtcePGlbnPzs5Or7zySomppJKTk7Vy5Urt3LlT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"},"metadata":{}}]},{"cell_type":"code","source":"plt.figure(figsize=(10,5))\nax = sns.countplot(x = df[['C1','C2','C3','C4','C5','C6','C7']].sum(axis=1))\nfor container in ax.containers:\n    ax.bar_label(container)\nplt.title('Number of fractures by patient')\nplt.xlabel('Number of fractures')\nplt.ylim([0,1300])","metadata":{"execution":{"iopub.status.busy":"2024-08-24T10:47:01.359396Z","iopub.execute_input":"2024-08-24T10:47:01.359887Z","iopub.status.idle":"2024-08-24T10:47:01.857958Z","shell.execute_reply.started":"2024-08-24T10:47:01.359841Z","shell.execute_reply":"2024-08-24T10:47:01.856543Z"},"trusted":true},"execution_count":118,"outputs":[{"execution_count":118,"output_type":"execute_result","data":{"text/plain":"(0.0, 1300.0)"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 1000x500 with 1 Axes>","image/png":"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8uUANGnSJNfVZ+3s7Hj88ceBjC+lTNvC9OjRg9q1axc5rsx++uknDh48mO14fHw8ixcvBjKeg0ceecRcdtddd5kv3cxtq4pPP/00zy/HoODvrbyMHTsWgLCwMN566608X1covb9DJXEuIncaJYUickdxdnY236uS3yVKgwcPxtramsTERMaPH8+BAwe4fv06ly5dYu3atYwaNarEPsyVlHvuuYelS5fyxhtv8Pfff3P9+nWCg4OZPn26eZXDgQMH0rp16yzt3NzcmDNnDpAx2zhkyBA2bdrEP//8w82bN4mKiuLPP//E19eX0aNHl8iiGHl55JFHzNsYfPHFF8yePZtjx45x/fp1/v77b95++20WLlwIQMuWLXPd06yiuf/++82J4VtvvYWvry8XLlwgJiaGffv24eXlxf79+/NcdfXRRx+lb9++QMa+buPGjePXX38lMjKSGzdu8Pfff/P111/z1FNPERgYmG18yLi3cf369dy4cYPU1FRSU1OzJKJOTk7mMXx9ffn444+5dOkS169fJzAwkClTprBp06YslyEWVXHfe8uXL6d3794sXrzYvHDLjRs3+Oeff9i0aRNTp04FMu5Z69mzZ5HjvOuuu/Dy8mLTpk1ERERw9epVvv/+e0aOHMnVq1cBmD17dp59mL7sOH/+vHn12ZL8Xapbty7PPfccX375JZcvXza/r0aPHs3p06cBmDlzZpbLg62trc2v9bfffsuCBQv4+++/uXbtGn/99RezZs3i448/znclYNN769tvvyU4OJikpCTze6ugi7m0atXKvOfjN998w8iRI9m5cyeXLl3i5s2bRERE8Mcff+Dj48OQIUOYNm1aoZ+jgiiJcxG502ihGRG544wbN45169bluxpho0aNmDZtGu+//z6nTp0yf4udufztt9+uULNUEydO5Pvvv2ft2rWsXbs2W3nHjh154403cmz75JNPYmVlxZtvvkloaCj/+c9/ch3HdM9fafrggw+YPHkyAQEBuW5X0KJFC5YvX14p9uuDjA/g77zzDuPHjyc+Pp633nqLt956K0udZ599lqpVq/Lxxx/n2s+iRYuwtbXlu+++w9/fH39//wKN37NnTxo0aMC5c+eYN28e8+bNM5d17Ngxy8z3q6++SlBQEJcvX862RYCVlRWzZs3KcXuDoijue+/y5cv4+PhkWSEzM3t7exYt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3Y9YWMHBwQC0atWqWP2IiIiIiEjlVtDcwGJWH82c+16/fj3Purlt/N6kSRP8/Pzw8fFh7969hIWFUa1aNVq0aMGoUaPo3bt3nv3Onz+frl27sm7dOk6cOGGeHezVqxcTJ07E2dm50OclIiIiIiJSHJVyplByp5lCERERERGBgucGlfKeQhERERERESkZSgpFREREREQsmJJCERERERERC6akUERERERExIIpKRQREREREbFgSgpFREREREQsmMXsUyglx2g0cvbsWf766y/zv1OnTpGSkgLA7t27ueeeewrU144dO9i0aROnTp0iNjYWFxcXHnzwQcaOHUujRo1ybbdlyxZmz56db/9Vq1YlKCgozzonT55k3bp1HD58mIiICFJSUqhRowbNmjWjb9++eHp6YmtrW6DzERERERGpbJQUSqFdvnyZfv36FauP1NRUZsyYwU8//ZSt7w0bNrBt2zbefvttBgwYUKxx8rN8+XKWLFlCenp6luNXr17F398ff39/1qxZw2effYabm1upxiIiIiIiUh6UFEqx3H333bRq1Ypr167xxx9/FLjdwoULzQmhp6cnzz77LLVr1yY4OJiFCxdy9uxZZs2axT333EPbtm3z7OvIkSO5lhkMhlzLfvrpJz744AMA3N3dmTp1Ku3ataNq1aqcP3+ezz//nL1793Lq1ClmzJjBunXrCnx+IiIiIiKVhZJCKbSaNWvyySef0KZNG1xcXABYunRpgZPCM2fOsHbtWiAjIVy4cKG5rEePHtx///3079+fa9eusXDhQr755ps8+3N0dCzSeXz55ZdAxiWmX331FfXq1TOXubi40KFDByZOnMi+ffsIDAwkJCSEZs2aFWksEREREZGKSgvNSKE5OTnRu3dvc0JYWF9//TXp6enY2Njw4osvZiu/6667GDduHABBQUGcPHmyWPHmJiQkBIB//etfWRJCE4PBwOOPP27++ezZs6USh4iIiIhIeVJSKGVuz549ALRv3x5XV9cc62S+Z3H37t2lEoednR2Q9yWm1tbW5sfOzs6lEoeIiIiISHlSUihl6tq1a1y+fBmAdu3a5VrP3d3dPBN5/PjxAvWdnJxcqFhatmwJZMxGRkRE5Fhn586dQEZCeP/99xeqfxERERGRykBJoZSpzJdg5rdthak8v8s2hwwZwv3330+rVq1o164dTz31FD4+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dmTp0qUYDAYOHz7Mr7/+mm3czz77jJs3b+Lq6sqyZcu49957AahevTpz5szh4Ycfxmg0snjx4tI6dRERERERkWwsLimMiooC4P7778+xvHnz5tjYZFxVa7rME+DHH38kKSkJJycnRowYka1d69atzZebbt++PUuZ0Wjku+++A2DEiBE4OTllaz9hwgQAgoODOXfuXGFPS0REREREpEgsLim85557ADh27FiO5SdPniQ1NRUrKyuaN29uPh4QEABAhw4dcHBwyLFtt27dALJdAnr69GlzMtq9e/cc27Zr186cLOoSUhERERERKSsWlxQOHz4cgK1bt/Lxxx9z/fp1IGMRmd9//50ZM2YAMGrUKPMlngBnzpwBoEmTJrn2bSqLjo7m2rVr5uOnT5/OVud21tbWNGzYMMtYIiIiIiIipc3iVh/18vLiypUr+Pr6snTpUpYuXWpefTQtLY0GDRowb948Ro0alaWdaabP1dU1174zb2MRFRVFrVq1srStUaMG9vb2ubY39W2qX1RGozHLpa+5MRgMuc56SslJTEzEaDSWdxgiIiIiYmGMRiMGgyHfehaXFFpbW/Pqq69Sv359Fi5cSHJyMnFxcebypKQk4uPjSU9Px8rq/yZSTUlWXklU5oQvPj4+W9u8EsLM5ZnbFkVKSgonT57Mt56DgwMtWrQo1liSv3PnzpGYmFjeYYiIiIiIBbKzs8u3jsUlhdHR0UyePJmgoCAef/xxnn32WerXr090dDT79u3jww8/ZPHixYSEhPD++++Xd7hFYmtrS+PGjfOtV5BvDaT4GjRooJlCERERESlzmW9jy4vFJYWvvPIKQUFBDBkyhHfeecd8vGrVqowaNYpGjRoxduxYduzYwaBBg+jRo4e5/MaNG3nO+GTe19DR0TFL37eX59U+c9uiMBgM5jGl/OkSXREREREpDwWdBLKohWbOnDmDv78/AM8880yOdTp37my+pHL37t3m46b7/SIjI3PtPyIiwvzYxcUlW9sbN27kmRia+s7cVkREREREpDRZVFKYefq0Xr16udYzbVtx+fJl87FGjRpl6yO3/u+66y7zIjNAlks5c2ufnp7O2bNns4wlIiIiIiJS2iwqKcy8cMyVK1dyrRcWFgaQZZN508b0hw8fznW2zzQL2aVLlyzHGzVqZJ79++2333JsGxQUZF7w5vb2IiIiIiIipcWiksJmzZqZH3/zzTc51gkODub48eMAtGnTxnz83//+N/b29sTFxeXY9tixY+ZN5x9//PEsZQaDgQEDBpjHzbzaqcnKlSsBaNWqFQ0aNCjMaYmIiIiIiBSZRSWF9erVo3v37gCsWbOGd99917wnYFJSEj/++COTJ08mLS2NatWq4enpaW571113MXbsWAAWL17Mxo0bSU1NBTJmD6dMmYLRaOSBBx4wL06T2YQJE6hevTrh4eE8//zzXLx4EYDY2Fjeeust9uzZg8Fg4KWXXirNp0BERERERCQLg9HC1sqPiorimWeeITQ01HysatWqWTYYd3JyYunSpXTt2jVL29TUVF544QX27NkDZGz9YGtra96H8L777mPNmjW5LhQTEBCAt7e3uX61atXMeyIaDAZeeeUVnn322WKdX3BwMJAx41hQry3ZyfnL14o1rmR3n3st3p7Wr7zDEBERERELVdDcwOK2pHBxcWHz5s1s3LiRH3/8kb///pu4uDgcHByoV68eDz74IE8//TR16tTJ1tbGxoZPP/2UzZs3s3nzZkJDQ0lNTaVJkyb07duXcePG5bkVROfOndm+fTs+Pj74+/sTFRVFrVq1aNu2LWPHjqVjx46leeoiIiIiIiLZFGum8NtvvwUy7qHLvIhLQdoMHjy4qMNKHjRTWHFoplBEREREylOZzBTOmjULKysr+vbtW6ANutPS0sxtlBSKiIiIiIiUv2IvNFOUiUYLu41RRERERESkwirT1UdNq3VaW1uX5bAiIiIiIiKSizJNCk0rftaqVasshxUREREREZFcFOqeQtMiMbfz8/PDzs4u13ZpaWlERkby7bffYjAYuP/++wsVpIiIiIiIiJSOQiWFs2bNwmAwZDlmNBqZP39+gdobjUasrKzMm8CLiIiIiIhI+Sr06qOZF4kxJYj5LRxjY2NDzZo1uf/++xk7diydOnUq7LAiIiIiIiJSCgqVFIaEhGT5uVmzZhgMBoKCggq0JYWIiIiIiIhULMXap/CBBx4AtJqoiIiIiIhIZVWspHD16tUlFYeIiIiIiIiUgzLdkkJEREREREQqlmLNFN4uIiKCqKgokpKS8l18xnTpqYiIiIiIiJSfYieFiYmJLF++nC1btnD16tUCtTEYDJw4caK4Q4uIiIiIiEgxFSspjIuLw8vLi5CQkHxnBkVERERERKTiKVZS+Nlnn3Hy5EkAevbsydChQ2nQoAH29vYlEpyIiIiIiIiUrmIlhT/++CMGg4GnnnqK+fPnl1RMIiIiIiIiUkaKlRReuXIFgKeffrpEghGRiiUwMJAtW7Zw+PBhIiMjsba2xsXFhebNm9OxY0dGjBiRpf6tW7f47bff+P333/nrr7+4cOEC8fHxODo60rBhQx566CGeeuopnJ2dcx3zwoUL7N27l+DgYP7++29iYmK4fv06tra2uLq68q9//YsnnniC9u3bl/bpi4iIiFiEYiWFjo6OXL9+nbvuuquk4hGRCiA5OZl58+axdevWbGVxcXGcO3eOnTt3ZksKu3TpQnx8fLY2N27cICgoiKCgIL766isWLVrEQw89lOPY3333HUuWLMl2PCUlhfPnz3P+/Hm2bNnC8OHDmT9/PtbW1kU8SxERERGBYiaFzZs358CBA1y8eJGWLVuWVEwiUo7S0tKYMmUKv/76KwaDAU9PTzw9PWnYsCFWVlZcvHiRffv2sX379mxt4+PjsbGxoWfPnvTu3Zs2bdrg7OxMTEwMu3bt4pNPPuH69etMmTKF9evX07x582x9VK1alZ49e9KpUyeaNWuGq6uruY8TJ06wcuVKQkJCWL9+PTVr1uTFF18si6dFRERE5I5lMBZj2dDdu3czefJkhg8fzuuvv16ScUkRBQcHA9CqVasCt3ltyU7OX75WWiFZrPvca/H2tH7lHUahrVy5kkWLFmEwGFi8eDH9+/cvcNv58+fj7e3N3XffnWP5oUOHGDNmDOnp6Tz88MOsWLGi0PElJyczbNgwQkJCcHBw4MCBAzg4OBS6HxEREZE7XUFzA6viDPLII4/w9NNPs2HDBnx8fLQthUgld/PmTT7++GMAhg4dWqiEEOD111/PNSEE6NixIz169ABg//79pKSkFDpGOzs7Bg8eDGTsk3rmzJlC9yEiIiIi/6dYl49+/PHHVK9enXvuuYcPPviAb775hq5du+Lq6oqVVd755pQpU4oztIiUgu3bt5OYmAjA2LFjS2WMJk2asHfvXlJSUrh27Rqurq6F7sPW1tb82M7OriTDExEREbE4xU4KDQYDAEajkStXrrB58+YCtVVSKFLx/PrrrwC4urrSpEkT8/H09HSMRmOJLOoSHR1tfuzk5FTo9unp6Xz//fcAVK9enfvuu6/YMYmIiIhYsmIlhXXr1i2pOESkAjBdd964cWOMRiPr169n/fr1hIaGkpqaipubG926dWP8+PE0aNCg0P0nJyfzyy+/AODh4UHVqlUL1M5oNHL16lVOnTrFZ599xh9//AHAtGnTNFMoIiIiUkzFSgr37NlTUnGISDlLSkri2rWMBYecnJyYPHkyu3fvzlInPDycTZs24efnx//+9z8ee+yxQo2xfPly80zhyJEj860/btw4/P39sx13cXFh6tSpPPnkk4UaX0RERESyK9ZCMyJy54iNjTU/3rt3L7t376Z9+/asW7eOv/76i4CAABYsWECNGjW4desWr7zyCiEhIQXu/8CBAyxfvhyA+++/n2HDhhUpzipVqvDUU0+ZF6wRERERkeJRUigiQMa9eiYpKSk0b96cVatW0b59e6pUqUKtWrUYNmwYK1aswMrKiuTk5Bw3mc/JuXPnmD59OmlpaVSvXp33338fG5v8L1T49NNPOXLkCIGBgezZs4cPPviAJk2asHTpUh5//HEOHDhQ5PMVERERkQxKCkUEAEdHxyw/T5o0Kcf79dq1a2eepfP39+fWrVt59hseHs64ceO4fv06Dg4OLFu2jPr16xcopipVquDo6IiTkxPu7u7069eP9evX8/DDD3P9+nWef/55rly5UsAzFBEREZGcFOuewm+//bbIbU37jIlIxVC1alXs7OxITk4GoEOHDrnW7dChA3v37iU5OZl//vkHDw+PHOvFxMTwzDPPcPnyZWxtbVm6dGme/RaEjY0Nc+bM4ZdffiEhIYENGzYwffr0YvUpIiIiYsmKlRTOmjXLvCVFYRgMBiWFIhWMlZUVDRo04NSpUwDUqFEj17qZy+Li4nKsc+PGDZ555hnOnj2LjY0NH374Id27dy+RWOvVq4ezszMxMTGcPHmyRPoUERERsVTFvnzUaDQW+l/me5dEpOJo1aqV+bFpJdKcZC6rXr16tvK4uDjGjx9PSEgIVlZWvPPOO/Tu3btEY9XfEREREZGSUayZwvxWHkxLSyMyMpJ9+/bx6aefYm9vz6effkqjRo2KM6yIlJI+ffqwadMmAA4fPsyAAQNyrHfo0CEg45LT2+8PTExMZOLEifz1118YDAZef/11Hn/88RKN8++//+b69etAxqyhiIiIiBRdqS40Y21tTZ06dRg+fDibN28mNTWV8ePHc+PGjdIcVkSKqFu3buZN6ZctW0Zi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Y/HixSxZsgR7e3tzu9q1a7Ns2bIcl321s7Nj2bJljBkzhlOnTjFo0CCcnJxITEwkLS0NAC8vL4YOHVrKZy8iIiIiIvJ/ip0UAkycOJEnnniCbdu28ccff3DlyhXi4+NxdHTE3d2dDh068Pjjj+Ps7FwSwxVbjRo1WL9+PWvXruW7777j3LlzpKSkcN9999GjRw/GjRuHm5tbjm3nz59P165dWbduHSdOnDDPDvbq1YuJEyfmeY5NmjTBz88PHx8f9u7dS1hYGNWqVaNFixaMGjWK3r17l9Ypi4iIiIiI5Mhg1CZcd5Tg4GAAWrVqVeA2ry3ZyfnL10orJIt1n3st3p7Wr1THOPHVGyRGXCjVMSyRg9u9tBgzr7zDEBERESmWguYGxbqnUERERERERCq3YiWFf/zxB82bN+eRRx4xL9aSm7S0NB555BFatGhBUFBQcYYVERERERGRElKspPD777/HaDTi6emJlVXeXVlbWzN06FDS09PZuXNncYYVERERERGRElKspDAwMBCDwcCDDz5YoPqmeqbtKURERERERKR8FSspDA8PB6B+/foFql+vXj0AIiIiijOsiIiIiIiIlJBiJYUJCQkAGAyGAtU31bt582ZxhhUREREREZESUqyksFatWgD8888/BapvqlejRo3iDCsiIiIiIiIlpFhJoWm/i23bthWovqley5YtizOsiIiIiIiIlJBiJYWPPvooRqORDRs28OOPP+ZZd9euXWzYsAGDwcBjjz1WnGFFRERERESkhBQrKezfvz8tWrQgLS2N6dOn88orr3DgwAGuXbtGcnIy165d48CBA7zyyitMmzaNtLQ0mjdvzqBBg0oqfhERERERESkGm+I0NhgMfPrpp3h5eXHx4kX8/Pzw8/PLsa7RaOTee+/l008/LfDCNCIiIiIiIlK6ijVTCHD33XezZcsWnnrqKWxtbTEajdn+2dnZMWrUKLZs2cLdd99dEnGLiIiIiIhICSjWTKFJtWrV+O9//8vMmTMJDAzk4sWLxMXF4eTkxL333kv79u1xdHQsiaFERERERESkBJVIUmji5OREjx49SrJLERERERERKUXFvnxUREREREREKi8lhSIiIiIiIhZMSaGIiIiIiIgFU1IoIiIiIiJiwZQUioiIiIiIWDAlhSIiIiIiIhZMSaGIiIiIiIgFU1IoIiIiIiJiwZQU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RETEgikpFBERERERsWBKCkVERERERCyYTXkHICIixZOamsrBgwfx9/fn6NGjnDt3jtjYWBwcHLj33nvp2rUrI0aMwN3dPdc+oqKi2LVrF8eOHSMkJISrV69y/fp1DAYDtWvXpnXr1gwePJgePXrkG09ERASrVq3C39+fS5cuYTQaqVOnDg8//DBPP/00derUKcnTFxERkWJSUigiUsl5enry999/ZzseGxvL8ePHOX78OGvWrGH+/Pl4enrm2Mfvv//O66+/nmPZpUuXuHTpEjt37qRXr168//77ODg45Fh3z549vPTSSyQkJGQ5fvbsWc6ePcvGjRtZvHhxgZJLERERKRtKCkVEKrn4+HgMBgNdu3bl0UcfpV27dri4uBAbG8u+ffv46KOPuH79OrNnz8bZ2TnHhMzOzo6uXbvSpUsXWrRogZubG7Vr1+bmzZuEhoby5Zdf8scff7Bnzx7mzJnD4sWLs/URHBzMtGnTSE5Opnbt2rz44ot069YNGxsbAgMDWbx4MefPn2f69OmsX78eDw+Psnh6REREJB8Go9FoLO8gpOQEBwcD0KpVqwK3eW3JTs5fvlZaIVms+9xr8fa0fqU6xomv3iAx4kKpjmGJHNzupcWYeeUdRoH973//Y9iwYTRs2DDH8jNnzvDEE0+QkJBAkyZN+O677wo9htFoZNKkSfz6668A7N69m3vuuSdLndGjR3P48GEcHBzYvHkzjRo1ylIeExPDoEGDiIyM5MEHH+SLL74odBwiIiJScAXNDbTQjIhIJffqq6/mmhACNGrUiCFDhgAQGhrKlStXCj2GwWDgiSeeMP98/PjxLOUREREcPnwYyLic9faEEMDZ2Zlnn30WgP3793PmzJlCxyEiIiIlT0mhiIgFaNKkiflxREREkfqwtbU1P7azs8tSdvLkSfPjjh075tpH5rJdu3YVKQ4REREpWUoKRUQsQHR0tPmxk5NTkfrYsWMHADY2NrRo0SJL2c2bN82Pa9SokWsfmctMl7SIiIhI+dJCMyIiFuCnn34CMpKyvC41vV1MTAxnz57F19eXH3/8EYCnn34aNze3LPUyJ5o3btzItb/MZbp8VEREpGJQUigicofbvHkzISEhADz55JNYW1vnWX/evHmsX78+2/Hq1avzzDPP4O3tna2scePG5seHDx/msccey7Fv032HANeuaYErERGR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enqaj2mWsOLI73cuJSWFJUuWABlba2n/yYrD09MTyLjaLKeJh8jISL777jsAevToUaaxlSclhVJhDR8+nHr16pGQkMCkSZMICQkBMi5r8/HxYc2aNQBMnz4dW1vb8gxVchATE2P+d+PGDfPx2NjYLGWmD6pS/tLS0njppZfYu3cv9vb2LFu2jPbt25d3WJKPsLAwhgwZwsaNG7ly5Yr5uNFo5MyZM7zxxhssXboUgH//+994eHiUV6gid4zLly8zbNgwNmzYwKVLl8zHU1NTOXToEF5eXgQFBQEwc+ZM8+qWUv66dOli3lZp9uzZ/Prrr+b7dUNCQnj++edJSEigZs2ajB07thwjLVsGY35fdYiUo9DQUMaMGUN0dDSQsdx6YmKi+QZ8Ly8v5syZU54hSi6aNm1aoHq+vr6a6a0gDh8+zOjRo4GMlfOqV6+eZ/39+/eXRViSj0uXLvHII4+Yf65SpQpVq1YlISGBW7dumY/37NmT999/X5ePVhJeXl4cOnQIT09PFi5cWN7hyG1y+72Li4szf9lpa2vLzJkzLSqxqCxu3LjB2LFjzavC2tvbY2NjQ1xcHAA1atTgk08+sagrK7TQjFRoTZo0wc/PDx8fH/bu3UtYWBjVqlWjRYsWjBo1it69e5d3iCJ3jMwrGyYnJ3P16tVyjEYKytXVlQ8++ICAgACCg4OJiori2rVr2NnZ0aBBA1q3bs3AgQPp3r17eYcqcseoXbs2c+bMISgoiJMnTxITE0NsbCz29vY0btyYjh07MmLECBo0aFDeoUoOatSowfr161m7di3fffcd586dIyUlhfvuu48ePXowbtw43NzcyjvMMqWZQhEREREREQumC5xFREREREQsmJJCERERERERC6akUERERERExIIpKRQREREREbFgSgpFREREREQsmJJCERERERERC6akUERERERExIIpKRQREREREbFgSgpFREREREQsmJJCEZE7xJYtW2jatKn534YNG/Ksf/DgQXPd33//vYyiLB2m89iyZUt5h1KhJCcns3LlSoYMGUK7du3Mz9OsWbMK1U9cXBwffPABAwcOpG3btuZ+li5dWkqRi4hIWbIp7wBERKR0LFu2jMGDB2NnZ1feoUg5efnll/nhhx+K1Ud6evr/a+/eg6Ks3gCOf1cEClCBKUjRNLXASzpq4mVKwTKNsryWDlAo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"},"metadata":{}}]},{"cell_type":"code","source":"df.head()","metadata":{"execution":{"iopub.status.busy":"2024-08-24T13:04:20.322108Z","iopub.execute_input":"2024-08-24T13:04:20.32264Z","iopub.status.idle":"2024-08-24T13:04:20.342325Z","shell.execute_reply.started":"2024-08-24T13:04:20.322595Z","shell.execute_reply":"2024-08-24T13:04:20.340678Z"},"trusted":true},"execution_count":183,"outputs":[{"execution_count":183,"output_type":"execute_result","data":{"text/plain":"            StudyInstanceUID  patient_overall  C1  C2  C3  C4  C5  C6  C7\n0   1.2.826.0.1.3680043.6200                1   1   1   0   0   0   0   0\n1  1.2.826.0.1.3680043.27262                1   0   1   0   0   0   0   0\n2  1.2.826.0.1.3680043.21561                1   0   1   0   0   0   0   0\n3  1.2.826.0.1.3680043.12351                0   0   0   0   0   0   0   0\n4   1.2.826.0.1.3680043.1363                1   0   0   0   0   1   0   0","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>StudyInstanceUID</th>\n      <th>patient_overall</th>\n      <th>C1</th>\n      <th>C2</th>\n      <th>C3</th>\n      <th>C4</th>\n      <th>C5</th>\n      <th>C6</th>\n      <th>C7</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1.2.826.0.1.3680043.6200</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1.2.826.0.1.3680043.27262</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1.2.826.0.1.3680043.21561</td>\n      <td>1</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>1.2.826.0.1.3680043.12351</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>1.2.826.0.1.3680043.1363</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}},{"name":"stderr","text":"24/08/24 13:08:20 INFO BlockManagerInfo: Removed broadcast_20_piece0 on 976b05e306f1:37573 in memory (size: 8.2 KiB, free: 434.3 MiB)\n24/08/24 13:08:20 INFO BlockManagerInfo: Removed broadcast_21_piece0 on 976b05e306f1:37573 in memory (size: 34.4 KiB, free: 434.4 MiB)\n24/08/24 13:08:20 INFO BlockManagerInfo: Removed broadcast_19_piece0 on 976b05e306f1:37573 in memory (size: 34.4 KiB, free: 434.4 MiB)\n24/08/24 13:08:20 INFO BlockManagerInfo: Removed broadcast_22_piece0 on 976b05e306f1:37573 in memory (size: 6.4 KiB, free: 434.4 MiB)\n","output_type":"stream"}]},{"cell_type":"code","source":"# from concurrent.futures import ThreadPoolExecutor, as_completed \n\n# # Function to load a single DICOM image\n# def load_dicom_image(file_path):\n#     dicom = sitk.ReadImage(file_path)\n#     img = sitk.GetArrayFromImage(dicom)[0]\n\n#     # Ensure image is 2D\n#     if img.ndim != 2:\n#         raise ValueError(f\"Expected 2D image, got {img.ndim}D image\")\n\n#     # Convert to uint8 if needed\n#     if img.dtype != np.uint8:\n#         img = cv2.normalize(img, None, 0, 255, cv2.NORM_MINMAX).astype(np.uint8)\n\n#     # Resize and normalize\n#     img = cv2.resize(img, (128, 128))\n#     img = img / 255.0  # Normalize pixel values to [0, 1]\n#     return img\n\n# # Function to extract image paths from subfolders with a limit\n# def extract_images_from_subfolder(subfolder, limit_per_subfolder):\n#     file_paths = []\n#     count = 0\n#     for root, _, files in os.walk(subfolder):\n#         for file in files:\n#             if file.endswith('.dcm'):\n#                 file_paths.append(os.path.join(root, file))\n#                 count += 1\n#                 if count >= limit_per_subfolder:\n#                     return file_paths\n#     return file_paths\n\n# # Function to extract all image paths into a dataframe\n# def extract_images_into_dataframe(directory, limit_per_subfolder=15):\n#     subfolders = [f.path for f in os.scandir(directory) if f.is_dir()]\n    \n#     all_files = []\n#     with ThreadPoolExecutor(max_workers=os.cpu_count()) as executor:\n#         futures = {executor.submit(extract_images_from_subfolder, subfolder, limit_per_subfolder): subfolder for subfolder in subfolders}\n#         for future in as_completed(futures):\n#             all_files.extend(future.result())\n\n#     df = pd.DataFrame({'FilePath': all_files})\n#     return df","metadata":{"execution":{"iopub.status.busy":"2024-08-29T15:33:37.265792Z","iopub.execute_input":"2024-08-29T15:33:37.266324Z","iopub.status.idle":"2024-08-29T15:33:37.281142Z","shell.execute_reply.started":"2024-08-29T15:33:37.266275Z","shell.execute_reply":"2024-08-29T15:33:37.279518Z"},"trusted":true},"execution_count":4,"outputs":[]},{"cell_type":"code","source":"def load_dicom_image(df):\n    dicom = sitk.ReadImage(df)\n    img = sitk.GetArrayFromImage(dicom)[0]\n    \n    # Check if the image is a 2D array\n    if img.ndim != 2:\n        raise ValueError(f\"Expected 2D image, got {img.ndim}D image\")\n\n    # Convert to uint8 if necessary\n    if img.dtype != np.uint8:\n        img = cv2.normalize(img, None, 0, 255, cv2.NORM_MINMAX).astype(np.uint8)\n\n    # Resize the image to 128x128\n    img = cv2.resize(img, (128, 128))\n    img = img / 255.0  # Normalize pixel values to [0, 1]\n    return img","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:39:30.977943Z","iopub.execute_input":"2024-08-30T02:39:30.978391Z","iopub.status.idle":"2024-08-30T02:39:30.986844Z","shell.execute_reply.started":"2024-08-30T02:39:30.97835Z","shell.execute_reply":"2024-08-30T02:39:30.985423Z"},"trusted":true},"execution_count":9,"outputs":[]},{"cell_type":"code","source":"def extract_images_from_subfolder(subfolder, limit_per_subfolder):\n    file_paths = []\n    count = 0\n    with os.scandir(subfolder) as it:\n        for entry in it:\n            if entry.is_file() and entry.name.endswith('.dcm'):\n                file_paths.append(entry.path)\n                count += 1\n                if count >= limit_per_subfolder:\n                    break\n    return file_paths\n\ndef extract_images_into_dataframe(directory, limit_per_subfolder=15):\n    all_files = []\n    subfolders = [f.path for f in os.scandir(directory) if f.is_dir()]\n    \n    with Pool(processes=os.cpu_count()) as pool:\n        results = pool.starmap(extract_images_from_subfolder, [(subfolder, limit_per_subfolder) for subfolder in subfolders])\n    \n    for result in results:\n        all_files.extend(result)\n    \n    df = pd.DataFrame({'FilePath': all_files})\n    return df","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:39:33.74329Z","iopub.execute_input":"2024-08-30T02:39:33.743877Z","iopub.status.idle":"2024-08-30T02:39:33.756406Z","shell.execute_reply.started":"2024-08-30T02:39:33.743809Z","shell.execute_reply":"2024-08-30T02:39:33.75457Z"},"trusted":true},"execution_count":10,"outputs":[]},{"cell_type":"code","source":"# Define paths and parameters\nmain_folder_path = '/kaggle/input/rsna-2022-cervical-spine-fracture-detection/train_images'\nlimit_per_subfolder = 15\n\n# Extract 15 DICOM file paths per subfolder into a DataFrame\ndf = extract_images_into_dataframe(main_folder_path, limit_per_subfolder)\n\n# Display the dataframe (optional)\nprint(df.shape)\nprint(df.head())","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:39:37.296927Z","iopub.execute_input":"2024-08-30T02:39:37.297411Z","iopub.status.idle":"2024-08-30T02:40:39.870101Z","shell.execute_reply.started":"2024-08-30T02:39:37.297365Z","shell.execute_reply":"2024-08-30T02:40:39.868117Z"},"trusted":true},"execution_count":11,"outputs":[{"name":"stdout","text":"(30285, 1)\n                                            FilePath\n0  /kaggle/input/rsna-2022-cervical-spine-fractur...\n1  /kaggle/input/rsna-2022-cervical-spine-fractur...\n2  /kaggle/input/rsna-2022-cervical-spine-fractur...\n3  /kaggle/input/rsna-2022-cervical-spine-fractur...\n4  /kaggle/input/rsna-2022-cervical-spine-fractur...\n","output_type":"stream"}]},{"cell_type":"code","source":"# Function to load a single DICOM image\ndef load_image(file_path):\n    try:\n        return load_dicom_image(file_path)\n    except Exception as e:\n        print(f\"Error processing file {file_path}: {e}\")\n        return None\n\n# Function to load images in parallel\ndef load_images_in_parallel(file_paths):\n    images = []\n    with ThreadPoolExecutor(max_workers=8) as executor:  # Adjust max_workers based on your CPU cores\n        futures = {executor.submit(load_image, file_path): file_path for file_path in file_paths}\n        for future in as_completed(futures):\n            result = future.result()\n            if result is not None:\n                images.append(result)\n    return np.array(images)","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:41:09.478755Z","iopub.execute_input":"2024-08-30T02:41:09.479335Z","iopub.status.idle":"2024-08-30T02:41:09.493098Z","shell.execute_reply.started":"2024-08-30T02:41:09.479267Z","shell.execute_reply":"2024-08-30T02:41:09.491079Z"},"trusted":true},"execution_count":12,"outputs":[]},{"cell_type":"code","source":"# # Load images\n# images = []\n# for file_path in df['FilePath']:\n#     try:\n#         img = load_dicom_image(file_path)\n#         images.append(img)\n#     except Exception as e:\n#         print(f\"Error processing file {file_path}: {e}\")\n\n# # Convert to numpy array\n# images = np.array(images)\n\n","metadata":{"execution":{"iopub.status.busy":"2024-08-29T15:51:07.68668Z","iopub.execute_input":"2024-08-29T15:51:07.687656Z","iopub.status.idle":"2024-08-29T15:51:07.714768Z","shell.execute_reply.started":"2024-08-29T15:51:07.687603Z","shell.execute_reply":"2024-08-29T15:51:07.713327Z"},"trusted":true},"execution_count":12,"outputs":[]},{"cell_type":"code","source":"# # Ensure all StudyInstanceUIDs match and no missing labels\n# df['StudyInstanceUID'] = df['FilePath'].apply(lambda x: os.path.basename(os.path.dirname(x)))\n# train_df = pd.read_csv('/kaggle/input/rsna-2022-cervical-spine-fracture-detection/train.csv')\n\n# # Drop rows where 'patient_overall' is missing\n# df = df.dropna(subset=['patient_overall'])\n\n# # Extract labels\n# labels = df['patient_overall'].values\n\n","metadata":{"execution":{"iopub.status.busy":"2024-08-29T15:56:12.966827Z","iopub.execute_input":"2024-08-29T15:56:12.967343Z","iopub.status.idle":"2024-08-29T15:56:13.08948Z","shell.execute_reply.started":"2024-08-29T15:56:12.967294Z","shell.execute_reply":"2024-08-29T15:56:13.088292Z"},"trusted":true},"execution_count":22,"outputs":[]},{"cell_type":"code","source":"# Load images and create arrays\nimages = []\nfor file_path in df['FilePath']:\n    try:\n        img = load_dicom_image(file_path)\n        images.append(img)\n    except Exception as e:\n        print(f\"Error processing file {file_path}: {e}\")\n\nimages = np.array(images)\nprint(images.shape)","metadata":{"execution":{"iopub.status.busy":"2024-08-30T02:41:16.777855Z","iopub.execute_input":"2024-08-30T02:41:16.779624Z","iopub.status.idle":"2024-08-30T02:54:42.012375Z","shell.execute_reply.started":"2024-08-30T02:41:16.77953Z","shell.execute_reply":"2024-08-30T02:54:42.008011Z"},"trusted":true},"execution_count":13,"outputs":[{"name":"stdout","text":"(30285, 128, 128)\n","output_type":"stream"}]},{"cell_type":"code","source":"# Extract StudyInstanceUID from file paths\ndf['StudyInstanceUID'] = df['FilePath'].apply(lambda x: os.path.basename(os.path.dirname(x)))\n\n# Merge with train.csv to get labels\ntrain_df = pd.read_csv('/kaggle/input/rsna-2022-cervical-spine-fracture-detection/train.csv')\ndf = df.merge(train_df[['StudyInstanceUID', 'patient_overall']], on='StudyInstanceUID', how='left')\n\n# Extract labels\nlabels = df['patient_overall'].values\nprint(labels.shape)\n\n","metadata":{"execution":{"iopub.status.busy":"2024-08-30T03:01:55.936476Z","iopub.execute_input":"2024-08-30T03:01:55.93794Z","iopub.status.idle":"2024-08-30T03:01:56.127021Z","shell.execute_reply.started":"2024-08-30T03:01:55.937883Z","shell.execute_reply":"2024-08-30T03:01:56.125503Z"},"trusted":true},"execution_count":14,"outputs":[{"name":"stdout","text":"(30285,)\n","output_type":"stream"}]},{"cell_type":"code","source":"# Split Data into Training and Validation Sets\nX_train, X_val, y_train, y_val = train_test_split(images, labels, test_size=0.2, random_state=42)\n\nprint(X_train.shape, y_train.shape)\nprint(X_val.shape, y_val.shape)","metadata":{"execution":{"iopub.status.busy":"2024-08-30T03:02:00.04794Z","iopub.execute_input":"2024-08-30T03:02:00.048382Z","iopub.status.idle":"2024-08-30T03:02:02.049109Z","shell.execute_reply.started":"2024-08-30T03:02:00.048344Z","shell.execute_reply":"2024-08-30T03:02:02.047143Z"},"trusted":true},"execution_count":15,"outputs":[{"name":"stdout","text":"(24228, 128, 128) (24228,)\n(6057, 128, 128) (6057,)\n","output_type":"stream"}]},{"cell_type":"code","source":"# Define and Train the Model\ndef create_model():\n    inputs = Input(shape=(128, 128, 1))\n    x = Conv2D(32, (3, 3), activation='relu')(inputs)\n    x = MaxPooling2D((2, 2))(x)\n    x = Conv2D(64, (3, 3), activation='relu')(x)\n    x = MaxPooling2D((2, 2))(x)\n    x = Flatten()(x)\n    x = Dense(128, activation='relu')(x)\n    x = Dropout(0.5)(x)\n    outputs = Dense(1, activation='sigmoid')(x)\n    model = Model(inputs, outputs)\n    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])\n    return model\n\nmodel = create_model()\nmodel.summary()\n\n# Train the Model\nhistory = model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_val, y_val))","metadata":{"execution":{"iopub.status.busy":"2024-08-29T16:15:39.164025Z","iopub.execute_input":"2024-08-29T16:15:39.164414Z","iopub.status.idle":"2024-08-29T17:08:45.306976Z","shell.execute_reply.started":"2024-08-29T16:15:39.164373Z","shell.execute_reply":"2024-08-29T17:08:45.305254Z"},"trusted":true},"execution_count":50,"outputs":[{"output_type":"display_data","data":{"text/plain":"\u001b[1mModel: \"functional_1\"\u001b[0m\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"functional_1\"</span>\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n┃\u001b[1m \u001b[0m\u001b[1mLayer (type)                   \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape          \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m      Param #\u001b[0m\u001b[1m \u001b[0m┃\n┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n│ input_layer (\u001b[38;5;33mInputLayer\u001b[0m)        │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m1\u001b[0m)    │             \u001b[38;5;34m0\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ conv2d (\u001b[38;5;33mConv2D\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m126\u001b[0m, \u001b[38;5;34m126\u001b[0m, \u001b[38;5;34m32\u001b[0m)   │           \u001b[38;5;34m320\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ max_pooling2d (\u001b[38;5;33mMaxPooling2D\u001b[0m)    │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m63\u001b[0m, \u001b[38;5;34m63\u001b[0m, \u001b[38;5;34m32\u001b[0m)     │             \u001b[38;5;34m0\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ conv2d_1 (\u001b[38;5;33mConv2D\u001b[0m)               │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m61\u001b[0m, \u001b[38;5;34m61\u001b[0m, \u001b[38;5;34m64\u001b[0m)     │        \u001b[38;5;34m18,496\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ max_pooling2d_1 (\u001b[38;5;33mMaxPooling2D\u001b[0m)  │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m30\u001b[0m, \u001b[38;5;34m30\u001b[0m, \u001b[38;5;34m64\u001b[0m)     │             \u001b[38;5;34m0\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ flatten (\u001b[38;5;33mFlatten\u001b[0m)               │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m57600\u001b[0m)          │             \u001b[38;5;34m0\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense (\u001b[38;5;33mDense\u001b[0m)                   │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m)            │     \u001b[38;5;34m7,372,928\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dropout (\u001b[38;5;33mDropout\u001b[0m)               │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m)            │             \u001b[38;5;34m0\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense_1 (\u001b[38;5;33mDense\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m)              │           \u001b[38;5;34m129\u001b[0m │\n└─────────────────────────────────┴────────────────────────┴───────────────┘\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n┃<span style=\"font-weight: bold\"> Layer (type)                    </span>┃<span style=\"font-weight: bold\"> Output Shape           </span>┃<span style=\"font-weight: bold\">       Param # </span>┃\n┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n│ input_layer (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">InputLayer</span>)        │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>)    │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ conv2d (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv2D</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">126</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">126</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>)   │           <span style=\"color: #00af00; text-decoration-color: #00af00\">320</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ max_pooling2d (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">MaxPooling2D</span>)    │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">63</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">63</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>)     │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ conv2d_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv2D</span>)               │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">61</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">61</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)     │        <span style=\"color: #00af00; text-decoration-color: #00af00\">18,496</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ max_pooling2d_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">MaxPooling2D</span>)  │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">30</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">30</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)     │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ flatten (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Flatten</span>)               │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">57600</span>)          │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                   │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)            │     <span style=\"color: #00af00; text-decoration-color: #00af00\">7,372,928</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dropout (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)               │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)            │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>)              │           <span style=\"color: #00af00; text-decoration-color: #00af00\">129</span> │\n└─────────────────────────────────┴────────────────────────┴───────────────┘\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"\u001b[1m Total params: \u001b[0m\u001b[38;5;34m7,391,873\u001b[0m (28.20 MB)\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">7,391,873</span> (28.20 MB)\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m7,391,873\u001b[0m (28.20 MB)\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">7,391,873</span> (28.20 MB)\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n</pre>\n"},"metadata":{}},{"name":"stdout","text":"Epoch 1/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m306s\u001b[0m 401ms/step - accuracy: 0.5192 - loss: 0.6997 - val_accuracy: 0.5423 - val_loss: 0.6818\nEpoch 2/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m311s\u001b[0m 411ms/step - accuracy: 0.5414 - loss: 0.6763 - val_accuracy: 0.5648 - val_loss: 0.6579\nEpoch 3/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m318s\u001b[0m 405ms/step - accuracy: 0.5797 - loss: 0.6360 - val_accuracy: 0.5871 - val_loss: 0.6298\nEpoch 4/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m337s\u001b[0m 424ms/step - accuracy: 0.6134 - loss: 0.5843 - val_accuracy: 0.6087 - val_loss: 0.6197\nEpoch 5/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m315s\u001b[0m 415ms/step - accuracy: 0.6430 - loss: 0.5420 - val_accuracy: 0.6180 - val_loss: 0.6075\nEpoch 6/10\n\u001b[1m165/758\u001b[0m \u001b[32m━━━━\u001b[0m\u001b[37m━━━━━━━━━━━━━━━━\u001b[0m \u001b[1m3:44\u001b[0m 378ms/step - accuracy: 0.6756 - loss: 0.5047","output_type":"stream"},{"name":"stderr","text":"24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_0_piece0 on e45e95913418:45937 in memory (size: 34.5 KiB, free: 434.3 MiB)\n24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_2_piece0 on e45e95913418:45937 in memory (size: 34.5 KiB, free: 434.3 MiB)\n24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_6_piece0 on e45e95913418:45937 in memory (size: 34.4 KiB, free: 434.3 MiB)\n24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_5_piece0 on e45e95913418:45937 in memory (size: 8.2 KiB, free: 434.3 MiB)\n24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_4_piece0 on e45e95913418:45937 in memory (size: 34.4 KiB, free: 434.4 MiB)\n24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_1_piece0 on e45e95913418:45937 in memory (size: 6.4 KiB, free: 434.4 MiB)\n24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_7_piece0 on e45e95913418:45937 in memory (size: 6.4 KiB, free: 434.4 MiB)\n24/08/29 16:43:13 INFO BlockManagerInfo: Removed broadcast_3_piece0 on e45e95913418:45937 in memory (size: 12.8 KiB, free: 434.4 MiB)\n","output_type":"stream"},{"name":"stdout","text":"\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m307s\u001b[0m 405ms/step - accuracy: 0.6718 - loss: 0.5083 - val_accuracy: 0.6429 - val_loss: 0.6094\nEpoch 7/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m327s\u001b[0m 412ms/step - accuracy: 0.6754 - loss: 0.4961 - val_accuracy: 0.6421 - val_loss: 0.6235\nEpoch 8/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m318s\u001b[0m 419ms/step - accuracy: 0.6999 - loss: 0.4714 - val_accuracy: 0.6639 - val_loss: 0.6359\nEpoch 9/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m318s\u001b[0m 419ms/step - accuracy: 0.7105 - loss: 0.4611 - val_accuracy: 0.6708 - val_loss: 0.6319\nEpoch 10/10\n\u001b[1m758/758\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m325s\u001b[0m 423ms/step - accuracy: 0.7322 - loss: 0.4394 - val_accuracy: 0.6848 - val_loss: 0.6335\n","output_type":"stream"}]},{"cell_type":"code","source":"# Evaluate the Model\ny_val_pred = model.predict(X_val)\ny_val_pred = (y_val_pred > 0.5).astype(int)\nprint(classification_report(y_val, y_val_pred))\nprint('Accuracy:', accuracy_score(y_val, y_val_pred))\n\n# Visualize Training History\nplt.plot(history.history['accuracy'], label='train_accuracy')\nplt.plot(history.history['val_accuracy'], label='val_accuracy')\nplt.xlabel('Epoch')\nplt.ylabel('Accuracy')\nplt.legend()\nplt.show()\n\nplt.plot(history.history['loss'], label='train_loss')\nplt.plot(history.history['val_loss'], label='val_loss')\nplt.xlabel('Epoch')\nplt.ylabel('Loss')\nplt.legend()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-08-29T17:09:27.781743Z","iopub.execute_input":"2024-08-29T17:09:27.782116Z","iopub.status.idle":"2024-08-29T17:09:51.958692Z","shell.execute_reply.started":"2024-08-29T17:09:27.782073Z","shell.execute_reply":"2024-08-29T17:09:51.957411Z"},"trusted":true},"execution_count":52,"outputs":[{"name":"stdout","text":"\u001b[1m190/190\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m23s\u001b[0m 121ms/step\n              precision    recall  f1-score   support\n\n           0       0.71      0.67      0.69      3203\n           1       0.66      0.70      0.68      2854\n\n    accuracy                           0.68      6057\n   macro avg       0.69      0.69      0.68      6057\nweighted avg       0.69      0.68      0.69      6057\n\nAccuracy: 0.6848274723460459\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"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F15g8eLFvPvuu1SuXBkvLy/uu+++q3YM/m8IsFgsWYHhSr755hteeOEFxowZQ+PGjfH19eWdd95h5cqVAHh5eV3x9Vd73mq1XtRf6vySJv/23+9DSkoKrVu3pnXr1syYMYPSpUtz4MABWrdunfW9uNq1AwMDadeuHZMnTyY8PJyFCxfy+++/X/E1IiKF1X9bfdxcHK0+/W4vGK0+/1Z4P7Ulx9zd3a9pjanly5fTs2dPOnbsCDhahPbt25dndS1fvpwmTZrw5JNPZu3bvXt31te+vr6EhYURHR3NHXfccdHr69aty6FDh9ixY8clW4FKly5NbGwshmFkLTURExNz1bq2bdvGiRMneOuttwgNDQVgzZo1F1176tSpZGRkXLYV6NFHH6Vbt26UK1eOSpUq0bRp06teW0SksLlUq8+7XSKoEVxwWn3+rWDFMclTYWFhrFy5kn379nH8+PHLts5UqVKF7777jpiYGNavX8+DDz54TS0516tKlSqsWbOGn3/+mR07djBkyBBWr16d7Zhhw4YxZswYPvjgA3bu3Mm6dev48MMPAbjtttto1qwZnTt3ZvHixezdu5eFCxeyaNEiwDH/0bFjxxg9ejS7d+9m/PjxLFy48Kp1lS9fHnd3dz788EP27NnD/PnzGTFiRLZjnnrqKRITE+natStr1qxh586dTJs2je3bt2cd07p1a/z8/HjjjTfo1avXjX67REQKlPMjvFq9t4xftsTh5mJhYMuqfN+/aYENP6AA5FReeOEFXFxcqFmzZtbtnEsZO3YsJUqUoEmTJrRr147WrVtz00035VldTzzxBJ06deKBBx4gKiqKEydOZGsNAujRowfjxo3j448/platWrRt25adO3dmPT9nzhwiIyPp1q0bNWvW5KWXXspq7apRowYff/wx48ePJyIiglWrVvHCCy9cta7SpUszZcoUZs2aRc2aNXnrrbd49913sx1TqlQpfv31V5KTk7ntttto0KABn3/+ebbWIKvVSs+ePbHZbDzyyCM38q0SESlQ4pNSeWLaWgZ8E8PpMxnUCvFj/lO38EzzKgXultd/WYycTCbjJBITE/H39ychIQE/v+zpNTU1lb179xIeHo6np6dJFUph06dPH44dO3bVuZH0+yUihUFB7etzpc/v/1IfIJE8lJCQwMaNG/nqq6+ueWJIEZGCrLD19bmcgt0+JUVC3759KVas2CUfffv2Nbu8PNW+fXtatWpF3759s821JCJS2BiGwff/HKbl2At9fZ4vBH19LkctQJLnXn/99cv2ublaE2VhpyHvIlIUxCel8r+5m1h8rtWndlnHvD6FMficpwAkeS4wMJDAwECzyxARkRxyjPBy9PVJOOvo6/PMnVXoWwDn9ckpBSARERG5SHxiKv/7Pnurz7tdIqhepvC2+vybApCIiIhkuVSrz4DmVXjitsLf6vNvCkAiIiICOFp9Xpm7iSVbi2arz78pAImIiDg5Z2n1+TcFIBERESfmTK0+/1Y0Y53kibCwMMaNG2d2GSIikgsMw2DuP4do+d4ylmx1zOvzQquqzH2yaZEPP6AWIBEREafz31afOmX9ebdLBNXK+JpcWf5RABKnYLPZsFgsWK1q9BQR52UYBt/HHGbY/C1ZfX2ebVGVx5tVLLJ9fS7Hud5tXjEMSE/J/0cO1rH97LPPCAkJwW63Z9vfvn17evfuze7du2nfvj1BQUEUK1aMyMhIlixZct3fkrFjx1KnTh18fHwIDQ3lySefJDk5Odsxy5cv5/bbb8fb25sSJUrQunVrTp06BYDdbmf06NFUrlwZDw8Pypcvz8iRIwHH7MoWi4XTp09nnSsmJgaLxcK+ffsAmDJlCsWLF2f+/PnUrFkTDw8PDhw4wOrVq2nZsiUBAQH4+/tz2223sW7dumx1nT59mieeeIKgoCA8PT2pXbs2P/74IykpKfj5+TF79uxsx3///ff4+PiQlJR03d8vEZG8Fp+YymNfruW5metJOJtBnbL+/Pj0rfS/o7LThR9QC1DuyDgDb4bk/3VfOQLuPtd0aJcuXXj66af57bffaN68OQAnT55k0aJF/PTTTyQnJ3P33XczcuRIPDw8+PLLL2nXrh3bt2+nfPnyOS7NarXywQcfEB4ezp49e3jyySd56aWX+PjjjwFHYGnevDm9e/fm/fffx9XVld9++w2bzQbA4MGD+fzzz3nvvfe45ZZbOHr0KNu2bctRDWfOnOHtt9/miy++oFSpUgQGBrJnzx569OjBhx9+iGEYjBkzhrvvvpudO3fi6+uL3W6nTZs2JCUlMX36dCpVqsSWLVtwcXHBx8eHrl27MnnyZO67776s65zf9vV1nqZjESk8HH19DjNs/mYSUzOzWn2eaFYRVycMPucpADmJEiVK0KZNG7766qusADR79mwCAgK44447sFqtREREZB0/YsQI5s6dy/z583nqqadyfL1nn3026+uwsDDeeOMN+vbtmxWARo8eTcOGDbO2AWrVqgVAUlIS77//Ph999BE9evQAoFKlStxyyy05qiEjI4OPP/442/u68847sx3z2WefUbx4cZYuXUrbtm1ZsmQJq1atYuvWrVStWhWAihUrZh3/6KOP0qRJE44ePUpwcDDx8fH89NNPN9RaJiKSVxx9fTayZGs8AHXL+fPOfc7V1+dyFIByg5u3ozXGjOvmQPfu3Xnsscf4+OOP8fDwYMaMGXTt2hWr1UpycjLDhg1jwYIFHD16lMzMTM6ePcuBAweuq7QlS5YwatQotm3bRmJiIpmZmaSmpnLmzBm8vb2JiYmhS5cul3zt1q1bSUtLywpq18vd3Z26detm2xcXF8err77K77//Tnx8PDabjTNnzmS9z5iYGMqVK5cVfv6rUaNG1KpVi6lTpzJo0CCmT59OhQoVaNas2Q3VKiKSm/7b6uPuYmVAiypO3+rzbwpAucFiueZbUWZq164dhmGwYMECIiMj+eOPP3jvvfcAeOGFF1i8eDHvvvsulStXxsvLi/vuu4/09PQcX2ffvn20bduWfv36MXLkSEqWLMmff/5Jnz59SE9Px9vbGy8vr8u+/krPAVkdmY1/9YHKyMi45HksFku2fT169ODEiRO8//77VKhQAQ8PDxo3bpz1Pq92bXC0Ao0fP55BgwYxefJkevXqddF1RETMEpeYyivfbSR6m1p9rkQx0Il4enrSqVMnZsyYwddff021atW46aabAEeH5J49e9KxY0fq1KlDmTJlsjoU59TatWux2+2MGTOGm2++mapVq3LkSPYWsrp16xIdHX3J11epUgUvL6/LPl+6dGkAjh49mrUvJibmmmpbvnw5zzzzDHfffTe1atXCw8OD48ePZ6vr0KFD7Nix47LneOihh9i/fz8ffPABW7ZsybpNJyJiJsMw+G7dIVqOXUr0tnjcXay82Loa3/VrovBzCWoBcjLdu3enbdu2bN68mYceeihrf5UqVfjuu+9o164dFouFIUOGXDRi7FpVrlyZjIwMPvzwQ9q1a8fy5cuZMGFCtmMGDx5MnTp1ePLJJ+nbty/u7u789ttvdOnShYCAAF5++WVeeukl3N3dadq0KceOHWPz5s306dOH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FhEREaejACQiIiJORwEon3l4ePDaa6/h4eFhdimCfh4FjX4eBYt+HgWLfh65S52gRURExOmoBUhEREScjgKQiIiIOB0FIBEREXE6CkAiIiLidBSA8tH48eMJCwvD09OTqKgoVq1aZXZJTmnUqFFERkbi6+tLYGAgHTp0YPv27WaXJee89dZbWCwWnn32WbNLcWqHDx/moYceolSpUnh5eVGnTh3WrFljdllOyWazMWTIEMLDw/Hy8qJSpUqMGDHimta7kstTAMonM2fOZODAgbz22musW7eOiIgIWrduTXx8vNmlOZ2lS5fSv39//v77bxYvXkxGRgatWrUiJSXF7NKc3urVq/n000+pW7eu2aU4tVOnTtG0aVPc3NxYuHAhW7ZsYcyYMZQoUcLs0pzS22+/zSeffMJHH33E1q1befvttxk9ejQffvih2aUVahoGn0+ioqKIjIzko48+AhzrjYWGhvL0008zaNAgk6tzbseOHSMwMJClS5fSrFkzs8txWsnJydx00018/PHHvPHGG9SrV49x48aZXZZTGjRoEMuXL+ePP/4wuxQB2rZtS1BQEBMnTsza17lzZ7y8vJg+fbqJlRVuagHKB+np6axdu5YWLVpk7bNarbRo0YIVK1aYWJkAJCQkAFCyZEmTK3Fu/fv355577sn270TMMX/+fBo2bEiXLl0IDAykfv36fP7552aX5bSaNGlCdHQ0O3bsAGD9+vX8+eeftGnTxuTKCjcthpoPjh8/js1mIygoKNv+oKAgtm3bZlJVAo6WuGeffZamTZtSu3Zts8txWt988w3r1q1j9erVZpciwJ49e/jkk08YOHAgr7zyCqtXr+aZZ57B3d2dHj16mF2e0xk0aBCJiYlUr14dFxcXbDYbI0eOpHv37maXVqgpAIlT69+/P5s2beLPP/80uxSndfDgQQYMGMDixYvx9PQ0uxzB8T8GDRs25M033wSgfv36bNq0iQkTJigAmeDbb79lxowZfPXVV9SqVYuYmBieffZZQkJC9PO4AQpA+SAgIAAXFxfi4uKy7Y+Li6NMmTImVSVPPfUUP/74I8uWLaNcuXJml+O01q5dS3x8PDfddFPWPpvNxrJly/joo49IS0vDxcXFxAqdT3BwMDVr1sy2r0aNGsyZM8ekipzbiy++yKBBg+jatSsAderUYf/+/YwaNUoB6AaoD1A+cHd3p0GDBkRHR2fts9vtREdH07hxYxMrc06GYfDUU08xd+5cfv31V8LDw80uyak1b96cjRs3EhMTk/Vo2LAh3bt3JyYmRuHHBE2bNr1oaogdO3ZQoUIFkypybmfOnMFqzf5x7eLigt1uN6miokEtQPlk4MCB9OjRg4YNG9KoUSPGjRtHSkoKvXr1Mrs0p9O/f3+++uor5s2bh6+vL7GxsQD4+/vj5eVlcnXOx9fX96L+Vz4+PpQqVUr9skzy3HPP0aRJE958803uv/9+Vq1axWeffcZnn31mdmlOqV27dowcOZLy5ctTq1Yt/vnnH8aOHUvv3r3NLq1Q0zD4fPTRRx/xzjvvEBsbS7169fjggw+IiooyuyynY7FYLrl/8uTJ9OzZM3+LkUu6/fbbNQzeZD/++CODBw9m586dhIeHM3DgQB577DGzy3JKSUlJDBkyhLlz5xIfH09ISAjdunVj6NChuLu7m11eoaUAJCIiIk5HfYBERETE6SgAiYiIiNNRABIRERGnowAkIiIiTkcBSERERJyOApCIiIg4HQUgERERcToKQCIiIuJ0FIBERK6BxWLh+++/N7sMEcklCkAiUuD17NkTi8Vy0eOuu+4yuzQRKaS0GKqIFAp33XUXkydPzrbPw8PDpGpEpLBTC5CIFAoeHh6UKVMm26NEiRKA4/bUJ598Qps2bfDy8qJixYrMnj072+s3btzInXfeiZeXF6VKleLxxx8nOTk52zGTJk2iVq1aeHh4EBwczFNPPZXt+ePHj9OxY0e8vb2pUqUK8+fPz9s3LSJ5RgFIRIqEIUOG0LlzZ9avX0/37t3p2rUrW7duBSAlJYXWrVtTokQJVq9ezaxZs1iyZEm2gPPJJ5/Qv39/Hn/8cTZu3Mj8+fOpXLlytmsMHz6c+++/nw0bNnD33XfTvXt3Tp48ma/vU0RyiSEiUsD16NHDcHFxMXx8fLI9Ro4caRiGYQBG3759s70mKirK6Nevn2EYhvHZZ58ZJUqUMJKTk7OeX7BggWG1Wo3Y2FjDMAwjJCTE+N///nfZGgDj1VdfzdpOTk42AGPhwoW59j5FJP+oD5CIFAp33HEHn3zySbZ9JUuWzPq6cePG2Z5r3LgxMTExAGzdupWIiAh8fHyynm/atCl2u53t27djsVg4cuQIzZs3v2INdevWzfrax8cHPz8/4uPjr/ctiYiJFIBEpFDw8fG56JZUbvHy8rqm49zc3LJtWywW7HZ7XpQkInlMfYBEpEj4+++/L9quUaMGADVq1GD9+vWkpKRkPb98+XKsVivVqlXD19eXsLAwoqOj87VmETGPWoBEpFBIS0sjNjY22z5XV1cCAgIAmDVrFg0bNuSWW25hxowZrFq1iokTJwLQvXt3XnvtNXr06MGwYcM4duwYTz/9NA8//DBBQUEADBs2jL59+xIYGEibNm1ISkpi+fLlPP300/n7RkUkXygAiUihsGjRIoKDg7Ptq1atGtu2bQMcI7S++eYbnnzySYKDg/n666+pWbMmAN7e3vz8888MGDCAyMhIvL296dy5M2PHjs06V48ePUhNTeW9997jhRdeICAggPvuuy//3qCI5CuLYRiG2UWIiNwIi8XC3Llz6dChg9mliEghoT5AIiIi4nQUgERERMTpqA+QiBR6upMvIjmlFiARERFxOgpAIiIi4nQUgERERMTpKACJiIiI01EAEhEREaejACQiIiJORwFIREREnI4CkIiIiDid/wPBE9TKhlkwwwAAAABJRU5ErkJggg=="},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"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zBNPPMHWrVuZM2cOtWvXzvMer7zyCj179uTPP//krrvuok+fPiQlJRXr5xSRQmITESnh+vXrZ3NxcbH5+Pjkebzxxhs2m81mA2xPPvlkntdER0fbBg0aZLPZbLbJkyfbKlSoYEtPT899ft68eTaz2WxLSEiw2Ww2W2hoqO3FF1+8ag2A7b///W/u1+np6TbAtmDBgkL7nCJSfNQDJCKlwu23387EiRPzbKtYsWLur1u3bp3nudatW7N582YAdu7cSVRUFD4+PrnPt23bFqvVSnx8PCaTiWPHjtG+fftr1tC4cePcX/v4+ODn50diYuKNfiQRMZACkIiUCj4+PldckiosXl5e17Wfm5tbnq9NJhNWq7UoShKRIqYeIBEpE9auXXvF1xEREQBERESwZcsWMjIycp9ftWoVZrOZevXq4evrS3h4OLGxscVas4gYR2eARKRUyMzMJCEhIc82V1dXAgICAPj+++9p0aIFN998M19//TVxcXFMmTIFgD59+vDSSy/Rr18/Xn75ZU6ePMnQoUN55JFHCAoKAuDll1/mySefJDAwkM6dO5OWlsaqVasYOnRo8X5QESkWCkAiUiosXLiQkJCQPNvq1avHrl27APsdWt9++y1PPfUUISEhfPPNN0RGRgLg7e3NokWLeOaZZ2jZsiXe3t7cd999jBs3LvdY/fr14/z587z33nuMGDGCgIAA7r///uL7gCJSrEw2m81mdBEiIo4wmUzMnj2b7t27G12KiJQS6gESERERp6MAJCIiIk5HPUAiUurpSr6IFJTOAImIiIjTUQASERERp6MAJCIiIk5HAUhEREScjgKQiIiIOB0FIBEREXE6CkAiIiLidBSARERExOn8P199kneefFPAAAAAAElFTkSuQmCC"},"metadata":{}}]},{"cell_type":"code","source":"# Get the true labels from the validation set\ntest_labels = y_val  \n\n# Get the predicted labels from the model\npredicted_labels = np.argmax(model.predict(X_val), axis=1)  # Keep this if the model outputs probabilities\n\n# Generate the classification report\nreport = classification_report(test_labels, predicted_labels, output_dict=True)\n\n# Create a DataFrame from the classification report\nreport_df = pd.DataFrame(report).transpose()\n\n# Select the first two rows and drop the 'support' column\nreport_df.head(2).drop(columns='support').plot.bar()\n\n# Show the plot\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2024-08-29T17:11:22.598999Z","iopub.execute_input":"2024-08-29T17:11:22.599955Z","iopub.status.idle":"2024-08-29T17:11:44.410005Z","shell.execute_reply.started":"2024-08-29T17:11:22.599902Z","shell.execute_reply":"2024-08-29T17:11:44.408653Z"},"trusted":true},"execution_count":55,"outputs":[{"name":"stdout","text":"\u001b[1m190/190\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m21s\u001b[0m 110ms/step\n","output_type":"stream"},{"name":"stderr","text":"/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAiMAAAGYCAYAAACQz+KaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkx0lEQVR4nO3df1RUdf7H8deAMqjIkLIC2thoadiGgLgauq2eYiPrsOv+kmMdIUxdEzZ1aiNMQNPE2vy5qWyurO7ZddXNzd09eugYR2xTWhLD7KjZIoX9AGU9MYoFNsz3j07TlxWUQfQj+HycM+fInc+deQ+kPLtzZ8bi8Xg8AgAAMMTP9AAAAODGRowAAACjiBEAAGAUMQIAAIwiRgAAgFHECAAAMIoYAQAARhEjAADAqG6mB2iLpqYmffrpp+rdu7csFovpcQAAQBt4PB6dPXtW/fv3l59f68c/OkWMfPrpp7Lb7abHAAAA7XDy5EndfPPNrV7fKWKkd+/ekr5+MMHBwYanAQAAbeFyuWS3272/x1vTKWLkm6dmgoODiREAADqZy51iwQmsAADAKGIEAAAYRYwAAACjOsU5IwCArs/tduvChQumx4APunfvLn9//yu+HWIEAGCUx+NRdXW1Pv/8c9OjoB1CQkIUHh5+Re8DRowAAIz6JkT69eunnj178uaWnYTH49H58+d16tQpSVJERES7b4sYAQAY43a7vSHSt29f0+PARz169JAknTp1Sv369Wv3UzacwAoAMOabc0R69uxpeBK01zc/uys534cYAQAYx1MznVdH/OyIEQAAYJTPMfLGG28oKSlJ/fv3l8Vi0Y4dOy67T3FxsUaMGCGr1arbbrtNGzdubMeoAADc2IqLi2WxWNr0yiNf1prm8wms9fX1io6O1tSpU/XTn/70susrKyv14IMPaubMmfrzn/+soqIiTZs2TREREUpMTGzX0ACArs/x9M5rdl8fLn3wmt3XlRgzZow+++wz2Wy2Dl1rms8xMmHCBE2YMKHN6/Pz8zVo0CAtW7ZMkjRs2DC9+eabWrFiBTECALhhNDY2KiAg4IpuIyAgQOHh4R2+1rSrfs5ISUmJEhISmm1LTExUSUlJq/s0NDTI5XI1uwAAcD0ZP368MjIylJGRIZvNptDQUGVnZ8vj8UiSHA6HFi1apJSUFAUHB2vGjBmSpDfffFN33323evToIbvdrscff1z19fXe221oaFBmZqbsdrv39IYNGzZIuvipl48++khJSUm66aab1KtXL333u9/Vrl27WlwrSdu3b9d3v/tdWa1WORwO74GCbzgcDi1ZskRTp05V7969NXDgQL388stX61voddXfZ6S6ulphYWHNtoWFhcnlcumLL77wvkb5/8vLy9PChQuv9mjoKAuu/0OAWlBnegIAXdCmTZv06KOPqrS0VAcOHNCMGTM0cOBATZ8+XZL04osvKicnR7m5uZKkiooK3X///Vq8eLEKCgp0+vRpb9D84Q9/kCSlpKSopKREq1evVnR0tCorK1VbW9vi/aenp6uxsVFvvPGGevXqpSNHjigoKKjFtWVlZZo0aZIWLFig5ORk7d+/X7NmzVLfvn31yCOPeNctW7ZMixYt0rx58/TKK6/oscce07hx43T77bd34HeuuevyTc+ysrLkdDq9X7tcLtntdoMTAQBwMbvdrhUrVshisej222/X4cOHtWLFCm+M3HPPPXriiSe866dNm6aHH35Yc+bMkSQNGTJEq1ev1rhx47Ru3TpVVVVp27Zt2r17t/dZhcGDB7d6/1VVVfrZz36mqKioy65dvny57r33XmVnZ0uShg4dqiNHjug3v/lNsxh54IEHNGvWLElSZmamVqxYoT179lzVGLnqT9OEh4erpqam2baamhoFBwe3eFREkqxWq4KDg5tdAAC43tx1113N3mcjPj5eH3zwgdxutyRp5MiRzdYfOnRIGzduVFBQkPeSmJiopqYmVVZWqry8XP7+/ho3blyb7v/xxx/X4sWLNXbsWOXm5urdd99tde3Ro0c1duzYZtvGjh3bbF5JGj58uPfPFotF4eHh3rd8v1queozEx8erqKio2bbdu3crPj7+at81AABG9erVq9nX586d0y9/+UuVl5d7L4cOHdIHH3ygW2+9tdX/SW/NtGnTdOLECU2ZMkWHDx/WyJEj9dvf/vaKZu7evXuzry0Wi5qamq7oNi/H5xg5d+6c9xsoyVtyVVVVkr5+iiUlJcW7fubMmTpx4oSeeuopHTt2TGvXrtW2bds0d+7cjnkEAAAY8u9//7vZ12+99ZaGDBnS6me0jBgxQkeOHNFtt9120SUgIEBRUVFqamrS3r172zyD3W7XzJkz9be//U1PPPGE1q9f3+K6YcOGad++fc227du3T0OH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"},"metadata":{}}]},{"cell_type":"code","source":"import seaborn as sns\nfrom sklearn.metrics import confusion_matrix\nimport matplotlib.pyplot as plt\n\n# Assuming y_pred_classes and y_true are already defined\n# Compute the confusion matrix\ncm = confusion_matrix(y_val, y_val_pred)\n\n# Plot the confusion matrix using seaborn\nplt.figure(figsize=(10, 8))\nsns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=np.unique(y_val), yticklabels=np.unique(y_val))\nplt.ylabel('Actual')\nplt.xlabel('Predicted')\nplt.title('Confusion Matrix')\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2024-08-29T17:29:23.073297Z","iopub.execute_input":"2024-08-29T17:29:23.07435Z","iopub.status.idle":"2024-08-29T17:29:23.418399Z","shell.execute_reply.started":"2024-08-29T17:29:23.074292Z","shell.execute_reply":"2024-08-29T17:29:23.417086Z"},"trusted":true},"execution_count":75,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1000x800 with 2 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAx0AAAK9CAYAAABB8gHJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPXklEQVR4nO3de3yP9f/H8edns82MbYZtFkbkVKIoVjllmTMhxFdTSmook6SD0GElEsLq24GK0slyKCxiHSYayyEWciq2Oc/GDrbP7w+/fb7XJ9Sm6/LZ1uP+u31utz7X9b6u6319frefn5fn631dNrvdbhcAAAAAWMTN1RMAAAAAULZRdAAAAACwFEUHAAAAAEtRdAAAAACwFEUHAAAAAEtRdAAAAACwFEUHAAAAAEtRdAAAAACwFEUHAAAAAEtRdADARezatUsdO3aUn5+fbDab4uLiTD3/vn37ZLPZNG/ePFPPW5q1a9dO7dq1c/U0AAAWoOgAUGLt2bNHDz74oK6++mqVL19evr6+uvXWWzVjxgydPXvW0mtHRkZq69ateuGFF/T++++rRYsWll7vShoyZIhsNpt8fX0v+jvu2rVLNptNNptNU6dOLfb5Dx06pIkTJyo5OdmE2QIAyoJyrp4AAFzM8uXLddddd8nLy0v33HOPrrvuOuXm5uq7777T2LFjtX37dr355puWXPvs2bNKTEzUU089pREjRlhyjdDQUJ09e1YeHh6WnP/vlCtXTmfOnNHSpUvVr18/p30LFixQ+fLllZ2dfVnnPnTokCZNmqTatWurWbNmRT5u1apVl3U9AEDJR9EBoMTZu3evBgwYoNDQUK1Zs0bVq1d37IuKitLu3bu1fPlyy65/5MgRSZK/v79l17DZbCpfvrxl5/87Xl5euvXWW/Xhhx9eUHQsXLhQXbt21WeffXZF5nLmzBlVqFBBnp6eV+R6AIArj/YqACXOlClTlJmZqbffftup4ChUr149PfLII47v586d03PPPae6devKy8tLtWvX1pNPPqmcnByn42rXrq1u3brpu+++080336zy5cvr6quv1nvvvecYM3HiRIWGhkqSxo4dK5vNptq1a0s635ZU+N9GEydOlM1mc9oWHx+v2267Tf7+/qpYsaIaNGigJ5980rH/Ums61qxZo9atW8vHx0f+/v7q2bOnduzYcdHr7d69W0OGDJG/v7/8/Px077336syZM5f+Yf9k4MCB+uqrr3Ty5EnHto0bN2rXrl0aOHDgBeOPHz+uxx57TE2aNFHFihXl6+urzp076+eff3aMWbt2rW666SZJ0r333uto0yq8z3bt2um6665TUlKS2rRpowoVKjh+lz+v6YiMjFT58uUvuP+IiAhVrlxZhw4dKvK9AgBci6IDQImzdOlSXX311brllluKNP7+++/XhAkTdOONN2r69Olq27atYmJiNGDAgAvG7t69W3379tUdd9yhadOmqXLlyhoyZIi2b98uSerdu7emT58uSbr77rv1/vvv67XXXivW/Ldv365u3bopJydHkydP1rRp09SjRw99//33f3nc119/rYiICKWnp2vixImKjo7WDz/8oFtvvVX79u27YHy/fv10+vRpxcTEqF+/fpo3b54mTZpU5Hn27t1bNptNn3/+uWPbwoUL1bBhQ914440XjP/tt98UFxenbt266dVXX9XYsWO1detWtW3b1lEANGrUSJMnT5YkDRs2TO+//77ef/99tWnTxnGeY8eOqXPnzmrWrJlee+01tW/f/qLzmzFjhqpVq6bIyEjl5+dLkt544w2tWrVKs2bNUkhISJHvFQDgYnYAKEFOnTpll2Tv2bNnkcYnJyfbJdnvv/9+p+2PPfaYXZJ9zZo1jm2hoaF2SfaEhATHtvT0dLuXl5d9zJgxjm179+61S7K/8sorTueMjIy0h4aGXjCHZ5991m7843T69Ol2SfYjR45cct6F13j33Xcd25o1a2YPDAy0Hzt2zLHt559/tru5udnvueeeC6533333OZ3zzjvvtFepUuWS1zTeh4+Pj91ut9v79u1r79Chg91ut9vz8/PtwcHB9kmTJl30N8jOzrbn5+dfcB9eXl72yZMnO7Zt3Ljxgnsr1LZtW7ske2xs7EX3tW3b1mnbypUr7ZLszz//vP23336zV6xY0d6rV6+/vUcAQMlC0gGgRMnIyJAkVapUqUjjv/zyS0lSdHS00/YxY8ZI0gVrPxo3bqzWrVs7vlerVk0NGjTQb7/9dtlz/rPCtSBffPGFCgoKinTM4cOHlZycrCFDhiggIMCx/frrr9cdd9zhuE+j4cOHO31v3bq1jh075vgNi2LgwIFau3atUlNTtWbNGqWmpl60tUo6vw7Eze38/9vIz8/XsWPHHK1jmzZtKvI1vby8dO+99xZpbMeOHfXggw9q8uTJ6t27t8qXL6833nijyNcCAJQMFB0AShRfX19J0unTp4s0fv/+/XJzc1O9evWctgcHB8vf31/79+932l6rVq0LzlG5cmWdOHHiMmd8of79++vWW2/V/fffr6CgIA0YMEAff/zxXxYghfNs0KDBBfsaNWqko0ePKisry2n7n++lcuXKklSse+nSpYsqVaqkRYsWacGCBbrpppsu+C0LFRQUaPr06brmmmvk5eWlqlWrqlq1atqyZYtOnTpV5GteddVVxVo0PnXqVAUEBCg5OVkzZ85UYGBgkY8FAJQMFB0AShRfX1+FhIRo27ZtxTruzwu5L8Xd3f2i2+12+2Vfo3C9QSFvb28lJCTo66+/1uDBg7Vlyxb1799fd9xxxwVj/4l/ci+FvLy81Lt3b82fP1+LFy++ZMohSS+++KKio6PVpk0bffDBB1q5cqXi4+N17bXXFjnRkc7/PsWxefNmpaenS5K2bt1arGMBACUDRQeAEqdbt27as2ePEhMT/3ZsaGioCgoKtGvXLqftaWlpOnnypONJVGaoXLmy05OeCv05TZEkNzc3dejQQa+++qp++eUXvfDCC1qzZo2++eabi567cJ4pKSkX7Nu5c6eqVq0qHx+ff3YDlzBw4EBt3rxZp0+fvuji+0Kffvqp2rdvr7ffflsDBgxQx44dFR4efsFvUtQCsCiysrJ07733qnHjxho2bJimTJmijRs3mnZ+AMCVQdEBoMR5/PHH5ePjo/vvv19paWkX7N+zZ49mzJgh6Xx7kKQLnjD16quvSpK6du1q2rzq1q2rU6dOacuWLY5thw8f1uLFi53GHT9+/IJjC1+S9+fH+BaqXr26mjVrpvnz5zv9JX7btm1atWqV4z6t0L59ez333HN6/fXXFRwcfMlx7u7uF6Qon3zyif744w+nbYXF0cUKtOIaN26cDhw4oPnz5+vVV19V7dq1FRkZecnfEQBQMvFyQAAlTt26dbVw4UL1799fjRo1cnoj+Q8//KBPPvlEQ4YMkSQ1bdpUkZGRevPNN3Xy5Em1bdtWGzZs0Pz589WrV69LPo71cgwYMEDjxo3TnXfeqVGjRunMmTOaO3eu6tev77SQevLkyUpISFDXrl0VGhqq9PR0zZkzRzVq1NBtt912yfO/8sor6ty5s8LCwjR06FCdPXtWs2bNkp+fnyZOnGjaffyZm5ubnn766b8d161bN02ePFn33nuvbrnlFm3dulULFizQ1Vdf7TSubt268vf3V2xsrCpVqiQfHx+1bNlSderUKda81qxZozlz5ujZZ591PML33XffVbt27fTMM89oypQpxTofAMB1SDoAlEg9evTQli1b1LdvX33xxReKiorSE088oX379mnatGmaOXOmY+xbb72lSZMmaePGjXr00Ue1Zs0ajR8/Xh999JGpc6pSpYoWL16sChUq6PHHH9f8+fMVExOj7t27XzD3WrVq6Z133lFUVJRmz56tNm3aaM2aNfLz87vk+cPDw7VixQpVqVJFEyZM0NSpU9WqVSt9//33xf4LuxWefPJJjRkzRitXrtQjjzyiTZs2afny5apZs6bTOA8PD82fP1/u7u4aPny47r77bq1bt65Y1zp9+rTuu+8+3XDDDXrqqacc21u3bq1HHnlE06ZN0/r16025LwCA9Wz24qw4BAAAAIBiIukAAAAAYCmKDgAAAACWougAAAAAYCmKDgAAAACWougAAAAAYCmKDgAAAACWougAAAAAYKky+UZy7xtGuHoKAGCqn1fw9m0AZUv9oAqunsIlufLvkmc3v+6ya1uJpAMAAACApcpk0gEAAABcNhv/Lm82flEAAAAAlqLoAAAAAGAp2qsAAAAAI5vN1TMoc0g6AAAAAFiKpAMAAAAwYiG56fhFAQAAAFiKpAMAAAAwYk2H6Ug6AAAAAFiKogMAAACApWivAgAAAIxYSG46flEAAAAAliLpAAAAAIxYSG46kg4AAAAAlqLoAAAAAGAp2qsAAAAAIxaSm45fFAAAAIClSDoAAAAAIxaSm46kAwAAAIClSDoAAAAAI9Z0mI5fFAAAAIClKDoAAAAAWIr2KgAAAMCIheSmI+kAAAAAYCmSDgAAAMCIheSm4xcFAAAAYCmKDgAAAACWor0KAAAAMGIhuelIOgAAAABYiqQDAAAAMGIhuen4RQEAAABYiqQDAAAAMCLpMB2/KAAAAABLUXQAAAAAsBTtVQAAAICRG4/MNRtJBwAAAABLkXQAAAAARiwkNx2/KAAAAABLUXQAAAAAsBTtVQAAAICRjYXkZiPpAAAAAGApkg4AAADAiIXkpuMXBQAAAGApkg4AAADAiDUdpiPpAAAAAGApig4AAAAAlqK9CgAAADBiIbnp+EUBAAAA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"},"metadata":{}}]},{"cell_type":"code","source":"from tensorflow.keras.applications import ResNet50\nfrom tensorflow.keras.layers import Input, Conv2D, Flatten, Dense, Dropout, GlobalAveragePooling2D\nfrom tensorflow.keras.models import Model\nfrom tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau\n\ndef create_resnet_model():\n    # Use pre-trained ResNet50 with weights from 'imagenet'\n    base_model = ResNet50(include_top=False, weights='imagenet', input_shape=(128, 128, 3))\n    \n    # Freeze base model layers\n    for layer in base_model.layers:\n        layer.trainable = False\n\n    # Convert grayscale images to 3-channel\n    inputs = Input(shape=(128, 128, 1))\n    x = Conv2D(3, (3, 3), padding='same')(inputs)  # Convert to 3 channels\n\n    # Apply ResNet on top of the 3-channel input\n    x = base_model(x, training=False)\n    x = GlobalAveragePooling2D()(x)  # Use GlobalAveragePooling instead of Flatten to reduce parameters\n    x = Dense(64, activation='relu')(x)  # Reduce Dense layer size\n    x = Dropout(0.5)(x)\n    outputs = Dense(1, activation='sigmoid')(x)\n\n    model = Model(inputs, outputs)\n    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])\n    return model\n\n# Create model\nmodel = create_resnet_model()\nmodel.summary()\n","metadata":{"execution":{"iopub.status.busy":"2024-08-30T03:02:13.370673Z","iopub.execute_input":"2024-08-30T03:02:13.37111Z","iopub.status.idle":"2024-08-30T03:02:15.889163Z","shell.execute_reply.started":"2024-08-30T03:02:13.371071Z","shell.execute_reply":"2024-08-30T03:02:15.887862Z"},"trusted":true},"execution_count":16,"outputs":[{"output_type":"display_data","data":{"text/plain":"\u001b[1mModel: \"functional_3\"\u001b[0m\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"functional_3\"</span>\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n┃\u001b[1m \u001b[0m\u001b[1mLayer (type)                   \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape          \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m      Param #\u001b[0m\u001b[1m \u001b[0m┃\n┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n│ input_layer_3 (\u001b[38;5;33mInputLayer\u001b[0m)      │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m1\u001b[0m)    │             \u001b[38;5;34m0\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ conv2d_1 (\u001b[38;5;33mConv2D\u001b[0m)               │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m128\u001b[0m, \u001b[38;5;34m3\u001b[0m)    │            \u001b[38;5;34m30\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ resnet50 (\u001b[38;5;33mFunctional\u001b[0m)           │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m4\u001b[0m, \u001b[38;5;34m4\u001b[0m, \u001b[38;5;34m2048\u001b[0m)     │    \u001b[38;5;34m23,587,712\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ global_average_pooling2d_1      │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2048\u001b[0m)           │             \u001b[38;5;34m0\u001b[0m │\n│ (\u001b[38;5;33mGlobalAveragePooling2D\u001b[0m)        │                        │               │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense_2 (\u001b[38;5;33mDense\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m)             │       \u001b[38;5;34m131,136\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dropout_1 (\u001b[38;5;33mDropout\u001b[0m)             │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m)             │             \u001b[38;5;34m0\u001b[0m │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense_3 (\u001b[38;5;33mDense\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m)              │            \u001b[38;5;34m65\u001b[0m │\n└─────────────────────────────────┴────────────────────────┴───────────────┘\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n┃<span style=\"font-weight: bold\"> Layer (type)                    </span>┃<span style=\"font-weight: bold\"> Output Shape           </span>┃<span style=\"font-weight: bold\">       Param # </span>┃\n┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n│ input_layer_3 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">InputLayer</span>)      │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>)    │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ conv2d_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv2D</span>)               │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">3</span>)    │            <span style=\"color: #00af00; text-decoration-color: #00af00\">30</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ resnet50 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Functional</span>)           │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">4</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">4</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">2048</span>)     │    <span style=\"color: #00af00; text-decoration-color: #00af00\">23,587,712</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ global_average_pooling2d_1      │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">2048</span>)           │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">GlobalAveragePooling2D</span>)        │                        │               │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense_2 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)             │       <span style=\"color: #00af00; text-decoration-color: #00af00\">131,136</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dropout_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)             │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)             │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n├─────────────────────────────────┼────────────────────────┼───────────────┤\n│ dense_3 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>)              │            <span style=\"color: #00af00; text-decoration-color: #00af00\">65</span> │\n└─────────────────────────────────┴────────────────────────┴───────────────┘\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"\u001b[1m Total params: \u001b[0m\u001b[38;5;34m23,718,943\u001b[0m (90.48 MB)\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">23,718,943</span> (90.48 MB)\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m131,231\u001b[0m (512.62 KB)\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">131,231</span> (512.62 KB)\n</pre>\n"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m23,587,712\u001b[0m (89.98 MB)\n","text/html":"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">23,587,712</span> (89.98 MB)\n</pre>\n"},"metadata":{}}]},{"cell_type":"code","source":"# Callbacks for early stopping and learning rate reduction\ncallbacks = [\n    EarlyStopping(patience=5, restore_best_weights=True),\n    ReduceLROnPlateau(factor=0.5, patience=3)\n]\n\n# Train the Model\nhistory = model.fit(X_train, y_train, epochs=10, batch_size=64, \n                    validation_data=(X_val, y_val), callbacks=callbacks)","metadata":{"execution":{"iopub.status.busy":"2024-08-30T03:02:20.279197Z","iopub.execute_input":"2024-08-30T03:02:20.279713Z","iopub.status.idle":"2024-08-30T09:26:59.187278Z","shell.execute_reply.started":"2024-08-30T03:02:20.279664Z","shell.execute_reply":"2024-08-30T09:26:59.182884Z"},"trusted":true},"execution_count":17,"outputs":[{"name":"stdout","text":"Epoch 1/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2296s\u001b[0m 6s/step - accuracy: 0.5125 - loss: 0.7018 - val_accuracy: 0.5288 - val_loss: 0.6916 - learning_rate: 0.0010\nEpoch 2/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2325s\u001b[0m 6s/step - accuracy: 0.5209 - loss: 0.6925 - val_accuracy: 0.5288 - val_loss: 0.6917 - learning_rate: 0.0010\nEpoch 3/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2347s\u001b[0m 6s/step - accuracy: 0.5214 - loss: 0.6923 - val_accuracy: 0.5288 - val_loss: 0.6916 - learning_rate: 0.0010\nEpoch 4/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2277s\u001b[0m 6s/step - accuracy: 0.5138 - loss: 0.6928 - val_accuracy: 0.5288 - val_loss: 0.6914 - learning_rate: 0.0010\nEpoch 5/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2299s\u001b[0m 6s/step - accuracy: 0.5198 - loss: 0.6923 - val_accuracy: 0.5288 - val_loss: 0.6912 - learning_rate: 0.0010\nEpoch 6/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2292s\u001b[0m 6s/step - accuracy: 0.5271 - loss: 0.6918 - val_accuracy: 0.5288 - val_loss: 0.6914 - learning_rate: 0.0010\nEpoch 7/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2316s\u001b[0m 6s/step - accuracy: 0.5234 - loss: 0.6921 - val_accuracy: 0.5288 - val_loss: 0.6910 - learning_rate: 0.0010\nEpoch 8/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2278s\u001b[0m 6s/step - accuracy: 0.5254 - loss: 0.6913 - val_accuracy: 0.5288 - val_loss: 0.6908 - learning_rate: 0.0010\nEpoch 9/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2382s\u001b[0m 6s/step - accuracy: 0.5238 - loss: 0.6914 - val_accuracy: 0.5288 - val_loss: 0.6894 - learning_rate: 0.0010\nEpoch 10/10\n\u001b[1m379/379\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2262s\u001b[0m 6s/step - accuracy: 0.5246 - loss: 0.6904 - val_accuracy: 0.5288 - val_loss: 0.6894 - learning_rate: 0.0010\n","output_type":"stream"}]},{"cell_type":"code","source":"# Evaluate the Model\ny_val_pred = model.predict(X_val)\ny_val_pred = (y_val_pred > 0.5).astype(int)\nprint(classification_report(y_val, y_val_pred))\nprint('Accuracy:', accuracy_score(y_val, y_val_pred))\n\n# Visualize Training History\nplt.plot(history.history['accuracy'], label='train_accuracy')\nplt.plot(history.history['val_accuracy'], label='val_accuracy')\nplt.xlabel('Epoch')\nplt.ylabel('Accuracy')\nplt.legend()\nplt.show()\n\nplt.plot(history.history['loss'], label='train_loss')\nplt.plot(history.history['val_loss'], label='val_loss')\nplt.xlabel('Epoch')\nplt.ylabel('Loss')\nplt.legend()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-08-30T09:27:04.669833Z","iopub.execute_input":"2024-08-30T09:27:04.670427Z","iopub.status.idle":"2024-08-30T09:29:57.241714Z","shell.execute_reply.started":"2024-08-30T09:27:04.670359Z","shell.execute_reply":"2024-08-30T09:29:57.240497Z"},"trusted":true},"execution_count":18,"outputs":[{"name":"stdout","text":"\u001b[1m190/190\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m168s\u001b[0m 870ms/step\n              precision    recall  f1-score   support\n\n           0       0.53      1.00      0.69      3203\n           1       0.00      0.00      0.00      2854\n\n    accuracy                           0.53      6057\n   macro avg       0.26      0.50      0.35      6057\nweighted avg       0.28      0.53      0.37      6057\n\nAccuracy: 0.5288096417368334\n","output_type":"stream"},{"name":"stderr","text":"/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"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YcP0yiuv6Mcff1SXLl20ePFiDRw48LoPcCcgVROFF6z6ft8pSayeDaDmsVgsZbrNVVU5f1m/+OKLSkhI0Ntvv62WLVvKy8tLAwYMUFFR0RWP4xwSLBZLmZag+eyzz/Tiiy/qnXfeUUxMjHx8fDRt2jT99NNPkv7zfLLSXO1zFxcXGYbh0FbSYzycfw75+fnq3bu3evfuraVLl6phw4ZKT09X79697T+Lq507KChIffv21aJFi9SsWTN98803+vbbb6+4T2Wovn+NtcxPB0+roMiqYF8PtQv1NbscAKiV3N3d7c+Ru5KNGzdq2LBhevjhhyVd7FG60kPUr9XGjRsVGxurZ555xt524MAB+799fHzUtGlTJSYm6u67775s/9tuu01Hjx7V3r17S+xFatiwoTIyMmQYhn2B4pSUlKvWtWfPHv32229666237M8w/fnnny8794cffqji4uJSe5FGjBihwYMHq3HjxmrRooXuuOOOq577Wpm2UCTKJ+n31bN7sHo2AJimadOm+umnn3T48GGdOnWq1N6dVq1aacWKFUpJSdH27dv1pz/96bouRtyqVSv9/PPP+te//qW9e/dq/Pjx2rp1q8M2EydO1DvvvKNZs2Zp3759Sk5O1uzZsyVJ3bp101133aX+/fsrISFBhw4d0jfffKO1a9dKurj+08mTJzV16lQdOHBAc+fO1TfffHPVupo0aSJ3d3fNnj1bBw8e1KpVqy57NNjo0aOVk5OjQYMG6eeff9a+ffv08ccf29cxlKTevXvL19dXr7/+usNSPtcTAakaMAyD8UcAUAW8+OKLcnV1Vdu2be23i0oyffp0+fv7KzY2Vn379lXv3r11++23X7e6nnrqKf3xj3/Uo48+qujoaP32228OvUmSFBcXp5kzZ+rdd99Vu3bt9MADD2jfvn32z7/44gt16tRJgwcPVtu2bfW3v/3N3lvWpk0bvfvuu5o7d646dOigLVu26MUXX7xqXQ0bNtTixYu1fPlytW3bVm+99Zbefvtth20CAgKUlJSkvLw8devWTZGRkXr//fcdepNcXFw0bNgwWa1WDR069Fp+VGVmMZxvKqJMcnJy5Ofnp+zsbPn6Xt9bXvsyc3XPjA1yr+OilFfvqdb36QFAks6fP69Dhw6pWbNm8vRkVi6u7oknntDJkye1atWqq257pb+vsn5/801bDaz7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H5WHQdoAAABO6EECAABwQkACAABwQkACAABwQkACAABwQkCqYubOnaumTZvK09NT0dHR2rJli9kl1UpTpkxRp06d5OPjo6CgID300ENKTU01uyz87q233pLFYtELL7xgdim12rFjx/TnP/9ZAQEB8vLyUvv27fXzzz+bXVatZLVaNX78eDVr1kxeXl5q0aKFJk+efNXnjaF0BKQqZNmyZYqPj9eECROUnJysDh06qHfv3srKyjK7tFrnu+++06hRo/Tjjz8qISFBxcXF+sMf/qD8/HyzS6v1tm7dqgULFui2224zu5Ra7cyZM7rjjjvk5uamb775Rrt27dI777wjf39/s0urlf7+979r3rx5mjNnjnbv3q2///3vmjp1qmbPnm12adUW0/yrkOjoaHXq1Elz5syRdPF5b2FhYXr22Wc1duxYk6ur3U6ePKmgoCB99913uuuuu8wup9bKy8vT7bffrnfffVevv/66IiIiNHPmTLPLqpXGjh2rjRs36vvvvze7FEh64IEHFBwcrA8++MDe1r9/f3l5eWnJkiUmVlZ90YNURRQVFWnbtm3q1auXvc3FxUW9evXS5s2bTawMkpSdnS1JatCggcmV1G6jRo3S/fff7/C/E5hj1apVioqK0iOPPKKgoCB17NhR77//vtll1VqxsbFKTEzU3r17JUnbt2/XDz/8oD59+phcWfXFw2qriFOnTslqtSo4ONihPTg4WHv27DGpKkgXe/JeeOEF3XHHHbr11lvNLqfW+uyzz5ScnKytW7eaXQokHTx4UPPmzVN8fLxeeuklbd26Vc8995zc3d0VFxdndnm1ztixY5WTk6NbbrlFrq6uslqteuONNzRkyBCzS6u2CEjAVYwaNUq//vqrfvjhB7NLqbWOHDmi559/XgkJCfL09DS7HOjifzhERUXpzTfflCR17NhRv/76q+bPn09AMsE///lPLV26VJ988onatWunlJQUvfDCCwoNDeX3UUEEpCoiMDBQrq6uyszMdGjPzMxUo0aNTKoKo0eP1urVq7VhwwY1btzY7HJqrW3btikrK0u33367vc1qtWrDhg2aM2eOCgsL5erqamKFtU9ISIjatm3r0NamTRt98cUXJlVUu/31r3/V2LFjNWjQIElS+/btlZaWpilTphCQKogxSFWEu7u7IiMjlZiYaG+z2WxKTExUTEyMiZXVToZhaPTo0Vq5cqWSkpLUrFkzs0uq1Xr27KkdO3YoJSXF/oqKitKQIUOUkpJCODLBHXfccdnSF3v37lV4eLhJFdVuBQUFcnFx/Ep3dXWVzWYzqaLqjx6kKiQ+Pl5xcXGKiopS586dNXPmTOXn52v48OFml1brjBo1Sp988om++uor+fj4KCMjQ5Lk5+cnLy8vk6urfXx8fC4b/+Xt7a2AgADGhZnkL3/5i2JjY/Xmm29q4MCB2rJli9577z299957ZpdWK/Xt21dvvPGGmjRponbt2umXX37R9OnT9fjjj5tdWrXFNP8qZs6cOZo2bZoyMjIUERGhWbNmKTo62uyyah2LxVJi+6JFizRs2LAbWwxK1L17d6b5m2z16tUaN26c9u3bp2bNmik+Pl4jR440u6xaKTc3V+PHj9fKlSuVlZWl0NBQDR48WK+++qrc3d3NLq9aIiABAAA4YQwSAACAEwISAACAEwISAACAEwISAACAEwISAACAEwISAACAEwISAACAEwISAACAEwISAFQSi8WiL7/80uwyAFQCAhKAGmHYsGGyWCyXve69916zSwNQDfGwWgA1xr333qtFixY5tHl4eJhUDYDqjB4kADWGh4eHGjVq5PDy9/eXdPH217x589SnTx95eXmpefPm+vzzzx3237Fjh3r06CEvLy8FBAToySefVF5ensM2CxcuVLt27eTh4aGQkBCNHj3a4fNTp07p4YcfVt26ddWqVSutWrXq+l40gOuCgASg1hg/frz69++v7du3a8iQIRo0aJB2794tScrPz1fv3r3l7++vrVu3avny5Vq3bp1DAJo3b55GjRqlJ598Ujt27NCqVavUsmVLh3O89tprGjhwoP7973/rvvvu05AhQ3T69Okbep0AKoEBADVAXFyc4erqanh7ezu83njjDcMwDEOS8fTTTzvsEx0dbfzXf/2XYRiG8d577xn+/v5GXl6e/fM1a9YYLi4uRkZGhmEYhhEaGmq8/PLLpdYgyXjllVfs7/Py8gxJxjfffFNp1wngxmAMEoAa4+6779a8efMc2ho0aGD/d0xMjMNnMTExSklJkSTt3r1bHTp0kLe3t/3zO+64QzabTampqbJYLDp+/Lh69ux5xRpuu+02+7+9vb3l6+urrKysil4SAJMQkADUGN7e3pfd8qosXl5eZdrOzc3N4b3FYpHNZrseJQG4jhiDBKDW+PHHHy9736ZNG0lSmzZttH37duXn59s/37hxo1xcXNS6dWv5+PioadOmSkxMvKE1AzAHPUgAaozCwkJlZGQ4tNWpU0eBgYGSpOXLlysqKkpdu3bV0qVLtWXLFn3wwQeSpCFDhmjChAmKi4vTxIkTdfLkST377LN67LHHFBwcLEmaOHGinn76aQUFBalPnz7Kzc3Vxo0b9eyzz97YCwVw3RGQANQYa9euVUhIiENb69attWfPHkkXZ5h99tlneuaZZxQSEqJPP/1Ubdu2lSTVrVtX//rXv/T888+rU6dOqlu3rvr376/p06fbjxUXF6fz589rxowZevHFFxUYGKgBAwbcuAsEcMNYDMMwzC4CAK43i8WilStX6qGHHjK7FADVAGOQAAAAnBCQAAAAnDAGCUCtwGgCAOVBDxIAAIATAhIAAIATAhIAAIATAhIAAIATAhIAAIATAhIAAIATAhIAAIATAhIAAICT/w9Qb87E9Tg3ywAAAABJRU5ErkJggg=="},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAkkAAAGwCAYAAAC99fF4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABeHElEQVR4nO3deVyU5f7/8dfMwAyLgAqCiChuIKlpboS2aKJmnrLdzG9p/apzyszy1Lc8ntQW7ZSnjpWdzL6tthw7njp5yvSYWy4kpmlW4g7igoALm7LNzO+PgcFJ3BC4GXg/H495OHPf99zzuaGct9d13ddlcjqdTkRERETEg9noAkRERETqI4UkERERkSooJImIiIhUQSFJREREpAoKSSIiIiJVUEgSERERqYJCkoiIiEgVfIwuwFs5HA4OHjxIUFAQJpPJ6HJERETkPDidTvLz82nVqhVm89nbihSSqungwYNER0cbXYaIiIhUQ0ZGBq1btz7rMQpJ1RQUFAS4fsjBwcEGVyMiIiLnIy8vj+joaPf3+NkoJFVTRRdbcHCwQpKIiIiXOZ+hMhq4LSIiIlIFhSQRERGRKigkiYiIiFRBY5JEREROYbfbKS0tNboMqSZfX18sFkuNnEshSUREBNf8OZmZmRw/ftzoUuQiNW3alJYtW170PIYKSSIiIuAOSOHh4QQEBGiiYC/kdDo5ceIEWVlZAERGRl7U+RSSRESk0bPb7e6AFBoaanQ5chH8/f0ByMrKIjw8/KK63jRwW0REGr2KMUgBAQEGVyI1oeL3eLFjyxSSREREyqmLrWGoqd+jQpKIiIhIFRSSRERERKqgkCQiIiIAxMTEMGvWrBo518qVKzGZTF49pYLubquH9uYUYvMx06qpv9GliIhIPTdgwAB69OhRI+Fmw4YNBAYGXnxRDYRakuqZ5776lYF/XckHyWlGlyIiIg2A0+mkrKzsvI5t0aKF7vA7hUJSPXNp6xAAVqRmGVyJiEjj5nQ6OVFSVucPp9N53jWOHTuWVatW8eqrr2IymTCZTLz//vuYTCa++eYbevXqhc1mY82aNezevZsRI0YQERFBkyZN6NOnD99++63H+X7b3WYymfi///s/brrpJgICAujUqRMLFy6s9s/0X//6F126dMFmsxETE8PLL7/ssf/vf/87nTp1ws/Pj4iICG699Vb3vgULFtCtWzf8/f0JDQ0lKSmJwsLCatdyPtTdVs9cHdsCswl2HC5g/7ETtG6mRC8iYoSTpXYumbKkzj/312eHEmA9v6/nV199lR07dtC1a1eeffZZAH755RcAnnrqKf7617/Svn17mjVrRkZGBtdddx3Tp0/HZrPx4Ycfcv3117N9+3batGlzxs945plneOmll5g5cyavv/46o0ePJj09nebNm1/QdW3cuJHbb7+dadOmMXLkSNatW8dDDz1EaGgoY8eO5YcffuCRRx5h3rx59OvXj6NHj7J69WoADh06xKhRo3jppZe46aabyM/PZ/Xq1RcUKKtDIameaRpgpVfbZmxIO8aK7dncdXlbo0sSEZF6KiQkBKvVSkBAAC1btgQgNTUVgGeffZbBgwe7j23evDndu3d3v37uuef44osvWLhwIQ8//PAZP2Ps2LGMGjUKgBkzZvDaa6+RkpLCtddee0G1vvLKKwwaNIinn34agNjYWH799VdmzpzJ2LFj2bdvH4GBgfzud78jKCiItm3bctlllwGukFRWVsbNN99M27au78Vu3bpd0OdXh0JSPTQgLtwVklKzFJJERAzi72vh12eHGvK5NaF3794erwsKCpg2bRpff/21O3ScPHmSffv2nfU8l156qft5YGAgwcHB7rXRLsS2bdsYMWKEx7b+/fsza9Ys7HY7gwcPpm3btrRv355rr72Wa6+91t3N1717dwYNGkS3bt0YOnQoQ4YM4dZbb6VZs2YXXMeF0JikeuiazuEArNudQ1Gp3eBqREQaJ5PJRIDVp84fNTVb9G/vUnv88cf54osvmDFjBqtXr2bz5s1069aNkpKSs57H19f3tJ+Lw+GokRpPFRQUxKZNm/j000+JjIxkypQpdO/enePHj2OxWFi6dCnffPMNl1xyCa+//jpxcXHs3bu3xus4lUJSPdS5ZRCRIX4UlTpI3nPE6HJERKQes1qt2O3n/gf12rVrGTt2LDfddBPdunWjZcuWpKWl1X6B5eLj41m7du1pNcXGxroXofXx8SEpKYmXXnqJn376ibS0NJYvXw64wln//v155pln+PHHH7FarXzxxRe1WrO62+ohk8nEgLhwPk3Zx4rULAbGhRtdkoiI1FMxMTGsX7+etLQ0mjRpcsZWnk6dOvH5559z/fXXYzKZePrpp2ulRehM/vjHP9KnTx+ee+45Ro4cSXJyMrNn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GHlFpQZXIyIi4p0UkhqgNqEBtG8RSJnDyZqdOUaXIyIi4pUUkhqoU+9yExERkQunkNRAVcy+vXJ7Fg6HpgIQERG5UApJDVTvmOY0sfmQU1DCzwdzjS5HRETE6ygkNVBWHzNXdAwD1OUmIiJSHQpJDVhFl9sKhSQREZELppDUgA0ony9py/5csvOLDa5GRETEuygkNWDhwX50jQoGYNWObIOrERER8S4KSQ1cxVQA6nITERG5MApJDdyA8nFJ3+3MptTuMLgaERER76GQ1MB1b92U5oFW8ovK2Jh+zOhyREREvIZCUgNnMZsYEOsawK0uNxERkfOnkNQIVHS5rdiukCQiInK+FJIagas7tcBiNrHjcAH7j50wuhwRERGvoJDUCIQE+NKrTTNAXW4iIiLnSyGpkRjo7nLTfEkiIiLno16EpDfeeIOYmBj8/PxISEggJSXlrMcfP36ccePGERkZic1mIzY2lkWLFrn35+fn8+ijj9K2bVv8/f3p168fGzZsOOP5/vCHP2AymZg1a1ZNXVK9M7Cza/D2ut05FJXaDa5GRESk/jM8JM2fP5+JEycydepUNm3aRPfu3Rk6dChZWVV3C5WUlDB48GDS0tJYsGAB27dv5+233yYqKsp9zH333cfSpUuZN28eW7duZciQISQlJXHgwIHTzvfFF1/w/fff06pVq1q7xvogLiKIViF+FJU6SN59xOhyRERE6j3DQ9Irr7zC/fffzz333MMll1zCnDlzCAgI4N13363y+HfffZejR4/y73//m/79+xMTE8PVV19N9+7dATh58iT/+te/eOmll7jqqqvo2LEj06ZNo2PHjrz55pse5zpw4ADjx4/n448/xtfXt9av1Ugmk+mULjeNSxIRETkXQ0NSSUkJGzduJCkpyb3NbDaTlJREcnJyle9ZuHAhiYmJjBs3joiICLp27cqMGTOw211dSGVlZdjtdvz8/Dze5+/vz5o1a9yvHQ4Hd911F0888QRdunQ5Z63FxcXk5eV5PLzNwPIlSpanZuF0Og2uRkREpH4zNCTl5ORgt9uJiIjw2B4REUFmZmaV79mzZw8LFizAbrezaNEinn76aV5++WWef/55AIKCgkhMTOS5557j4MGD2O12PvroI5KTkzl06JD7PC+++CI+Pj488sgj51XrCy+8QEhIiPsRHR1dzas2Tr+OoVh9zOw/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"},"metadata":{}}]},{"cell_type":"code","source":"# Get the true labels from the validation set\ntest_labels = y_val  \n\n# Get the predicted labels from the model\npredicted_labels = np.argmax(model.predict(X_val), axis=1)  # Keep this if the model outputs probabilities\n\n# Generate the classification report\nreport = classification_report(test_labels, predicted_labels, output_dict=True)\n\n# Create a DataFrame from the classification report\nreport_df = pd.DataFrame(report).transpose()\n\n# Select the first two rows and drop the 'support' column\nreport_df.head(2).drop(columns='support').plot.bar()\n\n# Show the plot\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2024-08-30T09:33:25.987675Z","iopub.execute_input":"2024-08-30T09:33:25.988259Z","iopub.status.idle":"2024-08-30T09:36:12.392878Z","shell.execute_reply.started":"2024-08-30T09:33:25.988197Z","shell.execute_reply":"2024-08-30T09:36:12.391301Z"},"trusted":true},"execution_count":19,"outputs":[{"name":"stdout","text":"\u001b[1m190/190\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m166s\u001b[0m 871ms/step\n","output_type":"stream"},{"name":"stderr","text":"/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n/opt/conda/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n  _warn_prf(average, modifier, msg_start, len(result))\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAiMAAAGYCAYAAACQz+KaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkx0lEQVR4nO3df1RUdf7H8deAMqjIkLIC2thoadiGgLgauq2eYiPrsOv+kmMdIUxdEzZ1aiNMQNPE2vy5qWyurO7ZddXNzd09eugYR2xTWhLD7KjZIoX9AGU9MYoFNsz3j07TlxWUQfQj+HycM+fInc+deQ+kPLtzZ8bi8Xg8AgAAMMTP9AAAAODGRowAAACjiBEAAGAUMQIAAIwiRgAAgFHECAAAMIoYAQAARhEjAADAqG6mB2iLpqYmffrpp+rdu7csFovpcQAAQBt4PB6dPXtW/fv3l59f68c/OkWMfPrpp7Lb7abHAAAA7XDy5EndfPPNrV7fKWKkd+/ekr5+MMHBwYanAQAAbeFyuWS3272/x1vTKWLkm6dmgoODiREAADqZy51iwQmsAADAKGIEAAAYRYwAAACjOsU5IwCArs/tduvChQumx4APunfvLn9//yu+HWIEAGCUx+NRdXW1Pv/8c9OjoB1CQkIUHh5+Re8DRowAAIz6JkT69eunnj178uaWnYTH49H58+d16tQpSVJERES7b4sYAQAY43a7vSHSt29f0+PARz169JAknTp1Sv369Wv3UzacwAoAMOabc0R69uxpeBK01zc/uys534cYAQAYx1MznVdH/OyIEQAAYJTPMfLGG28oKSlJ/fv3l8Vi0Y4dOy67T3FxsUaMGCGr1arbbrtNGzdubMeoAADc2IqLi2WxWNr0yiNf1prm8wms9fX1io6O1tSpU/XTn/70susrKyv14IMPaubMmfrzn/+soqIiTZs2TREREUpMTGzX0ACArs/x9M5rdl8fLn3wmt3XlRgzZow+++wz2Wy2Dl1rms8xMmHCBE2YMKHN6/Pz8zVo0CAtW7ZMkjRs2DC9+eabWrFiBTECALhhNDY2KiAg4IpuIyAgQOHh4R2+1rSrfs5ISUmJEhISmm1LTExUSUlJq/s0NDTI5XI1uwAAcD0ZP368MjIylJGRIZvNptDQUGVnZ8vj8UiSHA6HFi1apJSUFAUHB2vGjBmSpDfffFN33323evToIbvdrscff1z19fXe221oaFBmZqbsdrv39IYNGzZIuvipl48++khJSUm66aab1KtXL333u9/Vrl27WlwrSdu3b9d3v/tdWa1WORwO74GCbzgcDi1ZskRTp05V7969NXDgQL388stX61voddXfZ6S6ulphYWHNtoWFhcnlcumLL77wvkb5/8vLy9PChQuv9mjoKAuu/0OAWlBnegIAXdCmTZv06KOPqrS0VAcOHNCMGTM0cOBATZ8+XZL04osvKicnR7m5uZKkiooK3X///Vq8eLEKCgp0+vRpb9D84Q9/kCSlpKSopKREq1evVnR0tCorK1VbW9vi/aenp6uxsVFvvPGGevXqpSNHjigoKKjFtWVlZZo0aZIWLFig5ORk7d+/X7NmzVLfvn31yCOPeNctW7ZMixYt0rx58/TKK6/oscce07hx43T77bd34HeuuevyTc+ysrLkdDq9X7tcLtntdoMTAQBwMbvdrhUrVshisej222/X4cOHtWLFCm+M3HPPPXriiSe866dNm6aHH35Yc+bMkSQNGTJEq1ev1rhx47Ru3TpVVVVp27Zt2r17t/dZhcGDB7d6/1VVVfrZz36mqKioy65dvny57r33XmVnZ0uShg4dqiNHjug3v/lNsxh54IEHNGvWLElSZmamVqxYoT179lzVGLnqT9OEh4erpqam2baamhoFBwe3eFREkqxWq4KDg5tdAAC43tx1113N3mcjPj5eH3zwgdxutyRp5MiRzdYfOnRIGzduVFBQkPeSmJiopqYmVVZWqry8XP7+/ho3blyb7v/xxx/X4sWLNXbsWOXm5urdd99tde3Ro0c1duzYZtvGjh3bbF5JGj58uPfPFotF4eHh3rd8v1queozEx8erqKio2bbdu3crPj7+at81AABG9erVq9nX586d0y9/+UuVl5d7L4cOHdIHH3ygW2+9tdX/SW/NtGnTdOLECU2ZMkWHDx/WyJEj9dvf/vaKZu7evXuzry0Wi5qamq7oNi/H5xg5d+6c9xsoyVtyVVVVkr5+iiUlJcW7fubMmTpx4oSeeuopHTt2TGvXrtW2bds0d+7cjnkEAAAY8u9//7vZ12+99ZaGDBnS6me0jBgxQkeOHNFtt9120SUgIEBRUVFqamrS3r172zyD3W7XzJkz9be//U1PPPGE1q9f3+K6YcOGad++fc227du3T0OH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"},"metadata":{}}]},{"cell_type":"code","source":"import seaborn as sns\nfrom sklearn.metrics import confusion_matrix\nimport matplotlib.pyplot as plt\n\n# Assuming y_pred_classes and y_true are already defined\n# Compute the confusion matrix\ncm = confusion_matrix(y_val, y_val_pred)\n\n# Plot the confusion matrix using seaborn\nplt.figure(figsize=(10, 8))\nsns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=np.unique(y_val), yticklabels=np.unique(y_val))\nplt.ylabel('Actual')\nplt.xlabel('Predicted')\nplt.title('Confusion Matrix')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-08-30T09:37:18.960249Z","iopub.execute_input":"2024-08-30T09:37:18.960781Z","iopub.status.idle":"2024-08-30T09:37:19.929028Z","shell.execute_reply.started":"2024-08-30T09:37:18.960732Z","shell.execute_reply":"2024-08-30T09:37:19.927699Z"},"trusted":true},"execution_count":20,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1000x800 with 2 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAx0AAAK9CAYAAABB8gHJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNSUlEQVR4nO3deVhV5d7/8c8GZYMoICog5Ww55JRaSuWUBBqZppZmJU6ZhpZiajY4VpRlDplaxxROaWmDVloaacoxcYgizdTjeKwUHBFFBYX9+8Of+1k7NMHWcgO9X8+1ryvude+17rW9jo9fPt97L5vD4XAIAAAAACzi4e4FAAAAACjZKDoAAAAAWIqiAwAAAIClKDoAAAAAWIqiAwAAAIClKDoAAAAAWIqiAwAAAIClKDoAAAAAWIqiAwAAAIClKDoA4DJ27dqliIgI+fv7y2azaenSpaaef//+/bLZbIqPjzf1vMVZ27Zt1bZtW3cvAwBgAYoOAEXWnj179MQTT6hmzZry9vaWn5+f7rzzTk2fPl1nz5619NrR0dHaunWrXn75Zb3//vtq3ry5pde7nvr06SObzSY/P7/Lfo67du2SzWaTzWbTG2+8UejzHzx4UOPHj1dqaqoJqwUAlASl3L0AALic5cuX68EHH5Tdblfv3r3VoEED5eTkaN26dRo5cqS2bdumd99915Jrnz17VsnJyXr++ec1ZMgQS65RrVo1nT17VqVLl7bk/FdTqlQpnTlzRl9++aUeeughl2MLFiyQt7e3zp07d03nPnjwoCZMmKDq1aurSZMmBX7fN998c03XAwAUfRQdAIqcffv2qWfPnqpWrZpWr16typUrO4/FxMRo9+7dWr58uWXXP3LkiCQpICDAsmvYbDZ5e3tbdv6rsdvtuvPOO/Xhhx/mKzoWLlyoqKgoffrpp9dlLWfOnFGZMmXk5eV1Xa4HALj+aK8CUORMnjxZp0+f1nvvvedScFxSu3ZtPf30086fL1y4oEmTJqlWrVqy2+2qXr26nnvuOWVnZ7u8r3r16rrvvvu0bt063X777fL29lbNmjX173//2zln/PjxqlatmiRp5MiRstlsql69uqSLbUmX/tto/PjxstlsLmOJiYm66667FBAQoLJly6pOnTp67rnnnMevtKdj9erVatWqlXx9fRUQEKDOnTtr+/btl73e7t271adPHwUEBMjf3199+/bVmTNnrvzB/kmvXr309ddfKyMjwzm2efNm7dq1S7169co3//jx43rmmWfUsGFDlS1bVn5+furYsaN+/vln55w1a9botttukyT17dvX2aZ16T7btm2rBg0aKCUlRa1bt1aZMmWcn8uf93RER0fL29s73/1HRkaqfPnyOnjwYIHvFQDgXhQdAIqcL7/8UjVr1tQdd9xRoPkDBgzQ2LFj1bRpU02dOlVt2rRRXFycevbsmW/u7t271b17d91zzz2aMmWKypcvrz59+mjbtm2SpK5du2rq1KmSpIcffljvv/++pk2bVqj1b9u2Tffdd5+ys7M1ceJETZkyRffff7++//77v3zft99+q8jISB0+fFjjx49XbGys1q9frzvvvFP79+/PN/+hhx7SqVOnFBcXp4ceekjx8fGaMGFCgdfZtWtX2Ww2ffbZZ86xhQsXqm7dumratGm++Xv37tXSpUt133336c0339TIkSO1detWtWnTxlkA1KtXTxMnTpQkDRw4UO+//77ef/99tW7d2nmeY8eOqWPHjmrSpImmTZumdu3aXXZ906dPV6VKlRQdHa3c3FxJ0jvvvKNvvvlGb731lkJDQwt8rwAAN3MAQBFy8uRJhyRH586dCzQ/NTXVIckxYMAAl/FnnnnGIcmxevVq51i1atUckhxJSUnOscOHDzvsdrtjxIgRzrF9+/Y5JDlef/11l3NGR0c7qlWrlm8N48aNcxj/Op06dapDkuPIkSNXXPela8yfP9851qRJE0dQUJDj2LFjzrGff/7Z4eHh4ejdu3e+6/Xr18/lnA888ICjQoUKV7ym8T58fX0dDofD0b17d0f79u0dDofDkZub6wgJCXFMmDDhsp/BuXPnHLm5ufnuw263OyZOnOgc27x5c757u6RNmzYOSY45c+Zc9libNm1cxlauXOmQ5HjppZcce/fudZQtW9bRpUuXq94jAKBoIekAUKRkZmZKksqVK1eg+V999ZUkKTY21mV8xIgRkpRv70f9+vXVqlUr58+VKlVSnTp1tHfv3mte859d2gvy+eefKy8vr0DvOXTokFJTU9WnTx8FBgY6xxs1aqR77rnHeZ9GgwYNcvm5VatWOnbsmPMzLIhevXppzZo1SktL0+rVq5WWlnbZ1irp4j4QD4+L/28jNzdXx44dc7aO/fjjjwW+pt1uV9++fQs0NyIiQk888YQmTpyorl27ytvbW++8806BrwUAKBooOgAUKX5+fpKkU6dOFWj+//73P3l4eKh27dou4yEhIQoICND//vc/l/GqVavmO0f58uV14sSJa1xxfj169NCdd96pAQMGKDg4WD179tTixYv/sgC5tM46derkO1avXj0dPXpUWVlZLuN/vpfy5ctLUqHu5d5771W5cuW0aNEiLViwQLfddlu+z/KSvLw8TZ06VTfddJPsdrsqVqyoSpUqacuWLTp58mSBr3nDDTcUatP4G2+8ocDAQKWmpmrGjBkKCgoq8HsBAEUDRQeAIsXPz0+hoaH65ZdfCvW+P2/kvhJPT8/Ljjscjmu+xqX9Bpf4+PgoKSlJ3377rR577DFt2bJFPXr00D333JNv7t/xd+7lErvdrq5duyohIUFLliy5YsohSa+88opiY2PVunVrffDBB1q5cqUSExN1yy23FDjRkS5+PoXx008/6fDhw5KkrVu3Fuq9AICigaIDQJFz3333ac+ePUpOTr7q3GrVqikvL0+7du1yGU9PT1dGRobzm6jMUL58eZdverrkz2mKJHl4eKh9+/Z688039euvv+rll1/W6tWr9d1331323JfWuXPnznzHduzYoYoVK8rX1/fv3cAV9OrVSz/99JNOnTp12c33l3zyySdq166d3nvvPfXs2VMREREKDw/P95kUtAAsiKysLPXt21f169fXwIEDNXnyZG3evNm08wMArg+KDgBFzqhRo+Tr66sBAwYoPT093/E9e/Zo+vTpki62B0nK9w1Tb775piQpKirKtHXVqlVLJ0+e1JYtW5xjhw4d0pIlS1zmHT9+PN97Lz0k789f43tJ5cqV1aRJEyUkJLj8I/6XX37RN99847xPK7Rr106TJk3SzJkzFRIScsV5np6e+VKUjz/+WH/88YfL2KXi6HIFWmGNHj1aBw4cUEJCgt58801Vr15d0dHRV/wcAQBFEw8HBFDk1KpVSwsXLlSPHj1Ur149lyeSr1+/Xh9//LH69OkjSWrcuLGio6P17rvvKiMjQ23atNGmTZuUkJCgLl26XPHrWK9Fz549NXr0aD3wwAN66qmndObMGc2ePVs333yzy0bqiRMnKikpSVFRUapWrZoOHz6sWbNm6cYbb9Rdd911xfO//vrr6tixo8LCwtS/f3+dPXtWb731lvz9/TV+/HjT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"},"metadata":{}}]}]}