ajout plots pour TP1

This commit is contained in:
Titouan Labourdette 2021-11-14 03:20:25 +01:00
parent 00be3fb93a
commit 68c0431671
4 changed files with 1519 additions and 438 deletions

View file

@ -1,6 +1,151 @@
{ {
"cells": [], "cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "3eb7a65b",
"metadata": {}, "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": [
"<Figure size 432x288 with 4 Axes>"
]
},
"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": 4,
"nbformat_minor": 5 "nbformat_minor": 5
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long