{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "3eb7a65b", "metadata": {}, "outputs": [], "source": [ "####### Import #######\n", "from sklearn.datasets import fetch_openml\n", "import sklearn\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "6cb9b8da", "metadata": {}, "outputs": [], "source": [ "####### Loading data #######\n", "# mnist = fetch_openml('mnist_784')\n", "mnist = fetch_openml('mnist_784',as_frame=False)\n", "images = mnist.data.reshape((-1, 28, 28))" ] }, { "cell_type": "code", "execution_count": 3, "id": "66f9e13f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAABaCAYAAACG94wzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAALPklEQVR4nO3de4jU1RvH8fd2teyitXaxTNFEu1FmV6WbZZlYZgUKaZkUkpVCmdqFirKwK1Qa2QW6mFGIGlqUFqWJlqalFqQSaUllv81USrGy/f31PHO+zow7O7vfOTM7n9dfD8/OzB6/LmfO95zzPU9NfX09IiJSenvFboCISLVSBywiEok6YBGRSNQBi4hEog5YRCQSdcAiIpHs05gX19bW1nfq1CmlplS+9evXU1dXV1PMe3VtG7Z8+fK6+vr6do19n65tw4q9tqDrW4h817dRHXCnTp348ssvm69VLcwZZ5xR9Ht1bRtWU1OzoZj36do2rNhrC7q+hch3fTUFISISiTpgEZFI1AGLiESiDlhEJBJ1wCIikagDFhGJRB2wiEgkjdoHLNVp+fLlHk+ePBmA1157zXM33HCDx7fffjsAp59+eolaJ1K5NAIWEYlEHbCISCQVMwWxa9cuj7du3brH19pt8vbt2z23Zs0aj6dMmQLA2LFjPffWW28B0KpVK89NmDDB4wceeKCYZlesr7/+2uNLLrnE423btgFQU5M58uL111/3+N133wVg8+bNKbewen388cceX3fddQAsWLDAc926dSt5myrVxIkTPb7//vsBCMu0ffrppwBccMEFqfx+jYBFRCJRBywiEkn0KYgff/wRgL///ttzixcv9njRokUAbNmyxXMzZsxo9O/p0KGDx7ZSP2vWLM8dfPDBAJx66qmeS+u2o5wtXboUgGuuucZz4ZSPTT0ccsghnttvv/08rqurA2DJkiWe69mzZ9brytHChQs9/v333z0eNGhQjObktWzZMo+bcgJftXr11Vc9njRpksd77703kJzuDKfa0qARsIhIJFFGwF999ZXHffr0ARpeWCuGfaNBcrK9devWQGYBA6B9+/YAtG3b1nMtfTHDFilXrFjhuaFDhwLw888/7/G9Xbt29XjcuHEeDx48GIDevXt7zq79Pffc08QWp8sWXADWrVvncbmMgP/77z8AfvjhB8/ZHWS4cCR7tmFD5mje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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Classe : ['5' '0' '4' '1']\n" ] } ], "source": [ "####### Printing example of data #######\n", "fig, figs = plt.subplots(nrows=1, ncols=4)\n", "for i in range(4):\n", " figs[i].imshow(images[i],cmap=plt.cm.gray_r,interpolation=\"nearest\")\n", " figs[i].axes.get_xaxis().set_visible(False)\n", " figs[i].axes.get_yaxis().set_visible(False)\n", "plt.show()\n", "print(\"Classe : \", mnist.target[0:4])" ] }, { "cell_type": "code", "execution_count": 4, "id": "40907bdc", "metadata": {}, "outputs": [], "source": [ "####### Printing various information of mnist #######\n", "# print(mnist)\n", "# print(mnist.data)\n", "# print(mnist.target)\n", "# len(mnist.data)\n", "# help(len)\n", "# print(mnist.data.shape)\n", "# print(mnist.target.shape)\n", "# mnist.data[0]\n", "# mnist.data[0][1]\n", "# mnist.data[:,1]\n", "# mnist.data[:100]" ] }, { "cell_type": "code", "execution_count": 5, "id": "38f52261", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Score : 0.9695238095238096\n" ] } ], "source": [ "### Imports\n", "from sklearn import model_selection\n", "from sklearn import neighbors\n", "\n", "### Data & target variables\n", "data = mnist.data\n", "target = mnist.target\n", "\n", "### Split the dataset for training and testing\n", "xtrain, xtest, ytrain, ytest = model_selection.train_test_split(data, target,train_size=0.7)\n", "\n", "n_neighbors = 5\n", "clf = neighbors.KNeighborsClassifier(n_neighbors)\n", "clf.fit(xtrain, ytrain)\n", "pred = clf.predict(xtest)\n", "pred_proba = clf.predict_proba(xtest)\n", "print(\"Score : \", clf.score(xtest, ytest))" ] }, { "cell_type": "code", "execution_count": null, "id": "ad5a825f", "metadata": {}, "outputs": [], "source": [] } ], "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.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }