├── Cancer type identification.pptx ├── CancerModel.ipynb ├── ML HACKATHON.ipynb ├── ML_Hackathon_Idea.pdf ├── README.md ├── a1.ipynb ├── category_samples.png ├── classifier.h5 ├── nilim.jpg └── plot_confusion_matrix.ipynb /Cancer type identification.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SwagatSBhuyan/Skin-Cancer-Classification-Using-CNN-Deep-Learning-Algorithm/d0595b2f910fa98ba060d3701859f775e7853db4/Cancer type identification.pptx -------------------------------------------------------------------------------- /ML_Hackathon_Idea.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SwagatSBhuyan/Skin-Cancer-Classification-Using-CNN-Deep-Learning-Algorithm/d0595b2f910fa98ba060d3701859f775e7853db4/ML_Hackathon_Idea.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Skin-Cancer-Classification-Using-CNN-Deep-Learning-Algorithm 2 | 3 | 4 | # THEME 5 | As skin cancer is one of the most frequent cancers globally, accurate, non-invasive dermoscopy-based diagnosis becomes essential and promising. A task of Easy Company’s Deep Learning CNN model is to predict seven disease classes with skin lesion images, including melanoma (MEL), melanocytic nevus (NV), basal cell carcinoma (BCC), actinic keratosis / Bowens disease (intraepithelial carcinoma) (AKIEC), benign keratosis (solar lentigo / seborrheic keratosis / lichen planus-like keratosis) (BKL), dermatofibroma (DF) and vascular lesion (VASC) as defined by the International Dermatology Society. 6 | 7 | # DATASET 8 | Dermoscopic lesion images were acquired from HAM10000 Dataset. A disease label for each image was determined histopathologically or diagnostically. A training dataset for classification consisted of 10,015 images (327 AKIEC, 514 BCC, 1,099 BKL, 115 DF, 1,113 MEL, 6,705 NV, and 142 VASC samples) with the corresponding disease label (ground truth), and a validation set and a test set. 9 | The Dataset is too large for the Github Free LFS servers, hence, a link to the original KAGGLE dataset has been provided: 10 | https://kaggle.com/kmader/skin-cancer-mnist-ham10000 11 | 12 | # TYPES OF SKIN CANCER 13 | Melanocytic Nevi (NV) 14 | Melanoma (MEL) 15 | Benign Keratosis-like Lesion (BKL) 16 | Dermatofibroma (DF) 17 | Basal Cell Carcinoma (BCC) 18 | Actinic Keratoses (Akiec) 19 | Vascular Lesions (Vasc) 20 | 21 | # SOCIETAL GOOD 22 | Skin cancer is one of the most common cancers that has been increasing world wide. Due to diverse characteristics in benign lesions and specific lesions seen from diseases, distinguishing fatal skin cancer from other skin disorders (with the potential of cancer) is VERY IMPORTANT. 23 | Finding out the type of cancer can take months for doctors as it is a very tedious practice and also requires the use of expensive devices and contraptions. This would waste a good lot of time for the patient which could have been utilized by the doctors to treat the patient in time. It is also monetarily very demanding on the patient’s part, which could pose a problem if the patient is not financially settled. 24 | Our Deep learning CNN model has been trained with 10015 pre-determined skin cancer type images to accurately predict what type of cancer (or skin disease) the given patient is facing. 25 | 26 | # BUSINESS MODEL 27 | Integrating this Deep Learning model into an android app or some website or web utility, we can sell this to various medical institutions treating cancer at a large scale. 28 | A minimal level of clerical knowledge and experience will then be sufficient for anyone to easily run our integrated model on any server/ device available in various hospitals. This can shorten the time taken to determine the type of skin disease drastically, saving days of diagnosis and also putting less hamper financially. 29 | 30 | # CONCLUSION 31 | A cancer patient goes through a lot and we as a society must be there for them in such dire situations. If we can save them the time they need to decide and plan their future by drastically reducing the time taken to detect their type of cancer at an early stage, we are bringing them one step closer to a happier life. Happiness is key when going through such an emotional run. Detecting the type of cancer at an early stage makes sure we can treat them if not cure them. This is crucial to medical institutions all around the globe if they want to make sure they can successfully treat the cancer patient. 32 | 33 | -------------------------------------------------------------------------------- /a1.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "%matplotlib inline\n", 10 | "import matplotlib.pyplot as plt\n", 11 | "import numpy as np\n", 12 | "import pandas as pd\n", 13 | "import os\n", 14 | "import os\n", 15 | "from glob import glob\n", 16 | "import seaborn as sns\n", 17 | "from PIL import Image\n", 18 | "np.random.seed(123)\n" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 2, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [ 27 | "#1. Function to plot model's validation loss and validation accuracy\n", 28 | "def plot_model_history(model_history):\n", 29 | " fig, axs = plt.subplots(1,2,figsize=(15,5))\n", 30 | " # summarize history for accuracy\n", 31 | " axs[0].plot(range(1,len(model_history.history['acc'])+1),model_history.history['acc'])\n", 32 | " axs[0].plot(range(1,len(model_history.history['val_acc'])+1),model_history.history['val_acc'])\n", 33 | " axs[0].set_title('Model Accuracy')\n", 34 | " axs[0].set_ylabel('Accuracy')\n", 35 | " axs[0].set_xlabel('Epoch')\n", 36 | " axs[0].set_xticks(np.arange(1,len(model_history.history['acc'])+1),len(model_history.history['acc'])/10)\n", 37 | " axs[0].legend(['train', 'val'], loc='best')\n", 38 | " # summarize history for loss\n", 39 | " axs[1].plot(range(1,len(model_history.history['loss'])+1),model_history.history['loss'])\n", 40 | " axs[1].plot(range(1,len(model_history.history['val_loss'])+1),model_history.history['val_loss'])\n", 41 | " axs[1].set_title('Model Loss')\n", 42 | " axs[1].set_ylabel('Loss')\n", 43 | " axs[1].set_xlabel('Epoch')\n", 44 | " axs[1].set_xticks(np.arange(1,len(model_history.history['loss'])+1),len(model_history.history['loss'])/10)\n", 45 | " axs[1].legend(['train', 'val'], loc='best')\n", 46 | " plt.show()" 47 | ] 48 | }, 49 | { 50 | "cell_type": "code", 51 | "execution_count": 3, 52 | "metadata": {}, 53 | "outputs": [], 54 | "source": [ 55 | "lesion_type_dict = {\n", 56 | " 'nv': 'Melanocytic nevi',\n", 57 | " 'mel': 'Melanoma',\n", 58 | " 'bkl': 'Benign keratosis-like lesions ',\n", 59 | " 'bcc': 'Basal cell carcinoma',\n", 60 | " 'akiec': 'Actinic keratoses',\n", 61 | " 'vasc': 'Vascular lesions',\n", 62 | " 'df': 'Dermatofibroma'\n", 63 | "}\n" 64 | ] 65 | }, 66 | { 67 | "cell_type": "code", 68 | "execution_count": 4, 69 | "metadata": {}, 70 | "outputs": [], 71 | "source": [ 72 | "skin_df = pd.read_csv('HAM10000_metadata.csv')\n", 73 | "\n", 74 | "# Creating New Columns for better readability\n", 75 | "\n", 76 | "skin_df['cell_type'] = skin_df['dx'].map(lesion_type_dict.get) \n", 77 | "skin_df['cell_type_idx'] = pd.Categorical(skin_df['cell_type']).codes\n", 78 | "\n" 79 | ] 80 | }, 81 | { 82 | "cell_type": "code", 83 | "execution_count": 5, 84 | "metadata": {}, 85 | "outputs": [ 86 | { 87 | "data": { 88 | "text/html": [ 89 | "
\n", 90 | "\n", 103 | "\n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | "
lesion_idimage_iddxdx_typeagesexlocalizationcell_typecell_type_idx
0HAM_0000118ISIC_0027419bklhisto80.0malescalpBenign keratosis-like lesions2
1HAM_0000118ISIC_0025030bklhisto80.0malescalpBenign keratosis-like lesions2
2HAM_0002730ISIC_0026769bklhisto80.0malescalpBenign keratosis-like lesions2
3HAM_0002730ISIC_0025661bklhisto80.0malescalpBenign keratosis-like lesions2
4HAM_0001466ISIC_0031633bklhisto75.0maleearBenign keratosis-like lesions2
\n", 181 | "
" 182 | ], 183 | "text/plain": [ 184 | " lesion_id image_id dx dx_type age sex localization \\\n", 185 | "0 HAM_0000118 ISIC_0027419 bkl histo 80.0 male scalp \n", 186 | "1 HAM_0000118 ISIC_0025030 bkl histo 80.0 male scalp \n", 187 | "2 HAM_0002730 ISIC_0026769 bkl histo 80.0 male scalp \n", 188 | "3 HAM_0002730 ISIC_0025661 bkl histo 80.0 male scalp \n", 189 | "4 HAM_0001466 ISIC_0031633 bkl histo 75.0 male ear \n", 190 | "\n", 191 | " cell_type cell_type_idx \n", 192 | "0 Benign keratosis-like lesions 2 \n", 193 | "1 Benign keratosis-like lesions 2 \n", 194 | "2 Benign keratosis-like lesions 2 \n", 195 | "3 Benign keratosis-like lesions 2 \n", 196 | "4 Benign keratosis-like lesions 2 " 197 | ] 198 | }, 199 | "execution_count": 5, 200 | "metadata": {}, 201 | "output_type": "execute_result" 202 | } 203 | ], 204 | "source": [ 205 | "skin_df.head()" 206 | ] 207 | }, 208 | { 209 | "cell_type": "code", 210 | "execution_count": 6, 211 | "metadata": {}, 212 | "outputs": [ 213 | { 214 | "data": { 215 | "text/plain": [ 216 | "" 217 | ] 218 | }, 219 | "execution_count": 6, 220 | "metadata": {}, 221 | "output_type": "execute_result" 222 | }, 223 | { 224 | "data": { 225 | "image/png": "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\n", 226 | "text/plain": [ 227 | "
" 228 | ] 229 | }, 230 | "metadata": {}, 231 | "output_type": "display_data" 232 | } 233 | ], 234 | "source": [ 235 | "fig, ax1 = plt.subplots(1, 1, figsize= (20, 10))\n", 236 | "skin_df['cell_type'].value_counts().plot(kind='bar', ax=ax1)" 237 | ] 238 | }, 239 | { 240 | "cell_type": "code", 241 | "execution_count": 7, 242 | "metadata": {}, 243 | "outputs": [ 244 | { 245 | "data": { 246 | "text/plain": [ 247 | "" 248 | ] 249 | }, 250 | "execution_count": 7, 251 | "metadata": {}, 252 | "output_type": "execute_result" 253 | }, 254 | { 255 | "data": { 256 | "image/png": "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\n", 257 | "text/plain": [ 258 | "
" 259 | ] 260 | }, 261 | "metadata": {}, 262 | "output_type": "display_data" 263 | } 264 | ], 265 | "source": [ 266 | "fig, ax1 = plt.subplots(1, 1, figsize= (20, 10))\n", 267 | "skin_df['dx_type'].value_counts().plot(kind='bar')" 268 | ] 269 | }, 270 | { 271 | "cell_type": "code", 272 | "execution_count": 8, 273 | "metadata": {}, 274 | "outputs": [ 275 | { 276 | "data": { 277 | "text/plain": [ 278 | "" 279 | ] 280 | }, 281 | "execution_count": 8, 282 | "metadata": {}, 283 | "output_type": "execute_result" 284 | }, 285 | { 286 | "data": { 287 | "image/png": "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\n", 288 | "text/plain": [ 289 | "
" 290 | ] 291 | }, 292 | "metadata": {}, 293 | "output_type": "display_data" 294 | } 295 | ], 296 | "source": [ 297 | "fig, ax1 = plt.subplots(1, 1, figsize= (20, 10))\n", 298 | "skin_df['localization'].value_counts().plot(kind='bar')" 299 | ] 300 | }, 301 | { 302 | "cell_type": "code", 303 | "execution_count": 10, 304 | "metadata": {}, 305 | "outputs": [ 306 | { 307 | "data": { 308 | "text/plain": [ 309 | "" 310 | ] 311 | }, 312 | "execution_count": 10, 313 | "metadata": {}, 314 | "output_type": "execute_result" 315 | }, 316 | { 317 | "data": { 318 | "image/png": "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\n", 319 | "text/plain": [ 320 | "
" 321 | ] 322 | }, 323 | "metadata": {}, 324 | "output_type": "display_data" 325 | } 326 | ], 327 | "source": [ 328 | "skin_df['age'].hist(bins=40)\n", 329 | " " 330 | ] 331 | }, 332 | { 333 | "cell_type": "code", 334 | "execution_count": 15, 335 | "metadata": {}, 336 | "outputs": [ 337 | { 338 | "data": { 339 | "text/plain": [ 340 | "" 341 | ] 342 | }, 343 | "execution_count": 15, 344 | "metadata": {}, 345 | "output_type": "execute_result" 346 | }, 347 | { 348 | "data": { 349 | "image/png": "iVBORw0KGgoAAAANSUhEUgAABI4AAAJCCAYAAACmkYxsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X2MZXd93/HPt97wuI1tIFlR2+0SxUpC2aYJK4eEKprFUXhYFPNHaKBuYlNHViWSkOAoLGkr+hCUjRpCiJoiWTGJIyEW6lBhsc4DMqzS/IELhigGHMqGbM3ajg3FOFkgodv++scc15Phu/bu3L137ly/XtJq7jn33Dm/c+/8fEdvn3umxhgBAAAAgM3+znYPAAAAAIDlJBwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoLVruwfwWJ71rGeNvXv3bvcwzosvf/nLefrTn77dwwDOkbkLO5O5CzuPeQs7k7m7M915551fGGN809lsu9ThaO/evfnoRz+63cM4L44dO5a1tbXtHgZwjsxd2JnMXdh5zFvYmczdnamq/ufZbuujagAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGjt2u4BAABw9vYeOjr3fZw4fHDu+wAAdgZnHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0HjccVdU7qurBqvrEhnX/sar+tKr+pKr+a1VdtOG+N1bV8ar6dFW9eMP6l0zrjlfVofN/KAAAAACcT2dzxtFvJXnJpnUfSPK8McY/SvI/krwxSarquUleleQfTo/5z1V1QVVdkOTXk7w0yXOTvHraFgAAAIAl9bjhaIzxh0m+uGndH4wxTk+LH05y6XT7qiRHxhh/M8b48yTHk1wx/Ts+xvjsGONrSY5M2wIAAACwpM7HNY7+RZLfnW5fkuRzG+47Oa0703oAAAAAltSuWR5cVf8qyekk73xkVbPZSB+oxhm+5/VJrk+SPXv25NixY7MMcWmcOnVqZY4FnkjMXdiZVnnu3rDv9ONvNKNVfe5Ybqs8b2GVmburb8vhqKquSfLyJFeOMR6JQCeTXLZhs0uT3DfdPtP6v2WMcWOSG5Nk//79Y21tbatDXCrHjh3LqhwLPJGYu7AzrfLcvfbQ0bnv48TVa3PfB2y2yvMWVpm5u/q29FG1qnpJkjck+aExxlc23HVrkldV1ZOr6jlJLk/y35N8JMnlVfWcqnpS1i+gfetsQwcAAABgnh73jKOqeleStSTPqqqTSd6U9b+i9uQkH6iqJPnwGONfjjE+WVXvSfKprH+E7bVjjP8zfZ+fSPL7SS5I8o4xxifncDwAAAAAnCePG47GGK9uVt/0GNu/Ocmbm/W3JbntnEYHAAAAwLaZ6eLYAACwVXsXcb2mwwfnvg8AWGVbusYRAAAAAKtPOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABaux5vg6p6R5KXJ3lwjPG8ad0zkrw7yd4kJ5L80zHGQ1VVSd6W5GVJvpLk2jHGx6bHXJPkX0/f9hfGGDef30MBAIDF23vo6EL2c+LwwYXsBwA2Opszjn4ryUs2rTuU5PYxxuVJbp+Wk+SlSS6f/l2f5O3J/w9Nb0ryPUmuSPKmqrp41sEDAAAAMD+PG47GGH+Y5IubVl+V5JEzhm5O8ooN6397rPtwkouq6tlJXpzkA2OML44xHkrygXx9jAIAAABgidQY4/E3qtqb5P0bPqr2pTHGRRvuf2iMcXFVvT/J4THGH03rb0/yhiRrSZ4yxviFaf2/SfLVMcYvN/u6PutnK2XPnj3PP3LkyEwHuCxOnTqV3bt3b/cwgHNk7sLOtMpz9657H577PvZdcuHc95GszrEs4jiSxb0u22WV5y2sMnN3Zzpw4MCdY4z9Z7Pt417j6BxVs248xvqvXznGjUluTJL9+/ePtbW18za47XTs2LGsyrHAE4m5CzvTKs/daxdwPZ0TV6/NfR/J6hzLIo4jWdzrsl1Wed7CKjN3V99W/6raA9NH0DJ9fXBafzLJZRu2uzTJfY+xHgAAAIAltdVwdGuSa6bb1yR534b1P1brXpDk4THG/Ul+P8kPVtXF00Wxf3BaBwAAAMCSetyPqlXVu7J+jaJnVdXJrP91tMNJ3lNV1yW5J8krp81vS/KyJMeTfCXJa5JkjPHFqvoPST4ybffvxxibL7gNAAAAwBJ53HA0xnj1Ge66stl2JHntGb7PO5K845xGBwAAAMC2Od8XxwYAOCd753Bh4Rv2nf5bFyw+cfjged8HAMATwVavcQQAAADAihOOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAArZnCUVX9TFV9sqo+UVXvqqqnVNVzquqOqvpMVb27qp40bfvkafn4dP/e83EAAAAAAMzHlsNRVV2S5KeS7B9jPC/JBUleleSXkrx1jHF5koeSXDc95LokD40xvjXJW6ftAAAAAFhSs35UbVeSp1bVriRPS3J/khcluWW6/+Ykr5huXzUtZ7r/yqqqGfcPAAAAwJzs2uoDxxj3VtUvJ7knyVeT/EGSO5N8aYxxetrsZJJLptuXJPnc9NjTVfVwkmcm+cJWxwAAAOwsew8dbdffsO90rj3DfVtx4vDB8/a9AJ7IaoyxtQdWXZzkd5L8SJIvJfkv0/Kbpo+jpaouS3LbGGNfVX0yyYvHGCen+/4syRVjjP+16ften+T6JNmzZ8/zjxw5sqXxLZtTp05l9+7d2z0M4ByZuzB/d9378Hn/nnuemjzw1UeX911y4Xnfx3aZx/O12aKer1U5lkUcR7I6P8dner42z9tZrcrzBcvO78s704EDB+4cY+w/m223fMZRkh9I8udjjM8nSVW9N8n3JbmoqnZNZx1dmuS+afuTSS5LcnL6aNuFSb64+ZuOMW5McmOS7N+/f6ytrc0wxOVx7NixrMqxwBOJuQvzdz7PMHjEDftO5y13Pfprzomr1877PrbLPJ6vzRb1fK3KsSziOJLV+Tk+0/O1ed7OalWeL1h2fl9efbNc4+ieJC+oqqdN1yq6MsmnknwoyQ9P21yT5H3T7Vun5Uz3f3Bs9XQnAAAAAOZuy+FojHFH1i9y/bEkd03f68Ykb0jy+qo6nvVrGN00PeSmJM+c1r8+yaEZxg0AAADAnM10LugY401J3rRp9WeTXNFs+9dJXjnL/gAAAABYnFk+qgYAAADAChOOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFq7tnsAAAAAbK+9h47OfR8nDh+c+z6A888ZRwAAAAC0nHEEADuQ/zMMAMAiOOMIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWru2ewAAAAA70d5DR+e+jxOHD859HwCPxRlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACA1q7tHgAAAADsJHsPHZ37Pk4cPjj3fcDZcMYRAAAAAC3hCAAAAICWcAQAAABAa6ZwVFUXVdUtVfWnVXV3VX1vVT2jqj5QVZ+Zvl48bVtV9WtVdbyq/qSqvvv8HAIAAAAA8zDrGUdvS/J7Y4xvT/KdSe5OcijJ7WOMy5PcPi0nyUuTXD79uz7J22fcNwAAAABztOVwVFXfmOT7k9yUJGOMr40xvpTkqiQ3T5vdnOQV0+2rkvz2WPfhJBdV1bO3PHIAAAAA5mqWM46+Jcnnk/xmVX28qn6jqp6eZM8Y4/4kmb5+87T9JUk+t+HxJ6d1AAAAACyhGmNs7YFV+5N8OMkLxxh3VNXbkvxlkp8cY1y0YbuHxhgXV9XRJL84xvijaf3tSX5ujHHnpu97fdY/ypY9e/Y8/8iRI1sa37I5depUdu/evd3DAM6Rucuyuuveh+e+j32XXDj3fSTzOZY9T00e+Oqjy4s6lkXw2p+bRRzLIo4jWZ2f4zM9X5vn7axW5bU3H5eT5+tRfl/emQ4cOHDnGGP/2Wy7a4b9nExycoxxx7R8S9avZ/RAVT17jHH/9FG0Bzdsf9mGx1+a5L7N33SMcWOSG5Nk//79Y21tbYYhLo9jx45lVY4FnkjMXZbVtYeOzn0fJ65em/s+kvkcyw37Tuctdz36a86ijmURvPbnZhHHsojjSFbn5/hMz9fmeTurVXntzcfl5Pl6lN+XV9+WP6o2xviLJJ+rqm+bVl2Z5FNJbk1yzbTumiTvm27fmuTHpr+u9oIkDz/ykTYAAAAAls+sSf8nk7yzqp6U5LNJXpP1GPWeqrouyT1JXjlte1uSlyU5nuQr07YAAAAALKmZwtEY44+TdJ+Ju7LZdiR57Sz7AwAAAGBxZvmragAAAACsMOEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAArV3bPQAAWJS9h44uZD8nDh9cyH4AAGDenHEEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtGYOR1V1QVV9vKrePy0/p6ruqKrPVNW7q+pJ0/onT8vHp/v3zrpvAAAAAObnfJxx9Lokd29Y/qUkbx1jXJ7koSTXTeuvS/LQGONbk7x12g4AAACAJbVrlgdX1aVJDiZ5c5LXV1UleVGSfzZtcnOSf5vk7Umumm4nyS1J/lNV1RhjzDIGAAAAYGv2Hjo60+Nv2Hc61z7O9zhx+OBM+2B71SzdpqpuSfKLSf5ukp9Ncm2SD09nFaWqLkvyu2OM51XVJ5K8ZIxxcrrvz5J8zxjjC5u+5/VJrk+SPXv2PP/IkSNbHt8yOXXqVHbv3r3dwwDOkbm7Wu669+GF7GffJRfOfR+LOJZFHEcyn2PZ89Tkga8+uryoY1kEr/25WZX5mKzOz/GZnq/N83ZWq/Lam4/LaZWer1mP5Wzm7iq99qviwIEDd44x9p/Ntls+46iqXp7kwTHGnVW19sjqZtNxFvc9umKMG5PcmCT79+8fa2trmzfZkY4dO5ZVORZ4IjF3V8vj/d+w8+XE1Wtz38cijmURx5HM51hu2Hc6b7nr0V9zFnUsi+C1PzerMh+T1fk5PtPztXnezmpVXnvzcTmt0vM167Gczdxdpdf+iWiW/zK/MMkPVdXLkjwlyTcm+dUkF1XVrjHG6SSXJrlv2v5kksuSnKyqXUkuTPLFGfYPAAAAwBxt+eLYY4w3jjEuHWPsTfKqJB8cY1yd5ENJfnja7Jok75tu3zotZ7r/g65vBAAAALC8zsdfVdvsDVm/UPbxJM9MctO0/qYkz5zWvz7JoTnsGwAAAIDz5Lx8iHiMcSzJsen2Z5Nc0Wzz10leeT72BwAAAMD8zeOMIwAAAABWgHAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0dm33AAAAAABmsffQ0YXs58ThgwvZzzJxxhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFq7tnsAAGzd3kNHF7KfE4cPLmQ/AADAcnHGEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0thyOquqyqvpQVd1dVZ+sqtdN659RVR+oqs9MXy+e1ldV/VpVHa+qP6mq7z5fBwEAAADA+TfLGUenk9wwxviOJC9I8tqqem6SQ0luH2NcnuT2aTlJXprk8unf9UnePsO+AQAAAJizLYejMcb9Y4yPTbf/KsndSS5JclWSm6fNbk7yiun2VUl+e6z7cJKLqurZWx45AAAAAHNVY4zZv0nV3iR/mOR5Se4ZY1y04b6HxhgXV9X7kxweY/zRtP72JG8YY3x00/e6PutnJGXPnj3PP3LkyMzjWwanTp3K7t27t3sYwDla9rl7170PL2Q/+y65cCH7mbdVer4WcSyLet3ncSx7npo88NVHl1flZzjx2p+rVZmPyer8HJ/p+do8b2e1Kq+9+bicVun5mvVYzmbursp8TFbn5/jAgQN3jjH2n822u2bdWVXtTvI7SX56jPGXVXXGTZt1X1etxhg3JrkxSfbv3z/W1tZmHeJSOHbsWFblWOCJZNnn7rWHji5kPyeuXlvIfuZtlZ6vRRzLol73eRzLDftO5y13Pfprzqr8DCde+3O1KvMxWZ2f4zM9X5vn7axW5bU3H5fTKj1fsx7L2czdVZmPyWr9HJ+tmf6qWlV9Q9aj0TvHGO+dVj/wyEfQpq8PTutPJrlsw8MvTXLfLPsHAAAAYH5m+atqleSmJHePMX5lw123Jrlmun1NkvdtWP9j019Xe0GSh8cY9291/wAAAADM1yzngr4wyY8muauq/nha9/NJDid5T1Vdl+SeJK+c7rstycuSHE/ylSSvmWHfAAAAAMzZlsPRdJHrM13Q6Mpm+5HktVvdHwAAAACLNdM1jgAAAABYXcIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANDatd0DAFi0vYeOnvW2N+w7nWvPYfuNThw+uKXHAQAALAtnHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACAlnAEAAAAQEs4AgAAAKAlHAEAAADQEo4AAAAAaAlHAAAAALSEIwAAAABawhEAAAAALeEIAAAAgJZwBAAAAEBLOAIAAACgJRwBAAAA0Nq13QNg59l76Ojc93Hi8MG57wMAAAB4bM44AgAAAKAlHAEAAADQ8lE14Kz5mCIAAMATizOOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANASjgAAAABoCUcAAAAAtIQjAAAAAFrCEQAAAAAt4QgAAACA1q7tHgBsp72Hjs59HycOH5z7PgAAAGAehKMFueveh3OtSAEAAADsID6qBgAAAEBLOAIAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABASzgCAAAAoCUcAQAAANBaeDiqqpdU1aer6nhVHVr0/gEAAAA4OwsNR1V1QZJfT/LSJM9N8uqqeu4ixwAAAADA2Vn0GUdXJDk+xvjsGONrSY4kuWrBYwAAAADgLCw6HF2S5HMblk9O6wAAAABYMjXGWNzOql6Z5MVjjB+fln80yRVjjJ/csM31Sa6fFr8tyacXNsD5elaSL2z3IIBzZu7CzmTuws5j3sLOZO7uTP9gjPFNZ7PhrnmPZJOTSS7bsHxpkvs2bjDGuDHJjYsc1CJU1UfHGPu3exzAuTF3YWcyd2HnMW9hZzJ3V9+iP6r2kSSXV9VzqupJSV6V5NYFjwEAAACAs7DQM47GGKer6ieS/H6SC5K8Y4zxyUWOAQAAAICzs+iPqmWMcVuS2xa93yWwch+/gycIcxd2JnMXdh7zFnYmc3fFLfTi2AAAAADsHIu+xhEAAAAAO4RwtABV9ZKq+nRVHa+qQ9s9HuDrVdVlVfWhqrq7qj5ZVa+b1j+jqj5QVZ+Zvl683WMFvl5VXVBVH6+q90/Lz6mqO6a5++7pj3IAS6SqLqqqW6rqT6f33+/1vgvLrap+Zvpd+RNV9a6qeor33NUnHM1ZVV2Q5NeTvDTJc5O8uqqeu72jAhqnk9wwxviOJC9I8tpprh5KcvsY4/Ikt0/LwPJ5XZK7Nyz/UpK3TnP3oSTXbcuogMfytiS/N8b49iTfmfU57H0XllRVXZLkp5LsH2M8L+t/8OpV8Z678oSj+bsiyfExxmfHGF9LciTJVds8JmCTMcb9Y4yPTbf/Kuu/vF6S9fl687TZzUlesT0jBM6kqi5NcjDJb0zLleRFSW6ZNjF3YclU1Tcm+f4kNyXJGONrY4wvxfsuLLtdSZ5aVbuSPC3J/fGeu/KEo/m7JMnnNizhEJq4AAACTklEQVSfnNYBS6qq9ib5riR3JNkzxrg/WY9LSb55+0YGnMGvJvm5JP93Wn5mki+NMU5Py957Yfl8S5LPJ/nN6WOmv1FVT4/3XVhaY4x7k/xyknuyHoweTnJnvOeuPOFo/qpZ50/ZwZKqqt1JfifJT48x/nK7xwM8tqp6eZIHxxh3blzdbOq9F5bLriTfneTtY4zvSvLl+FgaLLXpmmNXJXlOkr+X5OlZvyTLZt5zV4xwNH8nk1y2YfnSJPdt01iAx1BV35D1aPTOMcZ7p9UPVNWzp/ufneTB7Rof0Hphkh+qqhNZ/zj4i7J+BtJF02n0ifdeWEYnk5wcY9wxLd+S9ZDkfReW1w8k+fMxxufHGP87yXuTfF+856484Wj+PpLk8ulK80/K+sXDbt3mMQGbTNdEuSnJ3WOMX9lw161JrpluX5PkfYseG3BmY4w3jjEuHWPszfp77AfHGFcn+VCSH542M3dhyYwx/iLJ56rq26ZVVyb5VLzvwjK7J8kLqupp0+/Oj8xb77krrsZwFtm8VdXLsv5/Py9I8o4xxpu3eUjAJlX1T5L8tyR35dHrpPx81q9z9J4kfz/rb5avHGN8cVsGCTymqlpL8rNjjJdX1bdk/QykZyT5eJJ/Psb4m+0cH/C3VdU/zvpF7Z+U5LNJXpP1/7HtfReWVFX9uyQ/kvW/SPzxJD+e9Wsaec9dYcIRAAAAAC0fVQMAAACgJRwBAAAA0BKOAAAAAGgJRwAAAAC0hCMAAAAAWsIRAAAAAC3hCAAAAICWcAQAAABA6/8BuQO6x4GHEmkAAAAASUVORK5CYII=\n", 350 | "text/plain": [ 351 | "
" 352 | ] 353 | }, 354 | "metadata": {}, 355 | "output_type": "display_data" 356 | } 357 | ], 358 | "source": [ 359 | "fig, ax1 = plt.subplots(1, 1, figsize= (20, 10))\n", 360 | "skin_df['age'].hist(bins=40)" 361 | ] 362 | }, 363 | { 364 | "cell_type": "code", 365 | "execution_count": 11, 366 | "metadata": { 367 | "scrolled": true 368 | }, 369 | "outputs": [ 370 | { 371 | "name": "stderr", 372 | "output_type": "stream", 373 | "text": [ 374 | "C:\\Users\\NILIM\\Anaconda3\\lib\\site-packages\\seaborn\\categorical.py:3666: UserWarning: The `factorplot` function has been renamed to `catplot`. The original name will be removed in a future release. Please update your code. Note that the default `kind` in `factorplot` (`'point'`) has changed `'strip'` in `catplot`.\n", 375 | " warnings.warn(msg)\n" 376 | ] 377 | }, 378 | { 379 | "data": { 380 | "text/plain": [ 381 | "" 382 | ] 383 | }, 384 | "execution_count": 11, 385 | "metadata": {}, 386 | "output_type": "execute_result" 387 | }, 388 | { 389 | "data": { 390 | "image/png": "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\n", 391 | "text/plain": [ 392 | "
" 393 | ] 394 | }, 395 | "metadata": {}, 396 | "output_type": "display_data" 397 | } 398 | ], 399 | "source": [ 400 | "sns.factorplot('age','cell_type_idx',data=skin_df)" 401 | ] 402 | }, 403 | { 404 | "cell_type": "code", 405 | "execution_count": 12, 406 | "metadata": {}, 407 | "outputs": [ 408 | { 409 | "data": { 410 | "text/plain": [ 411 | "" 412 | ] 413 | }, 414 | "execution_count": 12, 415 | "metadata": {}, 416 | "output_type": "execute_result" 417 | }, 418 | { 419 | "data": { 420 | "image/png": "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\n", 421 | "text/plain": [ 422 | "
" 423 | ] 424 | }, 425 | "metadata": {}, 426 | "output_type": "display_data" 427 | } 428 | ], 429 | "source": [ 430 | "sns.scatterplot('age','cell_type_idx',data=skin_df)" 431 | ] 432 | }, 433 | { 434 | "cell_type": "code", 435 | "execution_count": 13, 436 | "metadata": {}, 437 | "outputs": [ 438 | { 439 | "name": "stderr", 440 | "output_type": "stream", 441 | "text": [ 442 | "C:\\Users\\NILIM\\Anaconda3\\lib\\site-packages\\seaborn\\categorical.py:3666: UserWarning: The `factorplot` function has been renamed to `catplot`. The original name will be removed in a future release. Please update your code. Note that the default `kind` in `factorplot` (`'point'`) has changed `'strip'` in `catplot`.\n", 443 | " warnings.warn(msg)\n" 444 | ] 445 | }, 446 | { 447 | "data": { 448 | "text/plain": [ 449 | "" 450 | ] 451 | }, 452 | "execution_count": 13, 453 | "metadata": {}, 454 | "output_type": "execute_result" 455 | }, 456 | { 457 | "data": { 458 | "image/png": "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\n", 459 | "text/plain": [ 460 | "
" 461 | ] 462 | }, 463 | "metadata": {}, 464 | "output_type": "display_data" 465 | } 466 | ], 467 | "source": [ 468 | "sns.factorplot('sex','cell_type_idx',data=skin_df)" 469 | ] 470 | }, 471 | { 472 | "cell_type": "code", 473 | "execution_count": 14, 474 | "metadata": {}, 475 | "outputs": [ 476 | { 477 | "data": { 478 | "text/plain": [ 479 | "" 480 | ] 481 | }, 482 | "execution_count": 14, 483 | "metadata": {}, 484 | "output_type": "execute_result" 485 | }, 486 | { 487 | "data": { 488 | "image/png": "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\n", 489 | "text/plain": [ 490 | "
" 491 | ] 492 | }, 493 | "metadata": {}, 494 | "output_type": "display_data" 495 | } 496 | ], 497 | "source": [ 498 | "fig, ax1 = plt.subplots(1, 1, figsize= (20, 10))\n", 499 | "skin_df['cell_type_idx'].hist(bins=40)" 500 | ] 501 | }, 502 | { 503 | "cell_type": "code", 504 | "execution_count": null, 505 | "metadata": {}, 506 | "outputs": [], 507 | "source": [] 508 | }, 509 | { 510 | "cell_type": "code", 511 | "execution_count": null, 512 | "metadata": {}, 513 | "outputs": [], 514 | "source": [] 515 | }, 516 | { 517 | "cell_type": "code", 518 | "execution_count": null, 519 | "metadata": {}, 520 | "outputs": [], 521 | "source": [] 522 | } 523 | ], 524 | "metadata": { 525 | "kernelspec": { 526 | "display_name": "Python 3", 527 | "language": "python", 528 | "name": "python3" 529 | }, 530 | "language_info": { 531 | "codemirror_mode": { 532 | "name": "ipython", 533 | "version": 3 534 | }, 535 | "file_extension": ".py", 536 | "mimetype": "text/x-python", 537 | "name": "python", 538 | "nbconvert_exporter": "python", 539 | "pygments_lexer": "ipython3", 540 | "version": "3.6.5" 541 | } 542 | }, 543 | "nbformat": 4, 544 | "nbformat_minor": 2 545 | } 546 | -------------------------------------------------------------------------------- /category_samples.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SwagatSBhuyan/Skin-Cancer-Classification-Using-CNN-Deep-Learning-Algorithm/d0595b2f910fa98ba060d3701859f775e7853db4/category_samples.png -------------------------------------------------------------------------------- /classifier.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SwagatSBhuyan/Skin-Cancer-Classification-Using-CNN-Deep-Learning-Algorithm/d0595b2f910fa98ba060d3701859f775e7853db4/classifier.h5 -------------------------------------------------------------------------------- /nilim.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SwagatSBhuyan/Skin-Cancer-Classification-Using-CNN-Deep-Learning-Algorithm/d0595b2f910fa98ba060d3701859f775e7853db4/nilim.jpg -------------------------------------------------------------------------------- /plot_confusion_matrix.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "%matplotlib inline" 10 | ] 11 | }, 12 | { 13 | "cell_type": "markdown", 14 | "metadata": {}, 15 | "source": [ 16 | "\n", 17 | "# Confusion matrix\n", 18 | "\n", 19 | "\n", 20 | "Example of confusion matrix usage to evaluate the quality\n", 21 | "of the output of a classifier on the iris data set. The\n", 22 | "diagonal elements represent the number of points for which\n", 23 | "the predicted label is equal to the true label, while\n", 24 | "off-diagonal elements are those that are mislabeled by the\n", 25 | "classifier. The higher the diagonal values of the confusion\n", 26 | "matrix the better, indicating many correct predictions.\n", 27 | "\n", 28 | "The figures show the confusion matrix with and without\n", 29 | "normalization by class support size (number of elements\n", 30 | "in each class). This kind of normalization can be\n", 31 | "interesting in case of class imbalance to have a more\n", 32 | "visual interpretation of which class is being misclassified.\n", 33 | "\n", 34 | "Here the results are not as good as they could be as our\n", 35 | "choice for the regularization parameter C was not the best.\n", 36 | "In real life applications this parameter is usually chosen\n", 37 | "using `grid_search`.\n", 38 | "\n", 39 | "\n" 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": 1, 45 | "metadata": {}, 46 | "outputs": [ 47 | { 48 | "name": "stdout", 49 | "output_type": "stream", 50 | "text": [ 51 | "Automatically created module for IPython interactive environment\n", 52 | "Confusion matrix, without normalization\n", 53 | "[[13 0 0]\n", 54 | " [ 0 10 6]\n", 55 | " [ 0 0 9]]\n", 56 | "Normalized confusion matrix\n", 57 | "[[1. 0. 0. ]\n", 58 | " [0. 0.62 0.38]\n", 59 | " [0. 0. 1. ]]\n" 60 | ] 61 | }, 62 | { 63 | "data": { 64 | "text/plain": [ 65 | "
" 66 | ] 67 | }, 68 | "metadata": {}, 69 | "output_type": "display_data" 70 | }, 71 | { 72 | "data": { 73 | "text/plain": [ 74 | "
" 75 | ] 76 | }, 77 | "metadata": {}, 78 | "output_type": "display_data" 79 | } 80 | ], 81 | "source": [ 82 | "print(__doc__)\n", 83 | "\n", 84 | "import numpy as np\n", 85 | "import matplotlib.pyplot as plt\n", 86 | "\n", 87 | "from sklearn import svm, datasets\n", 88 | "from sklearn.model_selection import train_test_split\n", 89 | "from sklearn.metrics import confusion_matrix\n", 90 | "from sklearn.utils.multiclass import unique_labels\n", 91 | "\n", 92 | "# import some data to play with\n", 93 | "iris = datasets.load_iris()\n", 94 | "X = iris.data\n", 95 | "y = iris.target\n", 96 | "class_names = iris.target_names\n", 97 | "\n", 98 | "# Split the data into a training set and a test set\n", 99 | "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)\n", 100 | "\n", 101 | "# Run classifier, using a model that is too regularized (C too low) to see\n", 102 | "# the impact on the results\n", 103 | "classifier = svm.SVC(kernel='linear', C=0.01)\n", 104 | "y_pred = classifier.fit(X_train, y_train).predict(X_test)\n", 105 | "\n", 106 | "\n", 107 | "def plot_confusion_matrix(y_true, y_pred, classes,\n", 108 | " normalize=False,\n", 109 | " title=None,\n", 110 | " cmap=plt.cm.Blues):\n", 111 | " \"\"\"\n", 112 | " This function prints and plots the confusion matrix.\n", 113 | " Normalization can be applied by setting `normalize=True`.\n", 114 | " \"\"\"\n", 115 | " if not title:\n", 116 | " if normalize:\n", 117 | " title = 'Normalized confusion matrix'\n", 118 | " else:\n", 119 | " title = 'Confusion matrix, without normalization'\n", 120 | "\n", 121 | " # Compute confusion matrix\n", 122 | " cm = confusion_matrix(y_true, y_pred)\n", 123 | " # Only use the labels that appear in the data\n", 124 | " classes = classes[unique_labels(y_true, y_pred)]\n", 125 | " if normalize:\n", 126 | " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", 127 | " print(\"Normalized confusion matrix\")\n", 128 | " else:\n", 129 | " print('Confusion matrix, without normalization')\n", 130 | "\n", 131 | " print(cm)\n", 132 | "\n", 133 | " fig, ax = plt.subplots()\n", 134 | " im = ax.imshow(cm, interpolation='nearest', cmap=cmap)\n", 135 | " ax.figure.colorbar(im, ax=ax)\n", 136 | " # We want to show all ticks...\n", 137 | " ax.set(xticks=np.arange(cm.shape[1]),\n", 138 | " yticks=np.arange(cm.shape[0]),\n", 139 | " # ... and label them with the respective list entries\n", 140 | " xticklabels=classes, yticklabels=classes,\n", 141 | " title=title,\n", 142 | " ylabel='True label',\n", 143 | " xlabel='Predicted label')\n", 144 | "\n", 145 | " # Rotate the tick labels and set their alignment.\n", 146 | " plt.setp(ax.get_xticklabels(), rotation=45, ha=\"right\",\n", 147 | " rotation_mode=\"anchor\")\n", 148 | "\n", 149 | " # Loop over data dimensions and create text annotations.\n", 150 | " fmt = '.2f' if normalize else 'd'\n", 151 | " thresh = cm.max() / 2.\n", 152 | " for i in range(cm.shape[0]):\n", 153 | " for j in range(cm.shape[1]):\n", 154 | " ax.text(j, i, format(cm[i, j], fmt),\n", 155 | " ha=\"center\", va=\"center\",\n", 156 | " color=\"white\" if cm[i, j] > thresh else \"black\")\n", 157 | " fig.tight_layout()\n", 158 | " return ax\n", 159 | "\n", 160 | "\n", 161 | "np.set_printoptions(precision=2)\n", 162 | "\n", 163 | "# Plot non-normalized confusion matrix\n", 164 | "plot_confusion_matrix(y_test, y_pred, classes=class_names,\n", 165 | " title='Confusion matrix, without normalization')\n", 166 | "\n", 167 | "# Plot normalized confusion matrix\n", 168 | "plot_confusion_matrix(y_test, y_pred, classes=class_names, normalize=True,\n", 169 | " title='Normalized confusion matrix')\n", 170 | "\n", 171 | "plt.show()" 172 | ] 173 | }, 174 | { 175 | "cell_type": "code", 176 | "execution_count": 2, 177 | "metadata": {}, 178 | "outputs": [ 179 | { 180 | "ename": "NameError", 181 | "evalue": "name 'model' is not defined", 182 | "output_type": "error", 183 | "traceback": [ 184 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 185 | "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", 186 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 29\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 30\u001b[0m \u001b[1;31m# Predict the values from the validation dataset\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 31\u001b[1;33m \u001b[0mY_pred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx_validate\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 32\u001b[0m \u001b[1;31m# Convert predictions classes to one hot vectors\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 33\u001b[0m \u001b[0mY_pred_classes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0margmax\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mY_pred\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0maxis\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 187 | "\u001b[1;31mNameError\u001b[0m: name 'model' is not defined" 188 | ] 189 | } 190 | ], 191 | "source": [ 192 | "# Function to plot confusion matrix \n", 193 | "def plot_confusion_matrix(cm, classes,\n", 194 | " normalize=False,\n", 195 | " title='Confusion matrix',\n", 196 | " cmap=plt.cm.Blues):\n", 197 | " \"\"\"\n", 198 | " This function prints and plots the confusion matrix.\n", 199 | " Normalization can be applied by setting `normalize=True`.\n", 200 | " \"\"\"\n", 201 | " plt.imshow(cm, interpolation='nearest', cmap=cmap)\n", 202 | " plt.title(title)\n", 203 | " plt.colorbar()\n", 204 | " tick_marks = np.arange(len(classes))\n", 205 | " plt.xticks(tick_marks, classes, rotation=45)\n", 206 | " plt.yticks(tick_marks, classes)\n", 207 | "\n", 208 | " if normalize:\n", 209 | " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", 210 | "\n", 211 | " thresh = cm.max() / 2.\n", 212 | " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", 213 | " plt.text(j, i, cm[i, j],\n", 214 | " horizontalalignment=\"center\",\n", 215 | " color=\"white\" if cm[i, j] > thresh else \"black\")\n", 216 | "\n", 217 | " plt.tight_layout()\n", 218 | " plt.ylabel('True label')\n", 219 | " plt.xlabel('Predicted label')\n", 220 | "\n", 221 | "# Predict the values from the validation dataset\n", 222 | "Y_pred = model.predict(x_validate)\n", 223 | "# Convert predictions classes to one hot vectors \n", 224 | "Y_pred_classes = np.argmax(Y_pred,axis = 1) \n", 225 | "# Convert validation observations to one hot vectors\n", 226 | "Y_true = np.argmax(y_validate,axis = 1) \n", 227 | "# compute the confusion matrix\n", 228 | "confusion_mtx = confusion_matrix(Y_true, Y_pred_classes)\n", 229 | "\n", 230 | " \n", 231 | "\n", 232 | "# plot the confusion matrix\n", 233 | "plot_confusion_matrix(confusion_mtx, classes = range(7)) " 234 | ] 235 | }, 236 | { 237 | "cell_type": "code", 238 | "execution_count": null, 239 | "metadata": {}, 240 | "outputs": [], 241 | "source": [ 242 | "label_frac_error = 1 - np.diag(confusion_mtx) / np.sum(confusion_mtx, axis=1)\n", 243 | "plt.bar(np.arange(7),label_frac_error)\n", 244 | "plt.xlabel('True Label')\n", 245 | "plt.ylabel('Fraction classified incorrectly')" 246 | ] 247 | } 248 | ], 249 | "metadata": { 250 | "kernelspec": { 251 | "display_name": "Python 3", 252 | "language": "python", 253 | "name": "python3" 254 | }, 255 | "language_info": { 256 | "codemirror_mode": { 257 | "name": "ipython", 258 | "version": 3 259 | }, 260 | "file_extension": ".py", 261 | "mimetype": "text/x-python", 262 | "name": "python", 263 | "nbconvert_exporter": "python", 264 | "pygments_lexer": "ipython3", 265 | "version": "3.6.5" 266 | } 267 | }, 268 | "nbformat": 4, 269 | "nbformat_minor": 1 270 | } 271 | --------------------------------------------------------------------------------