Switch to side-by-side view

--- a
+++ b/scripts/grad-cam & weights/Class_weights.ipynb
@@ -0,0 +1,234 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "cfce6cf5",
+   "metadata": {},
+   "source": [
+    "# Libraries"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "cc2568ed",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import pickle\n",
+    "import cv2\n",
+    "from os import listdir\n",
+    "from sklearn.preprocessing import LabelBinarizer\n",
+    "from keras.models import Sequential\n",
+    "from keras.layers.normalization import BatchNormalization\n",
+    "from keras.layers.convolutional import Conv2D\n",
+    "from keras.layers.convolutional import MaxPooling2D\n",
+    "from keras.layers.core import Activation, Flatten, Dropout, Dense\n",
+    "from keras import backend as K\n",
+    "from keras.preprocessing.image import ImageDataGenerator\n",
+    "#from keras.optimizers import Adam\n",
+    "from keras.preprocessing import image\n",
+    "from keras.preprocessing.image import img_to_array\n",
+    "from sklearn.preprocessing import MultiLabelBinarizer\n",
+    "from sklearn.model_selection import train_test_split\n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "\n",
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "import tensorflow as tf\n",
+    "from keras.models import Sequential\n",
+    "from keras.layers import Convolution2D, MaxPooling2D, Flatten, Dense, Dropout, GlobalAveragePooling2D\n",
+    "\n",
+    "\n",
+    "\n",
+    "import tensorflow as tf\n",
+    "import keras\n",
+    "import os \n",
+    "import time\n",
+    "#import cv2\n",
+    "import numpy as np\n",
+    "#import matplotlib.pyplot as plt\n",
+    "from keras import optimizers\n",
+    "import keras\n",
+    "import tensorflow as tf\n",
+    "import keras.backend as K\n",
+    "from sklearn.metrics import confusion_matrix, classification_report\n",
+    "from keras.models import load_model\n",
+    "from keras.models import Sequential\n",
+    "from keras.regularizers import l2\n",
+    "from keras.applications.vgg16 import VGG16\n",
+    "from keras.preprocessing.image import ImageDataGenerator\n",
+    "from keras.callbacks import ModelCheckpoint, CSVLogger, EarlyStopping, ReduceLROnPlateau\n",
+    "from sklearn.metrics import accuracy_score\n",
+    "from sklearn.metrics import confusion_matrix, classification_report\n",
+    "from sklearn.metrics import roc_curve, auc, roc_auc_score\n",
+    "#import matplotlib.pyplot as plt\n",
+    "#from tqdm import tqdm\n",
+    "from keras.utils import np_utils\n",
+    "#from imgaug import augmenters as iaa    \n",
+    "import itertools\n",
+    "%matplotlib inline\n",
+    "#import matplotlib.pyplot as plt\n",
+    "import matplotlib.image as mpimg\n",
+    "from keras.preprocessing.image import ImageDataGenerator\n",
+    "from keras.models import Sequential\n",
+    "#from keras.optimizers import RMSprop\n",
+    "from keras.layers import Conv2D, MaxPooling2D\n",
+    "from keras.layers import Activation, Dropout, Flatten, Dense\n",
+    "from keras.callbacks import CSVLogger\n",
+    "#from livelossplot import PlotLossesKeras\n",
+    "import os\n",
+    "#from classification_models.keras import Classifiers\n",
+    "# GPU test\n",
+    "from tensorflow.python.client import device_lib\n",
+    "np.random.seed(42)\n",
+    "from keras.models import load_model\n",
+    "# Print version\n",
+    "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
+    "from keras.layers import Input, Activation, merge, Dense, Flatten, Dropout, BatchNormalization, GlobalAveragePooling2D\n",
+    "from keras.models import Model\n",
+    "from keras.layers import Input, Activation, merge, Dense, Flatten, Dropout, BatchNormalization, GlobalAveragePooling2D\n",
+    "from keras.layers.convolutional import Convolution2D, MaxPooling2D\n",
+    "from keras.applications.vgg16 import VGG16\n",
+    "from keras.regularizers import l2\n",
+    "import os, sys\n",
+    "import scipy.misc\n",
+    "from glob import glob\n",
+    "import numpy as np\n",
+    "import random \n",
+    "import shutil \n",
+    "import keras\n",
+    "import time\n",
+    "import matplotlib.pyplot as plt\n",
+    "from keras.layers import Dense, Input, Conv2D, Flatten, MaxPool2D, Activation,Dropout, GlobalAveragePooling2D\n",
+    "from keras.models import Model\n",
+    "from keras.callbacks import ModelCheckpoint\n",
+    "from keras import backend as K\n",
+    "from keras.models import Sequential\n",
+    "from keras.applications.densenet import DenseNet121\n",
+    "from keras.models import load_model\n",
+    "#from keras.optimizers import Adam\n",
+    "from keras import optimizers\n",
+    "import pickle\n",
+    "import sys\n",
+    "import cv2\n",
+    "\n",
+    "import tensorflow as tf\n",
+    "\n",
+    "\n",
+    "np.random.seed(1)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "38b0ff36",
+   "metadata": {},
+   "source": [
+    "# Load data"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "11435cf3",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "x_train = np.load(\"x_train_leuknet.npy\")\n",
+    "y_train = np.load(\"y_train_leuknet.npy\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8fd805ac",
+   "metadata": {},
+   "source": [
+    "# Calculate class weights"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "f49a029e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "num_classes = 2\n",
+    "\n",
+    "y_train = np_utils.to_categorical(y_train,num_classes)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "5be10a71",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "((3422, 210, 210, 3), (3422, 2))"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "x_train.shape, y_train.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "3830291b",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "class weights:  [51.84848485  0.50486869]\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "C:\\Users\\NSU\\anaconda3\\envs\\leukemia\\lib\\site-packages\\sklearn\\utils\\validation.py:70: FutureWarning: Pass classes=[0 1], y=[1 1 1 ... 1 1 1] as keyword args. From version 1.0 (renaming of 0.25) passing these as positional arguments will result in an error\n",
+      "  warnings.warn(f\"Pass {args_msg} as keyword args. From version \"\n"
+     ]
+    }
+   ],
+   "source": [
+    "from sklearn.utils import class_weight\n",
+    "class_weights = class_weight.compute_class_weight('balanced', np.unique(np.argmax(y_train, axis=1)),np.argmax(y_train, axis=1))\n",
+    "print(\"class weights: \",class_weights)"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "leukemia",
+   "language": "python",
+   "name": "leukemia"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}