Solution - Digit Recognition using sklearn Models and keras MNIST data
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "mnist.ipynb",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "code",
"metadata": {
"id": "GQmGkgsBd1cr",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 90
},
"outputId": "f149a481-68e2-4a87-a9a7-75cc956a7376"
},
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import time\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import seaborn as sns\n",
"from keras.datasets import mnist"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
" import pandas.util.testing as tm\n",
"Using TensorFlow backend.\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Sdb3bnJeyf99",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.metrics import classification_report,confusion_matrix,accuracy_score\n",
"\n",
"from sklearn.naive_bayes import MultinomialNB\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn import tree ,svm\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"\n",
"\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "w4vFxEy-eNa7",
"colab_type": "code",
"colab": {}
},
"source": [
"(X_train, y_train) , (X_test, y_test) = mnist.load_data()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "L73b2u7uhu3x",
"colab_type": "code",
"colab": {}
},
"source": [
"X_train = X_train.reshape(X_train.shape[0], 28*28)\n",
"\n",
"X_test = X_test.reshape(X_test.shape[0], 28*28)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "RL65oMECea1u",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 87
},
"outputId": "7ede0e1f-a83c-4e49-8fbf-2792c515adf4"
},
"source": [
"print(\"Shape of X_train:\",X_train.shape)\n",
"print(\"Shape of y_train:\",y_train.shape)\n",
"print(\"Shape of X_test:\",X_test.shape)\n",
"print(\"Shape of y_test:\",y_test.shape)"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"Shape of X_train: (60000, 784)\n",
"Shape of y_train: (60000,)\n",
"Shape of X_test: (10000, 784)\n",
"Shape of y_test: (10000,)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Xf0kZLqvrMz_",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 322
},
"outputId": "59f3bf18-dc7b-4c26-b2ab-f7cc9fa1f83d"
},
"source": [
"# Ploting random 40 digits from X_train\n",
"\n",
"plt.figure(1 , figsize = (20 , 5))\n",
"\n",
"for c in range(1,41):\n",
" plt.subplot(4, 10,c)\n",
" i = np.random.randint(X_train.shape[0])\n",
" im = X_train[i].reshape((28,28))\n",
" plt.subplots_adjust(hspace = 0.5 , wspace = 0.5)\n",
" plt.imshow(im, cmap='gray')\n",
" plt.title(y_train[i])\n",
" plt.xticks([])\n",
" plt.yticks([])\n"
],
"execution_count": 6,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\neWw2G0VFRej1eq1tUV5eHkajUTZSctRnbaRsbm4yMjKCx+ORh9IeoRaEPnXqFN/+9re3jW0ikWBq\naor+/n7+/Oc/y8smx6kFu+12u1aodH19nb6+Pvr7++XUM0eVlZXR1NREaWmplt+r0+mwWq0cP36c\no0ePauH/FosFo9GIwWDQ/nw4HGZycpI//vGP9PT0sL6+/qntO8XuUIvnra6usrS0pLU4vjeiaGtr\ni2QyyczMDN3d3YyNjTE3N7eLV/3lpkaVTExM0NXVhdls5vz581q0itfrZWhoiH/+8590d3d/Ymvj\nRCJBIpHgww8/xOPx0NLSwpEjR2hubmZjY4PW1latAYPYOaurq6yvr3P58mXa29t5/PHHcTqdWK1W\n4JMXcYqisLi4yK1bt+jt7WV0dJSlpSV5r+aIz1p4m81m7HY7Tz/9NO3t7bzwwgvaGjMWi7G5uSnv\nyx3Q1dXFD37wg0eeSqVupACcO3eO5eVlRkdHtYjdh2FHNlKy2awWVmyxWGhubiaRSDA/P09ZWRml\npaV85zvf4dChQ1itVqLRKLdu3WJ4eJiFhQU5Pc1RDoeDH/7wh1RVVe32pYj/g8FgoKmpiZaWFn76\n059SVVVFYWEhBoMBRVG4fv06U1NTXLx4kfn5+W2tkkVuslgstLe3U1dXh9ls5saNG9ozNRAISB53\njgqFQrhcLp5++un7vqamFKi1GtTaGnA3AjASieByuejp6cHv92uLOblXc9Pt27d54403ePHFFzlz\n5gzV1dWYzWZCoZCWHjIyMkJfXx8LCwu7fblfen6/n2w2S3l5OS6Xi5KSEjKZDAsLC4yNjXHt2jUC\ngYDW2eXTLCwsEIvF+P3vf8+RI0d46aWXUBSFxsZGpqamdvAnEqpsNqt18Hnttdeor6/n+PHjOBwO\nSkpKaG9vx2q14vP5CAQC9Pb2MjU1xfj4OAsLC6yurkq0WA6oqqqiuLiYzs5OCgoK7vu6Xq/XIjnb\n2tqw2+3o9Xot2lpN03qYHV3EJ7t8+TKzs7O8/PLLVFdXP/K/b3NzE6/Xi9vt5h//+Aejo6MP7bN3\nZCMlHo8TjUYxmUwYjUacTie1tbVaK2Sn08nx48epra3VTk9nZmZYXFyUfLUcZjabaWlpwWq13pd/\nr57UZLNZmcjnMHVxVldXR3NzM4899ti21m+ZTEY7bbt58yaxWGwXr1Y8qLy8PK1IsMFgYHl5GZfL\n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\n",
"text/plain": [
"
"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "hxZBwjeCuQuq",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 335
},
"outputId": "76bef978-e004-4f95-f040-866bcf709c7f"
},
"source": [
"plt.figure(1 , figsize = (25 ,5))\n",
"n = 0 \n",
"for z , j in zip([y_train , y_test] , ['train labels', 'test labels']):\n",
" n += 1\n",
" plt.subplot(1 , 3 , n)\n",
" sns.countplot(x = z , palette=\"Set3\")\n",
" plt.title(j)\n",
"plt.show()"
],
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KfqeOO4GtuRC",
"colab_type": "text"
},
"source": [
"__Naive-Bayes:__"
]
},
{
"cell_type": "code",
"metadata": {
"id": "8uh-U_z5oCKx",
"colab_type": "code",
"colab": {}
},
"source": [
"# Create the Multinomial Naive Bayes Classifier\n",
"\n",
"clf = MultinomialNB()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "-FZ5gkbIo1_k",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 881
},
"outputId": "99a74981-92d4-440a-bbc1-0f1c973574cb"
},
"source": [
"# Perform the predictions\n",
"t0=time.time()\n",
"clf.fit(X_train,y_train)\n",
"print(\"Time taken to tain the model:\", round(time.time()-t0, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Perform the predictions\n",
"t1=time.time()\n",
"y_predicted = clf.predict(X_test)\n",
"print(\"Time taken to predict 10000 test cases:\", round(time.time()-t1, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Calculate the accuracy of the prediction\n",
"print(\"Accuracy = {} %\".format(accuracy_score(y_test, y_predicted)*100))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Cross validate the scores\n",
"print(\"Classification Report: \\n {}\".format(classification_report(y_test, y_predicted, labels=range(0,10))))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Confusion matrix\n",
"cm=np.array(confusion_matrix(y_test,y_predicted))\n",
"\n",
"confusion = pd.DataFrame(cm, index=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"],\n",
" columns=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"])\n",
"\n",
"print(\"Confusion Matrix:\")\n",
"confusion\n"
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": [
"Time taken to tain the model: 3.92 seconds\n",
"==========================================\n",
"\n",
"Time taken to predict 10000 test cases: 0.05 seconds\n",
"==========================================\n",
"\n",
"Accuracy = 83.65 %\n",
"==========================================\n",
"\n",
"Classification Report: \n",
" precision recall f1-score support\n",
"\n",
" 0 0.92 0.93 0.93 980\n",
" 1 0.91 0.93 0.92 1135\n",
" 2 0.90 0.83 0.86 1032\n",
" 3 0.80 0.84 0.82 1010\n",
" 4 0.84 0.75 0.79 982\n",
" 5 0.86 0.66 0.75 892\n",
" 6 0.89 0.90 0.89 958\n",
" 7 0.94 0.84 0.88 1028\n",
" 8 0.66 0.80 0.72 974\n",
" 9 0.71 0.86 0.78 1009\n",
"\n",
" accuracy 0.84 10000\n",
" macro avg 0.84 0.83 0.84 10000\n",
"weighted avg 0.84 0.84 0.84 10000\n",
"\n",
"==========================================\n",
"\n",
"Confusion Matrix:\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
912
|
0
|
2
|
6
|
1
|
8
|
14
|
1
|
36
|
0
|
1
|
0
|
1061
|
5
|
9
|
0
|
2
|
6
|
0
|
51
|
1
|
2
|
15
|
11
|
858
|
24
|
10
|
3
|
33
|
11
|
66
|
1
|
3
|
4
|
11
|
34
|
851
|
1
|
21
|
7
|
14
|
40
|
27
|
4
|
2
|
2
|
6
|
0
|
732
|
0
|
25
|
1
|
38
|
176
|
5
|
23
|
11
|
6
|
107
|
18
|
590
|
17
|
6
|
78
|
36
|
6
|
17
|
13
|
17
|
1
|
7
|
25
|
860
|
0
|
18
|
0
|
7
|
1
|
21
|
11
|
5
|
19
|
0
|
1
|
861
|
40
|
69
|
8
|
6
|
26
|
13
|
54
|
14
|
27
|
8
|
9
|
777
|
40
|
9
|
6
|
7
|
3
|
10
|
66
|
10
|
0
|
17
|
27
|
863
|
\n",
"
"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 9\n",
"0 912 0 2 6 1 8 14 1 36 0\n",
"1 0 1061 5 9 0 2 6 0 51 1\n",
"2 15 11 858 24 10 3 33 11 66 1\n",
"3 4 11 34 851 1 21 7 14 40 27\n",
"4 2 2 6 0 732 0 25 1 38 176\n",
"5 23 11 6 107 18 590 17 6 78 36\n",
"6 17 13 17 1 7 25 860 0 18 0\n",
"7 1 21 11 5 19 0 1 861 40 69\n",
"8 6 26 13 54 14 27 8 9 777 40\n",
"9 6 7 3 10 66 10 0 17 27 863"
]
},
"metadata": {
"tags": []
},
"execution_count": 9
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "H3gFCC9w3wpj",
"colab_type": "text"
},
"source": [
"__Decision Tree Classifier__"
]
},
{
"cell_type": "code",
"metadata": {
"id": "dp1BF4_N3lsl",
"colab_type": "code",
"colab": {}
},
"source": [
"# Create the Decision Tree Classifier\n",
"\n",
"clf = tree.DecisionTreeClassifier()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Stt-1iNZz_xc",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 881
},
"outputId": "c716b1ce-b941-46d8-9ab0-44e88f3373c4"
},
"source": [
"# Perform the predictions\n",
"t0=time.time()\n",
"clf.fit(X_train,y_train)\n",
"print(\"Time taken to tain the model:\", round(time.time()-t0, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Perform the predictions\n",
"t1=time.time()\n",
"y_predicted = clf.predict(X_test)\n",
"print(\"Time taken to predict 10000 test cases:\", round(time.time()-t1, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Calculate the accuracy of the prediction\n",
"print(\"Accuracy = {} %\".format(accuracy_score(y_test, y_predicted)*100))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Cross validate the scores\n",
"print(\"Classification Report: \\n {}\".format(classification_report(y_test, y_predicted, labels=range(0,10))))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Confusion matrix\n",
"cm=np.array(confusion_matrix(y_test,y_predicted))\n",
"\n",
"confusion = pd.DataFrame(cm, index=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"],\n",
" columns=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"])\n",
"\n",
"print(\"Confusion Matrix:\")\n",
"confusion\n"
],
"execution_count": 11,
"outputs": [
{
"output_type": "stream",
"text": [
"Time taken to tain the model: 19.84 seconds\n",
"==========================================\n",
"\n",
"Time taken to predict 10000 test cases: 0.02 seconds\n",
"==========================================\n",
"\n",
"Accuracy = 87.82 %\n",
"==========================================\n",
"\n",
"Classification Report: \n",
" precision recall f1-score support\n",
"\n",
" 0 0.91 0.94 0.92 980\n",
" 1 0.94 0.96 0.95 1135\n",
" 2 0.87 0.86 0.86 1032\n",
" 3 0.84 0.86 0.85 1010\n",
" 4 0.88 0.88 0.88 982\n",
" 5 0.83 0.83 0.83 892\n",
" 6 0.90 0.89 0.89 958\n",
" 7 0.92 0.89 0.90 1028\n",
" 8 0.83 0.81 0.82 974\n",
" 9 0.85 0.85 0.85 1009\n",
"\n",
" accuracy 0.88 10000\n",
" macro avg 0.88 0.88 0.88 10000\n",
"weighted avg 0.88 0.88 0.88 10000\n",
"\n",
"==========================================\n",
"\n",
"Confusion Matrix:\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
920
|
0
|
10
|
5
|
5
|
14
|
9
|
4
|
6
|
7
|
1
|
1
|
1089
|
8
|
3
|
3
|
5
|
7
|
3
|
15
|
1
|
2
|
13
|
17
|
884
|
27
|
12
|
10
|
9
|
29
|
23
|
8
|
3
|
8
|
5
|
33
|
870
|
5
|
38
|
4
|
7
|
17
|
23
|
4
|
6
|
5
|
7
|
7
|
862
|
12
|
15
|
6
|
20
|
42
|
5
|
12
|
8
|
4
|
47
|
9
|
742
|
22
|
5
|
28
|
15
|
6
|
17
|
4
|
14
|
7
|
18
|
24
|
850
|
1
|
17
|
6
|
7
|
4
|
14
|
25
|
17
|
9
|
3
|
4
|
917
|
9
|
26
|
8
|
17
|
10
|
24
|
35
|
22
|
27
|
17
|
10
|
786
|
26
|
9
|
16
|
3
|
6
|
18
|
39
|
15
|
5
|
19
|
26
|
862
|
\n",
"
"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 9\n",
"0 920 0 10 5 5 14 9 4 6 7\n",
"1 1 1089 8 3 3 5 7 3 15 1\n",
"2 13 17 884 27 12 10 9 29 23 8\n",
"3 8 5 33 870 5 38 4 7 17 23\n",
"4 6 5 7 7 862 12 15 6 20 42\n",
"5 12 8 4 47 9 742 22 5 28 15\n",
"6 17 4 14 7 18 24 850 1 17 6\n",
"7 4 14 25 17 9 3 4 917 9 26\n",
"8 17 10 24 35 22 27 17 10 786 26\n",
"9 16 3 6 18 39 15 5 19 26 862"
]
},
"metadata": {
"tags": []
},
"execution_count": 11
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "xeGcD0OK3vYn",
"colab_type": "text"
},
"source": [
"__Random Forest Classifier__"
]
},
{
"cell_type": "code",
"metadata": {
"id": "tF4ewydp3vCa",
"colab_type": "code",
"colab": {}
},
"source": [
"# Create the Random Forest Classifier\n",
"\n",
"clf = RandomForestClassifier(max_depth=2, random_state=0)\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "X70MJ5eY6P7i",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 881
},
"outputId": "aa397803-42dd-40a2-9434-a5184d38a516"
},
"source": [
"# Perform the predictions\n",
"t0=time.time()\n",
"clf.fit(X_train,y_train)\n",
"print(\"Time taken to tain the model:\", round(time.time()-t0, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Perform the predictions\n",
"t1=time.time()\n",
"y_predicted = clf.predict(X_test)\n",
"print(\"Time taken to predict 10000 test cases:\", round(time.time()-t1, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Calculate the accuracy of the prediction\n",
"print(\"Accuracy = {} %\".format(accuracy_score(y_test, y_predicted)*100))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Cross validate the scores\n",
"print(\"Classification Report: \\n {}\".format(classification_report(y_test, y_predicted, labels=range(0,10))))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Confusion matrix\n",
"cm=np.array(confusion_matrix(y_test,y_predicted))\n",
"\n",
"confusion = pd.DataFrame(cm, index=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"],\n",
" columns=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"])\n",
"\n",
"print(\"Confusion Matrix:\")\n",
"confusion\n"
],
"execution_count": 13,
"outputs": [
{
"output_type": "stream",
"text": [
"Time taken to tain the model: 6.81 seconds\n",
"==========================================\n",
"\n",
"Time taken to predict 10000 test cases: 0.12 seconds\n",
"==========================================\n",
"\n",
"Accuracy = 63.63999999999999 %\n",
"==========================================\n",
"\n",
"Classification Report: \n",
" precision recall f1-score support\n",
"\n",
" 0 0.62 0.98 0.76 980\n",
" 1 0.52 0.99 0.68 1135\n",
" 2 0.77 0.56 0.65 1032\n",
" 3 0.68 0.63 0.66 1010\n",
" 4 0.56 0.68 0.62 982\n",
" 5 0.94 0.04 0.07 892\n",
" 6 0.84 0.65 0.73 958\n",
" 7 0.66 0.83 0.74 1028\n",
" 8 0.78 0.48 0.59 974\n",
" 9 0.57 0.42 0.48 1009\n",
"\n",
" accuracy 0.64 10000\n",
" macro avg 0.69 0.63 0.60 10000\n",
"weighted avg 0.69 0.64 0.60 10000\n",
"\n",
"==========================================\n",
"\n",
"Confusion Matrix:\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
964
|
3
|
2
|
1
|
0
|
0
|
2
|
7
|
1
|
0
|
1
|
0
|
1124
|
6
|
1
|
0
|
0
|
1
|
3
|
0
|
0
|
2
|
81
|
266
|
573
|
15
|
14
|
0
|
19
|
46
|
16
|
2
|
3
|
90
|
172
|
27
|
638
|
11
|
1
|
2
|
37
|
16
|
16
|
4
|
18
|
24
|
9
|
1
|
671
|
0
|
38
|
85
|
1
|
135
|
5
|
206
|
145
|
4
|
219
|
56
|
32
|
27
|
57
|
65
|
81
|
6
|
122
|
70
|
38
|
11
|
37
|
1
|
622
|
43
|
5
|
9
|
7
|
20
|
74
|
34
|
0
|
21
|
0
|
0
|
856
|
13
|
10
|
8
|
25
|
267
|
44
|
45
|
21
|
0
|
26
|
22
|
464
|
60
|
9
|
23
|
36
|
4
|
3
|
358
|
0
|
7
|
144
|
14
|
420
|
\n",
"
"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 9\n",
"0 964 3 2 1 0 0 2 7 1 0\n",
"1 0 1124 6 1 0 0 1 3 0 0\n",
"2 81 266 573 15 14 0 19 46 16 2\n",
"3 90 172 27 638 11 1 2 37 16 16\n",
"4 18 24 9 1 671 0 38 85 1 135\n",
"5 206 145 4 219 56 32 27 57 65 81\n",
"6 122 70 38 11 37 1 622 43 5 9\n",
"7 20 74 34 0 21 0 0 856 13 10\n",
"8 25 267 44 45 21 0 26 22 464 60\n",
"9 23 36 4 3 358 0 7 144 14 420"
]
},
"metadata": {
"tags": []
},
"execution_count": 13
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "avGbsv8H6cCH",
"colab_type": "text"
},
"source": [
"__Support Vector Machine__"
]
},
{
"cell_type": "code",
"metadata": {
"id": "hASMA6bO6cir",
"colab_type": "code",
"colab": {}
},
"source": [
"# Create the Support Vector Machine\n",
"\n",
"clf = svm.SVC()\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "TlixY1S1-c8R",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 881
},
"outputId": "d53f634f-0b01-4e09-e8b6-d8129314da0a"
},
"source": [
"# Perform the predictions\n",
"t0=time.time()\n",
"clf.fit(X_train,y_train)\n",
"print(\"Time taken to tain the model:\", round(time.time()-t0, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Perform the predictions\n",
"t1=time.time()\n",
"y_predicted = clf.predict(X_test)\n",
"print(\"Time taken to predict 10000 test cases:\", round(time.time()-t1, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Calculate the accuracy of the prediction\n",
"print(\"Accuracy = {} %\".format(accuracy_score(y_test, y_predicted)*100))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Cross validate the scores\n",
"print(\"Classification Report: \\n {}\".format(classification_report(y_test, y_predicted, labels=range(0,10))))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Confusion matrix\n",
"cm=np.array(confusion_matrix(y_test,y_predicted))\n",
"\n",
"confusion = pd.DataFrame(cm, index=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"],\n",
" columns=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"])\n",
"\n",
"print(\"Confusion Matrix:\")\n",
"confusion\n"
],
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"text": [
"Time taken to tain the model: 548.62 seconds\n",
"==========================================\n",
"\n",
"Time taken to predict 10000 test cases: 163.48 seconds\n",
"==========================================\n",
"\n",
"Accuracy = 97.92 %\n",
"==========================================\n",
"\n",
"Classification Report: \n",
" precision recall f1-score support\n",
"\n",
" 0 0.98 0.99 0.99 980\n",
" 1 0.99 0.99 0.99 1135\n",
" 2 0.98 0.97 0.98 1032\n",
" 3 0.97 0.99 0.98 1010\n",
" 4 0.98 0.98 0.98 982\n",
" 5 0.99 0.98 0.98 892\n",
" 6 0.99 0.99 0.99 958\n",
" 7 0.98 0.97 0.97 1028\n",
" 8 0.97 0.98 0.97 974\n",
" 9 0.97 0.96 0.97 1009\n",
"\n",
" accuracy 0.98 10000\n",
" macro avg 0.98 0.98 0.98 10000\n",
"weighted avg 0.98 0.98 0.98 10000\n",
"\n",
"==========================================\n",
"\n",
"Confusion Matrix:\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
973
|
0
|
1
|
0
|
0
|
2
|
1
|
1
|
2
|
0
|
1
|
0
|
1126
|
3
|
1
|
0
|
1
|
1
|
1
|
2
|
0
|
2
|
6
|
1
|
1006
|
2
|
1
|
0
|
2
|
7
|
6
|
1
|
3
|
0
|
0
|
2
|
995
|
0
|
2
|
0
|
5
|
5
|
1
|
4
|
0
|
0
|
5
|
0
|
961
|
0
|
3
|
0
|
2
|
11
|
5
|
2
|
0
|
0
|
9
|
0
|
871
|
4
|
1
|
4
|
1
|
6
|
6
|
2
|
0
|
0
|
2
|
3
|
944
|
0
|
1
|
0
|
7
|
0
|
6
|
11
|
1
|
1
|
0
|
0
|
996
|
2
|
11
|
8
|
3
|
0
|
2
|
6
|
3
|
2
|
2
|
3
|
950
|
3
|
9
|
3
|
4
|
1
|
7
|
10
|
2
|
1
|
7
|
4
|
970
|
\n",
"
"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 9\n",
"0 973 0 1 0 0 2 1 1 2 0\n",
"1 0 1126 3 1 0 1 1 1 2 0\n",
"2 6 1 1006 2 1 0 2 7 6 1\n",
"3 0 0 2 995 0 2 0 5 5 1\n",
"4 0 0 5 0 961 0 3 0 2 11\n",
"5 2 0 0 9 0 871 4 1 4 1\n",
"6 6 2 0 0 2 3 944 0 1 0\n",
"7 0 6 11 1 1 0 0 996 2 11\n",
"8 3 0 2 6 3 2 2 3 950 3\n",
"9 3 4 1 7 10 2 1 7 4 970"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "DgBV-rka99MC",
"colab_type": "text"
},
"source": [
"__K Nearest Neighbour__"
]
},
{
"cell_type": "code",
"metadata": {
"id": "uCQjwZVl98qN",
"colab_type": "code",
"colab": {}
},
"source": [
"# Create the K Nearest Neighbour\n",
"\n",
"clf = KNeighborsClassifier(n_neighbors=3)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "a5-KFdWg-edt",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 881
},
"outputId": "9138288b-df63-4140-be3d-19dce2af9b08"
},
"source": [
"# Perform the predictions\n",
"t0=time.time()\n",
"clf.fit(X_train,y_train)\n",
"print(\"Time taken to tain the model:\", round(time.time()-t0, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Perform the predictions\n",
"t1=time.time()\n",
"y_predicted = clf.predict(X_test)\n",
"print(\"Time taken to predict 10000 test cases:\", round(time.time()-t1, 2), \"seconds\")\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Calculate the accuracy of the prediction\n",
"print(\"Accuracy = {} %\".format(accuracy_score(y_test, y_predicted)*100))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Cross validate the scores\n",
"print(\"Classification Report: \\n {}\".format(classification_report(y_test, y_predicted, labels=range(0,10))))\n",
"print(\"==========================================\")\n",
"print()\n",
"\n",
"# Confusion matrix\n",
"cm=np.array(confusion_matrix(y_test,y_predicted))\n",
"\n",
"confusion = pd.DataFrame(cm, index=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"],\n",
" columns=[\"0\", \"1\",\"2\", \"3\", \"4\",\"5\", \"6\", \"7\", \"8\", \"9\"])\n",
"\n",
"print(\"Confusion Matrix:\")\n",
"confusion\n"
],
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"text": [
"Time taken to tain the model: 18.7 seconds\n",
"==========================================\n",
"\n",
"Time taken to predict 10000 test cases: 972.5 seconds\n",
"==========================================\n",
"\n",
"Accuracy = 97.05 %\n",
"==========================================\n",
"\n",
"Classification Report: \n",
" precision recall f1-score support\n",
"\n",
" 0 0.97 0.99 0.98 980\n",
" 1 0.96 1.00 0.98 1135\n",
" 2 0.98 0.97 0.97 1032\n",
" 3 0.96 0.97 0.96 1010\n",
" 4 0.98 0.97 0.97 982\n",
" 5 0.97 0.96 0.96 892\n",
" 6 0.98 0.99 0.98 958\n",
" 7 0.96 0.96 0.96 1028\n",
" 8 0.99 0.94 0.96 974\n",
" 9 0.96 0.96 0.96 1009\n",
"\n",
" accuracy 0.97 10000\n",
" macro avg 0.97 0.97 0.97 10000\n",
"weighted avg 0.97 0.97 0.97 10000\n",
"\n",
"==========================================\n",
"\n",
"Confusion Matrix:\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
974
|
1
|
1
|
0
|
0
|
1
|
2
|
1
|
0
|
0
|
1
|
0
|
1133
|
2
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
2
|
10
|
9
|
996
|
2
|
0
|
0
|
0
|
13
|
2
|
0
|
3
|
0
|
2
|
4
|
976
|
1
|
13
|
1
|
7
|
3
|
3
|
4
|
1
|
6
|
0
|
0
|
950
|
0
|
4
|
2
|
0
|
19
|
5
|
6
|
1
|
0
|
11
|
2
|
859
|
5
|
1
|
3
|
4
|
6
|
5
|
3
|
0
|
0
|
3
|
3
|
944
|
0
|
0
|
0
|
7
|
0
|
21
|
5
|
0
|
1
|
0
|
0
|
991
|
0
|
10
|
8
|
8
|
2
|
4
|
16
|
8
|
11
|
3
|
4
|
914
|
4
|
9
|
4
|
5
|
2
|
8
|
9
|
2
|
1
|
8
|
2
|
968
|
\n",
"
"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 9\n",
"0 974 1 1 0 0 1 2 1 0 0\n",
"1 0 1133 2 0 0 0 0 0 0 0\n",
"2 10 9 996 2 0 0 0 13 2 0\n",
"3 0 2 4 976 1 13 1 7 3 3\n",
"4 1 6 0 0 950 0 4 2 0 19\n",
"5 6 1 0 11 2 859 5 1 3 4\n",
"6 5 3 0 0 3 3 944 0 0 0\n",
"7 0 21 5 0 1 0 0 991 0 10\n",
"8 8 2 4 16 8 11 3 4 914 4\n",
"9 4 5 2 8 9 2 1 8 2 968"
]
},
"metadata": {
"tags": []
},
"execution_count": 22
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Zhg2H-JREW1K",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}