{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import os\nos.getcwd()\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"data_dir = '../input/'\n\ndef load_data(data_dir, train_row):\n    data_train = pd.read_csv(data_dir + 'train.csv')    \n    image_train = data_train.values[0:train_row, 1:]\n    label_train = data_train.values[0:train_row, 0]\n    image_test = pd.read_csv(data_dir + 'test.csv').values\n    \n    return image_train, label_train, image_test\n\ntrain_row = 5000\norigin_image_train, origin_label_train, origin_image_test = load_data(data_dir, train_row)\n\nprint(origin_image_train.shape)\n    \n    ","execution_count":15,"outputs":[{"output_type":"stream","text":"(5000, 784)\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(origin_image_train.shape, origin_label_train.shape, origin_image_test.shape)","execution_count":16,"outputs":[{"output_type":"stream","text":"(5000, 784) (5000,) (28000, 784)\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"row = 678\nprint(origin_label_train[row])\nplt.imshow(origin_image_train[row].reshape((28, 28)))\nplt.show()","execution_count":17,"outputs":[{"output_type":"stream","text":"7\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"classes = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']\nrows = 5\nprint(classes)\n\nfor y, cur_class in enumerate(classes):\n    # get the index of the labels which are equal to y in label_train\n    idxs = np.nonzero([i == y for i in origin_label_train])\n    idxs = np.random.choice(idxs[0], rows)\n    \n    for x, idx in enumerate(idxs):\n        plt_idx = x * len(classes) + y + 1\n        plt.subplot(rows, len(classes), plt_idx)\n        plt.imshow(origin_image_train[idx].reshape((28, 28)))\n        plt.axis('off')\n        if x == 0:\n            plt.title(y)\n\nplt.show()","execution_count":18,"outputs":[{"output_type":"stream","text":"['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 50 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.model_selection import train_test_split\n\nimage_train, image_vali, label_train, label_vali = train_test_split(origin_image_train,\n                                                                    origin_label_train,\n                                                                    test_size=0.2,\n                                                                    random_state=0\n                                                                    )\nprint(image_train.shape, image_vali.shape, label_train.shape, label_vali.shape)\nprint(type(image_train))","execution_count":19,"outputs":[{"output_type":"stream","text":"(4000, 784) (1000, 784) (4000,) (1000,)\n<class 'numpy.ndarray'>\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"import time\nfrom sklearn.metrics import accuracy_score, classification_report, confusion_matrix\nfrom sklearn.neighbors import KNeighborsClassifier\n\nans_k = 0\nk_range = range(1, 5)\nscores = []\n\nfor k in k_range:\n    print('k = ' + str(k) + ' begins')\n    start = time.time()\n    \n    knn = KNeighborsClassifier(n_neighbors=k, n_jobs=6)\n    knn.fit(image_train, label_train)\n    label_pred = knn.predict(image_vali)\n    \n    accuracy = accuracy_score(label_vali, label_pred)\n    scores.append(accuracy)\n    end = time.time()\n    \n    print(classification_report(label_vali, label_pred))\n    print(confusion_matrix(label_vali, label_pred))\n    print(\"Complete time: \" + str(end - start) + 'Secs.\\n\\n')\n\n","execution_count":20,"outputs":[{"output_type":"stream","text":"k = 1 begins\n              precision    recall  f1-score   support\n\n           0       0.96      0.98      0.97       103\n           1       0.90      0.98      0.94       100\n           2       0.97      0.88      0.92       104\n           3       0.89      0.93      0.91       100\n           4       0.93      0.93      0.93       107\n           5       0.95      0.88      0.92        94\n           6       0.93      0.97      0.95        93\n           7       0.92      0.94      0.93       116\n           8       0.89      0.85      0.87        85\n           9       0.85      0.85      0.85        98\n\n   micro avg       0.92      0.92      0.92      1000\n   macro avg       0.92      0.92      0.92      1000\nweighted avg       0.92      0.92      0.92      1000\n\n[[101   0   0   1   0   0   1   0   0   0]\n [  0  98   0   1   0   0   0   0   0   1]\n [  0   1  91   2   2   0   1   2   3   2]\n [  0   0   1  93   0   1   0   1   3   1]\n [  0   0   0   0  99   0   1   0   0   7]\n [  0   2   1   3   0  83   3   0   2   0]\n [  1   1   0   0   0   0  90   0   1   0]\n [  0   4   0   0   1   0   0 109   0   2]\n [  0   2   1   3   1   3   1   0  72   2]\n [  3   1   0   1   4   0   0   6   0  83]]\nComplete time: 2.839226484298706Secs.\n\n\nk = 2 begins\n              precision    recall  f1-score   support\n\n           0       0.89      0.99      0.94       103\n           1       0.85      0.99      0.92       100\n           2       0.94      0.88      0.91       104\n           3       0.89      0.94      0.91       100\n           4       0.91      0.99      0.95       107\n           5       0.94      0.84      0.89        94\n           6       0.95      0.96      0.95        93\n           7       0.90      0.91      0.90       116\n           8       0.93      0.75      0.83        85\n           9       0.90      0.78      0.84        98\n\n   micro avg       0.91      0.91      0.91      1000\n   macro avg       0.91      0.90      0.90      1000\nweighted avg       0.91      0.91      0.90      1000\n\n[[102   0   0   1   0   0   0   0   0   0]\n [  0  99   0   0   0   0   0   0   0   1]\n [  3   2  92   0   0   0   0   2   3   2]\n [  1   0   1  94   0   0   0   1   2   1]\n [  0   0   0   0 106   0   0   0   0   1]\n [  1   3   1   5   1  79   4   0   0   0]\n [  3   1   0   0   0   0  89   0   0   0]\n [  0   7   1   0   2   0   0 105   0   1]\n [  2   3   3   4   1   5   1   0  64   2]\n [  3   1   0   2   7   0   0   9   0  76]]\nComplete time: 3.0158731937408447Secs.\n\n\nk = 3 begins\n              precision    recall  f1-score   support\n\n           0       0.94      0.98      0.96       103\n           1       0.84      0.98      0.90       100\n           2       0.95      0.88      0.92       104\n           3       0.94      0.96      0.95       100\n           4       0.95      0.93      0.94       107\n           5       0.97      0.89      0.93        94\n           6       0.92      0.97      0.94        93\n           7       0.94      0.91      0.92       116\n           8       0.92      0.82      0.87        85\n           9       0.86      0.87      0.86        98\n\n   micro avg       0.92      0.92      0.92      1000\n   macro avg       0.92      0.92      0.92      1000\nweighted avg       0.92      0.92      0.92      1000\n\n[[101   0   0   0   0   0   2   0   0   0]\n [  0  98   0   0   0   0   1   0   0   1]\n [  1   3  92   1   0   0   0   2   3   2]\n [  0   0   0  96   0   0   0   1   2   1]\n [  0   0   0   0  99   0   1   0   0   7]\n [  0   3   1   2   0  84   3   0   1   0]\n [  2   0   0   0   0   1  90   0   0   0]\n [  0   9   0   0   1   0   0 105   0   1]\n [  1   3   3   2   1   2   1   0  70   2]\n [  3   1   1   1   3   0   0   4   0  85]]\nComplete time: 3.1232194900512695Secs.\n\n\nk = 4 begins\n              precision    recall  f1-score   support\n\n           0       0.94      0.98      0.96       103\n           1       0.87      0.98      0.92       100\n           2       0.94      0.89      0.92       104\n           3       0.94      0.93      0.93       100\n           4       0.94      0.94      0.94       107\n           5       0.94      0.87      0.91        94\n           6       0.90      0.98      0.94        93\n           7       0.91      0.92      0.91       116\n           8       0.93      0.80      0.86        85\n           9       0.86      0.83      0.84        98\n\n   micro avg       0.92      0.92      0.92      1000\n   macro avg       0.92      0.91      0.91      1000\nweighted avg       0.92      0.92      0.91      1000\n\n[[101   0   0   0   0   0   2   0   0   0]\n [  0  98   0   0   0   0   1   0   0   1]\n [  0   3  93   1   0   0   0   3   3   1]\n [  1   0   1  93   0   0   1   1   2   1]\n [  0   0   0   0 101   0   0   0   0   6]\n [  1   3   1   2   0  82   5   0   0   0]\n [  1   0   0   0   0   1  91   0   0   0]\n [  0   5   0   0   2   0   0 107   0   2]\n [  1   3   3   2   1   4   1   0  68   2]\n [  3   1   1   1   4   0   0   7   0  81]]\nComplete time: 2.9239487648010254Secs.\n\n\n","name":"stdout"}]},{"metadata":{"scrolled":true,"trusted":true},"cell_type":"code","source":"print(scores)\nplt.plot(k_range, scores)\nplt.xlabel('Value of K')\nplt.ylabel('Testing Accuracy')\nplt.show()","execution_count":21,"outputs":[{"output_type":"stream","text":"[0.919, 0.906, 0.92, 0.915]\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"k = 3\nknn = KNeighborsClassifier(n_neighbors=k, n_jobs=-1)\nknn.fit(origin_image_train, origin_label_train)\nlabel_pred = knn.predict(origin_image_test)","execution_count":22,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"row = 1250\nprint(label_pred[row])\nplt.imshow(origin_image_test[row].reshape((28, 28)))\nplt.show()","execution_count":24,"outputs":[{"output_type":"stream","text":"6\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAADq9JREFUeJzt3X+QVfV5x/HPs8sCgaADGpECFZuKU2MiJivmB81YUQetCTppiU6aIT/KZqZa6ozT1rHTxjYz1kmNqRkz1k3CiKklNvUXaRkTs5OMMabIKoQfgmIQKxtgoUTdkIoL+/SPPTgr7vney73n3nPX5/2a2dm757nnnMejH8+993vP+Zq7C0A8bWU3AKAchB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFDjmrmz8TbBJ2pyM3cJhPKaDup1P2TVPLeu8JvZIkm3S2qX9E13vyX1/ImarPNtYT27BJCw1nuqfm7NL/vNrF3S1yVdKuksSVeb2Vm1bg9Ac9Xznn++pOfdfYe7vy7pO5IWF9MWgEarJ/wzJb004u9d2bI3MbMuM+s1s95BHapjdwCK1PBP+92929073b2zQxMavTsAVaon/H2SZo/4e1a2DMAYUE/410k6w8xON7Pxkq6StLqYtgA0Ws1Dfe5+2MyulfR9DQ/1rXD3LYV1BqCh6hrnd/c1ktYU1AuAJuLrvUBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAowg8E1dQputEYhy49L7e2f9lv6tv4kycmyzNveaK+7aM0nPmBoAg/EBThB4Ii/EBQhB8IivADQRF+IKi6xvnNbKekAUlHJB12984imoqm/XdPT9a3Lzs1WX/mT+7IrQ1pKLnu3/Xnf0dAkp749vnJOsauIr7k8wfuvr+A7QBoIl72A0HVG36X9AMze8rMuopoCEBz1Puyf4G795nZKZIeNbNt7v7YyCdk/1PokqSJmlTn7gAUpa4zv7v3Zb/7JT0oaf4oz+l290537+zQhHp2B6BANYffzCab2ZSjjyVdImlzUY0BaKx6XvZPl/SgmR3dzr+5+yOFdAWg4WoOv7vvkHROgb28bf3yLz+crH+p655k/dJJv0rWv9j/gdzaI3d9JLnuqd99Nlmf9L9rk3WMXQz1AUERfiAowg8ERfiBoAg/EBThB4Li1t0F8A+lRzx7lv9Tsn5i2/hk/cY96ctqty6cklt718s/S657JFnF2xlnfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IinH+Ktm4/EP1yt8eTK47tW1iXfve9olZyfqRl/+nru0jJs78QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4/xV+uXyt0xG9IZ159yeXDc9SbZ04aZPJusn7NtbYQvA8ePMDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBVRznN7MVki6X1O/uZ2fLpkm6T9IcSTslLXH39DzSY9zA3MMN2/bkL52QrA8d3NGwfSOuas78d0tadMyyGyT1uPsZknqyvwGMIRXD7+6PSTpwzOLFklZmj1dKuqLgvgA0WK3v+ae7++7s8R5J0wvqB0CT1P2Bn7u7JM+rm1mXmfWaWe+gDtW7OwAFqTX8e81shiRlv/vznuju3e7e6e6dHZpQ4+4AFK3W8K+WtDR7vFTSw8W0A6BZKobfzFZJ+pmkM81sl5l9XtItki42s+2SLsr+BjCGVBznd/erc0oLC+6lpZ05t6/mdZf3fTRZb9/4i2S90v0AgFrwDT8gKMIPBEX4gaAIPxAU4QeCIvxAUNy6u0rfO3N1bq3SUNzu/zsxWR8a2FNDR6jkos0DubXZHcdeq/Zm/3hn3gj3sFP/+YmaemolnPmBoAg/EBThB4Ii/EBQhB8IivADQRF+ICjG+avUYe25tcHcm5gNa8u/y1nLO3zhB5L1HUvyj4skyfL/2X//fc8mV738pJ8n61dOTo/Vp6T+fUrS7OV3JOvLJl+brM/p3p6sH9m3L1lvBs78QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4/xV+ulr+Vftd05IX9H/W5NeSdZfmDIlWR8ayL8uvV4HP3F+sv57f7U5WV8z68fJelvi/DJU4U4ILx5+PVm/ef95yXrKlPbXkvVrpqa/g7D+z25P1u/79IxkfdVVl+TWhjY8k1y3KJz5gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAoc09fa25mKyRdLqnf3c/Olt0kaZmkoxcl3+juayrt7ASb5ufb2JzZ+7l/mZ9b2/axr9e17Y8tWZas2083JOttkybl1vZ8bl5y3buuT49XnzM+Wa5o4aZP5tZ8xSnJdd+xLz3O3/6jp2vqSUofM0na89n0cbvkT9P37f+HU9Yl6wvWfyq3Nu3y55Lrpqz1Hr3qB6ya51Zz5r9b0qJRln/V3edlPxWDD6C1VAy/uz8mqfZbpgBoSfW857/WzDaa2Qozm1pYRwCaotbw3ynp3ZLmSdot6St5TzSzLjPrNbPeQR2qcXcAilZT+N19r7sfcfchSd+QlPtpmLt3u3unu3d2aEKtfQIoWE3hN7ORlyxdKSl96ReAllPxkl4zWyXpAkknm9kuSV+UdIGZzZPkknZK+kIDewTQABXH+Ys0lsf5/cPn5Na+991v1rXt1Fi4JE354/Q93ttOnpZbe+Dx/6ipp6NWDcxM1ldetzhZH/9Ierx7rGo/Kf+YS9LHf5K+H8DA0MTc2g/PTt/fIaXocX4Ab0OEHwiK8ANBEX4gKMIPBEX4gaC4dXeV2p7cklt7393Lk+tu/MzXkvWe996XrH/8oSuT9ec2pm8TXY8v/+sfJeuzH0lf2jpWvfKpDybr/RcPJuv3TvnPZP39/3Vdbm2unkyuWxTO/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFJf0FmDcabOT9a1/n75F9fqL7kjWJ1n6/tkd1p5bG/QjyXXr1Xnrnyfrsx7qa+j+U7YtT3z/4eT0LeW2XVjfZdpdL12QrO9dlH/ePfJyekr3FC7pBVAR4QeCIvxAUIQfCIrwA0ERfiAowg8ExTh/C3jh5g8l619bsiJZX/iO3+TWhjRUU09FaUucX8rsLdWXJK0+mJ5+8oaH8qfYlqS5t+1I1g/v2Zus14pxfgAVEX4gKMIPBEX4gaAIPxAU4QeCIvxAUBXH+c1stqR7JE2X5JK63f12M5sm6T5JcyTtlLTE3X+V2hbj/LVpf8+Zyfr+8/Kniz71sy/Ute9b59yfrJ82Ln2vgXrG+dcfSp+bbn7pD5P1lK3/fXqyPveu3cn64R07a953IxU9zn9Y0vXufpakD0q6xszOknSDpB53P0NST/Y3gDGiYvjdfbe7P509HpC0VdJMSYslrcyetlLSFY1qEkDxjus9v5nNkXSupLWSprv70ddGezT8tgDAGFF1+M3snZLul3Sdu786subDHxyM+uGBmXWZWa+Z9Q4qfd80AM1TVfjNrEPDwb/X3R/IFu81sxlZfYak/tHWdfdud+90984OTSiiZwAFqBh+MzNJ35K01d1vG1FaLWlp9nippIeLbw9Ao1Qz1LdA0k8kbZLeGJu5UcPv+/9d0m9LelHDQ30HUttiqG/ssXPfk6wPTepI1j0x6GQVriZvf+W19L43b0tvIKDjGeobV+kJ7v64pLyNkWRgjOIbfkBQhB8IivADQRF+ICjCDwRF+IGgKg71ITZfvyVZrzSgXNWAc45ybzr+9seZHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgqoYfjObbWY/MrNnzGyLmf1FtvwmM+szsw3Zz2WNbxdAUaqZtOOwpOvd/WkzmyLpKTN7NKt91d1vbVx7ABqlYvjdfbek3dnjATPbKmlmoxsD0FjH9Z7fzOZIOlfS2mzRtWa20cxWmNnUnHW6zKzXzHoHdaiuZgEUp+rwm9k7Jd0v6Tp3f1XSnZLeLWmehl8ZfGW09dy929073b2zQxMKaBlAEaoKv5l1aDj497r7A5Lk7nvd/Yi7D0n6hqT5jWsTQNGq+bTfJH1L0lZ3v23E8hkjnnalpM3FtwegUar5tP8jkj4taZOZbciW3SjpajObJ8kl7ZT0hYZ0CKAhqvm0/3GNPs36muLbAdAsfMMPCIrwA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QlLl783Zmtk/SiyMWnSxpf9MaOD6t2lur9iXRW62K7O00d39XNU9savjfsnOzXnfvLK2BhFbtrVX7kuitVmX1xst+ICjCDwRVdvi7S95/Sqv21qp9SfRWq1J6K/U9P4DylH3mB1CSUsJvZovM7Fkze97MbiijhzxmttPMNmUzD/eW3MsKM+s3s80jlk0zs0fNbHv2e9Rp0krqrSVmbk7MLF3qsWu1Ga+b/rLfzNolPSfpYkm7JK2TdLW7P9PURnKY2U5Jne5e+piwmX1U0q8l3ePuZ2fLvizpgLvfkv2Pc6q7/3WL9HaTpF+XPXNzNqHMjJEzS0u6QtJnVOKxS/S1RCUctzLO/PMlPe/uO9z9dUnfkbS4hD5anrs/JunAMYsXS1qZPV6p4f94mi6nt5bg7rvd/ens8YCkozNLl3rsEn2Voozwz5T00oi/d6m1pvx2ST8ws6fMrKvsZkYxPZs2XZL2SJpeZjOjqDhzczMdM7N0yxy7Wma8Lhof+L3VAnd/v6RLJV2TvbxtST78nq2Vhmuqmrm5WUaZWfoNZR67Wme8LloZ4e+TNHvE37OyZS3B3fuy3/2SHlTrzT689+gkqdnv/pL7eUMrzdw82szSaoFj10ozXpcR/nWSzjCz081svKSrJK0uoY+3MLPJ2QcxMrPJki5R680+vFrS0uzxUkkPl9jLm7TKzM15M0ur5GPXcjNeu3vTfyRdpuFP/H8h6W/K6CGnr9+R9PPsZ0vZvUlapeGXgYMa/mzk85JOktQjabukH0qa1kK9fVvSJkkbNRy0GSX1tkDDL+k3StqQ/VxW9rFL9FXKceMbfkBQfOAHBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiCo/weompAic00uLQAAAABJRU5ErkJggg==\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(len(label_pred))\nresult = pd.DataFrame({'ImageId': list(range(1, len(label_pred) + 1)), 'Label': label_pred})\nresult.to_csv('Digit_Recogniser_Result.csv', index=False, header=True)","execution_count":25,"outputs":[{"output_type":"stream","text":"28000\n","name":"stdout"}]},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"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.7.1"}},"nbformat":4,"nbformat_minor":1}