Facial-Emotion-Classification.ipynb (80677B)
1 { 2 "cells": [ 3 { 4 "cell_type": "code", 5 "execution_count": 1, 6 "metadata": {}, 7 "outputs": [], 8 "source": [ 9 "import numpy as np\n", 10 "import matplotlib.pyplot as plt\n", 11 "from matplotlib import colors\n", 12 "from scipy import ndimage, signal\n", 13 "import pandas as pd" 14 ] 15 }, 16 { 17 "cell_type": "markdown", 18 "metadata": {}, 19 "source": [ 20 "Let us load the data first" 21 ] 22 }, 23 { 24 "cell_type": "code", 25 "execution_count": 2, 26 "metadata": {}, 27 "outputs": [ 28 { 29 "name": "stdout", 30 "output_type": "stream", 31 "text": [ 32 "(20000, 35, 35)\n", 33 "(20000, 35, 35)\n" 34 ] 35 } 36 ], 37 "source": [ 38 "labels = np.loadtxt('labels_Facial_train.csv', delimiter=',')\n", 39 "data_train = np.load('data_train_Facial.npy', allow_pickle=True)\n", 40 "data_test = np.load('data_test_Facial.npy', allow_pickle=True)\n", 41 "print(data_train.shape)\n", 42 "print(data_test.shape)" 43 ] 44 }, 45 { 46 "cell_type": "markdown", 47 "metadata": {}, 48 "source": [ 49 "This is an image data set in form of a numpy array.\n", 50 "\n", 51 "It contains images of 35x35 pixels. The images are of faces and the labels correspond to their emotional state:\n", 52 "\n", 53 "0: happy\n", 54 "\n", 55 "1: sad\n", 56 "\n", 57 "2: angry" 58 ] 59 }, 60 { 61 "cell_type": "markdown", 62 "metadata": {}, 63 "source": [ 64 "Lets have a look at the images:" 65 ] 66 }, 67 { 68 "cell_type": "code", 69 "execution_count": 3, 70 "metadata": {}, 71 "outputs": [ 72 { 73 "data": { 74 "image/png": "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\n", 75 "text/plain": [ 76 "<Figure size 1080x1080 with 16 Axes>" 77 ] 78 }, 79 "metadata": {}, 80 "output_type": "display_data" 81 } 82 ], 83 "source": [ 84 "cmap = colors.ListedColormap(['white', 'yellow', 'black'])\n", 85 "Emotions = ['Happy', 'Sad', 'Angry']\n", 86 "\n", 87 "plt.figure(figsize = (15,15))\n", 88 "for k in range(16):\n", 89 " plt.subplot(4,4,k+1)\n", 90 " plt.imshow(data_train[k,:,:], cmap= cmap)\n", 91 " plt.title(Emotions[int(labels[k])])" 92 ] 93 }, 94 { 95 "cell_type": "markdown", 96 "metadata": {}, 97 "source": [ 98 "Our biggest problem is to deal with the massive input dimension of 35*35. \n", 99 "\n", 100 "My solution is to use a very simple algorithm. Other solutions could involve reducing the dimension in a smart way and then applying tools from earlier in the lecture. " 101 ] 102 }, 103 { 104 "cell_type": "code", 105 "execution_count": 4, 106 "metadata": {}, 107 "outputs": [], 108 "source": [ 109 "from sklearn.neighbors import KNeighborsClassifier" 110 ] 111 }, 112 { 113 "cell_type": "code", 114 "execution_count": 5, 115 "metadata": {}, 116 "outputs": [ 117 { 118 "data": { 119 "text/plain": [ 120 "KNeighborsClassifier(n_neighbors=1)" 121 ] 122 }, 123 "execution_count": 5, 124 "metadata": {}, 125 "output_type": "execute_result" 126 } 127 ], 128 "source": [ 129 "# we split the training set into a train and a validation set:\n", 130 "data_train_split = data_train[0:int(3*data_train.shape[0]/4), :, :]\n", 131 "lab_train_split = labels[0:int(3*data_train.shape[0]/4)]\n", 132 "data_validation_split = data_train[int(3*data_train.shape[0]/4)::, :, :]\n", 133 "lab_validation_split = labels[int(3*data_train.shape[0]/4)::]\n", 134 "\n", 135 "#we train the nearest neighbor classifier on the training set:\n", 136 "neigh = KNeighborsClassifier(n_neighbors=1)\n", 137 "neigh.fit(np.reshape(data_train_split, [data_train_split.shape[0], data_train_split.shape[1]*data_train.shape[2]]), lab_train_split)" 138 ] 139 }, 140 { 141 "cell_type": "markdown", 142 "metadata": {}, 143 "source": [ 144 "Next we compute the accuracy of our algorithm on the validation set:" 145 ] 146 }, 147 { 148 "cell_type": "code", 149 "execution_count": 6, 150 "metadata": {}, 151 "outputs": [ 152 { 153 "name": "stdout", 154 "output_type": "stream", 155 "text": [ 156 "Accuracy: 0.6556\n" 157 ] 158 } 159 ], 160 "source": [ 161 "# make prediction:\n", 162 "\n", 163 "validation_pred_labels = neigh.predict(np.reshape(data_validation_split, [data_validation_split.shape[0], data_validation_split.shape[1]*data_validation_split.shape[2]]))\n", 164 "\n", 165 "# validation accuracy:\n", 166 "\n", 167 "accuracy = np.sum(lab_validation_split == validation_pred_labels)/lab_validation_split.shape[0]\n", 168 "print('Accuracy: ' + str(accuracy))" 169 ] 170 }, 171 { 172 "cell_type": "markdown", 173 "metadata": {}, 174 "source": [ 175 "Let us have a look at the misclassified data points to see if there is something conspicuous about them." 176 ] 177 }, 178 { 179 "cell_type": "code", 180 "execution_count": null, 181 "metadata": {}, 182 "outputs": [ 183 { 184 "data": { 185 "image/png": "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\n", 186 "text/plain": [ 187 "<Figure size 1080x1080 with 16 Axes>" 188 ] 189 }, 190 "metadata": {}, 191 "output_type": "display_data" 192 } 193 ], 194 "source": [ 195 "# Let's look at some of the misclassified examples:\n", 196 "mistakes = np.where(lab_validation_split != validation_pred_labels)[0]\n", 197 "\n", 198 "\n", 199 "cmap = colors.ListedColormap(['white', 'yellow', 'black'])\n", 200 "Emotions = ['Happy', 'Sad', 'Angry']\n", 201 "\n", 202 "plt.figure(figsize = (15,15))\n", 203 "for k in range(16):\n", 204 " plt.subplot(4,4,k+1)\n", 205 " plt.imshow(data_validation_split[mistakes[k],:,:], cmap= cmap)\n", 206 " plt.title(Emotions[int(validation_pred_labels[mistakes[k]])])" 207 ] 208 }, 209 { 210 "cell_type": "markdown", 211 "metadata": {}, 212 "source": [ 213 "I am very happy with the accuracy on the validation set (which is not a good thing because the accuracy is terrible). I also have no simple explanation why the faces above were misclassified and therefore no direct way of improving my algorithm. Hence I choose to proceed.\n", 214 "\n", 215 "I apply this algorithm to the test set now:" 216 ] 217 }, 218 { 219 "cell_type": "code", 220 "execution_count": null, 221 "metadata": {}, 222 "outputs": [], 223 "source": [ 224 "labels_test = neigh.predict(np.reshape(data_test, [data_test.shape[0], data_test.shape[1]*data_test.shape[2]]))" 225 ] 226 }, 227 { 228 "cell_type": "markdown", 229 "metadata": {}, 230 "source": [ 231 "Finally we store the prediction to enter the competition." 232 ] 233 }, 234 { 235 "cell_type": "code", 236 "execution_count": null, 237 "metadata": {}, 238 "outputs": [], 239 "source": [ 240 "np.savetxt('prediction_facial_recognition_PhilippPetersen.csv', labels_test, delimiter=',')" 241 ] 242 }, 243 { 244 "cell_type": "code", 245 "execution_count": null, 246 "metadata": {}, 247 "outputs": [], 248 "source": [] 249 }, 250 { 251 "cell_type": "code", 252 "execution_count": null, 253 "metadata": {}, 254 "outputs": [], 255 "source": [] 256 } 257 ], 258 "metadata": { 259 "kernelspec": { 260 "display_name": "Python 3", 261 "language": "python", 262 "name": "python3" 263 }, 264 "language_info": { 265 "codemirror_mode": { 266 "name": "ipython", 267 "version": 3 268 }, 269 "file_extension": ".py", 270 "mimetype": "text/x-python", 271 "name": "python", 272 "nbconvert_exporter": "python", 273 "pygments_lexer": "ipython3", 274 "version": "3.6.9" 275 } 276 }, 277 "nbformat": 4, 278 "nbformat_minor": 4 279 }