{ "metadata": { "name": "", "signature": "sha256:35749589fa72045e3399f439efa5d083ca39e90d22f09271081f7caba61b7040" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Rappel pour Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Revoyons quelques concepts de base avec Python.\n", "\n", "* **Usage de `help`.** \n", " Au besoin, afin d'obtenir de l'information sur l'usage et les param\u00e8tres d'une fonction, utilisez help (ex: help(range)).\n" ] }, { "cell_type": "code", "collapsed": true, "input": [ "help(range)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Structure `list`, fonction `range`**. \n", " Cr\u00e9ez une liste croissante des nombres allant de 0 \u00e0 10. Cr\u00e9ez une liste d\u00e9croissante des m\u00eames nombres.\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Structure `for`**. \n", " Additionnez les listes terme \u00e0 terme: essayez avec l'op\u00e9rateur +. Que se passe-t'il? Faites-le maintenant avec une boucle for.\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Structure `def`**. \n", " Voici comment on pourrait d\u00e9finir une fonction \"plus un\":\n", "\n", " def plus_un(s):\n", " s = s + 1\n", " return s\n", "\n", " Notez l'importance de l'indentation!" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Numpy: manipulations de base" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Note:* Si vous \u00eates familier avec matlab, cette [page web](http://www.scipy.org/NumPy_for_Matlab_Users) vous permettra de voir les principales correspondances matlab/numpy en terme de syntaxe.\n", "\n" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Manipulations de base" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Commen\u00e7ons par quelques manipulations de base.\n", "\n", "* Avec la fonction `arange` de numpy, cr\u00e9ez un tableau d'\u00e9l\u00e9ments 0 \u00e0 10 exclusivement." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "print np.arange" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* D\u00e9terminez le type du tableau avec la fonction `type`. D\u00e9terminez maintenant le type d'un \u00e9l\u00e9ment du tableau (utilisez l'op\u00e9rateur []). Affichez la dimension du tableau (qui est de type tuple): `print le_tableau.shape`." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Acc\u00e9dez aux \u00e9l\u00e9ments 3 \u00e0 6 \u00e0 l'aide de l'op\u00e9rateur \u00ab:\u00bb." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Maintenant, cr\u00e9ez un second tableau de 10 \u00e9l\u00e9ments, cette fois-ci en convertissant une liste d'\u00e9l\u00e9ments (x = [1,7,3,...]) en tableau \u00e0 l'aide de la fonction array. \n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Remarquez que vous pouvez maintenant utiliser l'op\u00e9rateur + pour faire une addition terme \u00e0 terme des deux tableaux. Subtilit\u00e9 \u00e0 garder \u00e0 l'esprit: numpy contient \u00e0 la fois une classe ndarray et une classe matrix qui, bien \u00e9videmment, se comportent diff\u00e9remment. Par exemple, l'op\u00e9rateur * est, dans le premier cas, une multiplication terme \u00e0 terme, tandis qu'il consiste en une multiplication matricielle dans le second cas." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Modifiez la dimension de l'un de vos tableaux : (tab.shape = 2,3). Que se passe-t'il? Essayer avec (tab.shape = 2,5). Confirmez la nouvelle dimension \u00e0 l'aide de la fonction shape." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Statistiques" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nous allons maintenant g\u00e9n\u00e9rer quelques donn\u00e9es et en v\u00e9rifier les statistiques.\n", "\n", "* Cr\u00e9ez un tableau de dimension 100 lignes par 2 colonnes. Vous pouvez utiliser la fonction ones ou zeros.\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Remplissez chacune de ces colonnes avec des \u00e9chantillons tir\u00e9s de deux gaussiennes. \n", " * Pour se faire, utilisez la fonction normal afin de g\u00e9n\u00e9rer d'abord 100 observations de moyenne 0 et d'\u00e9cart type 1. Utilisez help afin de conna\u00eetre les param\u00e8tres de la fonction normal. \n", " * Remplissez la premi\u00e8re colonne (tableau[:,0]) \u00e0 l'aide de ces observations. Si vous avez de la difficult\u00e9, regardez quelle est la dimension des diff\u00e9rents tableaux avec la fonction shape.\n", " * Faites de m\u00eame pour la deuxi\u00e8me colonne, mais cette fois-ci avec une gaussienne de moyenne 0 et d'\u00e9cart-type 5.\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Validez vos donn\u00e9es \u00e0 l'aide des fonctions mean et std. Faites-le en utilisant l'argument axis." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "On s'amuse avec des fleurs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nous allons maintenant nous int\u00e9resser \u00e0 un jeu de donn\u00e9es r\u00e9elles, bien que petit. Il s'agit d'[iris](http://en.wikipedia.org/wiki/Iris_flower_data_set), disponible [ici](http://www.iro.umontreal.ca/%7Edift3395/files/iris.txt). Commencez par t\u00e9l\u00e9charger le fichier et le mettre dans le m\u00eane dossier que ce fichier notebook, puis chargez le jeu de donn\u00e9es avec la fonction numpy loadtxt :\n", "\n", " " ] }, { "cell_type": "code", "collapsed": false, "input": [ "iris = np.loadtxt('iris.txt')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Travailler avec des `array` numpy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vous avez maintenant acc\u00e8s \u00e0 un *array* nomm\u00e9 iris.\n", "\n", "* Visualisez des \u00e9l\u00e9ments du jeu de donn\u00e9es" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print iris.shape\n", "print iris" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'acc\u00e8s aux \u00e9l\u00e9ments d'une matrice numpy se fait de mani\u00e8re similaire \u00e0 une liste python, \u00e0 la diff\u00e9rence qu'on peut acc\u00e8der \u00e0 un \u00e9l\u00e9ment de la sous liste directement. Remarquez la diff\u00e9rence pour acc\u00e8der au premier \u00e9l\u00e9ment." ] }, { "cell_type": "code", "collapsed": false, "input": [ "l = [[0,1,3],\n", " [4,5,6],\n", " [7,8,9]]\n", " \n", "l[0][0] == np.array(l)[0,0]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'avantage est qu'on peut d\u00e9terminer des intervales de mani\u00e8re beaucoup plus \u00e9fficace. Il est maintenant possible d'utiliser l'op\u00e9rateur \u00ab`:`\u00bb pour d\u00e9finir un intervale sur toutes les sous listes en m\u00eame temps" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print np.array(l)\n", "print np.array(l)[1:,:2]\n", "\n", "([arr[:2] for arr in l[1:]]==np.array(l)[1:,:2]).all()" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le jeu de donn\u00e9es comporte 150 exemples: 50 pour chaque classe. Chaque rang\u00e9e correspond \u00e0 un exemple - quatre traits/caract\u00e9ristiques/features, plus la classe/le label/l'\u00e9tiquette soit (\"1\", \"2\", ou \"3\").\n", " \n", "* Acc\u00e8dez \u00e0 la 23e rang\u00e9e de l'`array` iris" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Acc\u00e8dez \u00e0 la 3e colonne\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Maintenant, Acc\u00e8dez aux \u00e9l\u00e9ments des rang\u00e9es 0 \u00e0 9 en ne prenant que les colonne 1 et 2" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'index n\u00e9gatif peut \u00eatre utilis\u00e9 pour parti de la fin plut\u00f4t que du d\u00e9but d'une liste. \n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "range(10)[-1]==9\n", "range(10)[-2]==8\n", "# etc" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut aussi utiliser l'index n\u00e9gatif pour d\u00e9finir des intervales avec l'op\u00e9rateur \u00ab`:`\u00bb. Cela s'applique autant pour les index des listes python que pour les `array` numpy." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print range(10)[2:-5]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Utilisez judicieusement l'index pour acc\u00e8der \u00e0 la rang\u00e9e 23 et toutes ses colonnes sauf la derni\u00e8re" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Quelques fonctions utiles de numpy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nous poursuivons avec le jeu de donn\u00e9es iris (cf section pr\u00e9c\u00e9dente). Assurez-vous que vous comprenez les fonctions suivantes en les ex\u00e9cutant. Elles seront utiles pour la suite." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**sum** : Somme des \u00e9l\u00e9ments d'un vecteur/matrice \n", "> `axis` sp\u00e9cifie sur quelle \"dimension\" il faut faire l'op\u00e9ration" ] }, { "cell_type": "code", "collapsed": false, "input": [ "np.sum(iris)\n", "np.sum(iris,axis=0)\n", "np.sum(iris,axis=1) " ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**min**, **max** : Valeure(s) minimale(s) ou maximale(s) d'un vecteur/matrice\n", "> V\u00e9firiez l'effet d'`axis` dans ce cas ci" ] }, { "cell_type": "code", "collapsed": false, "input": [ "np.min(iris)\n", "np.min(iris,axis=1)\n", "np.min(iris,axis=0)\n", "\n", "np.max(iris,axis=0)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**argmax**, **argmin** : Index de(s) valeur(s) minimale(s) ou maximale(s) d'un vecteur/matrice" ] }, { "cell_type": "code", "collapsed": false, "input": [ "np.argmin(iris)\n", "np.argmin(iris,axis=1)\n", "np.argmin(iris,axis=0)\n", "\n", "np.argmax(iris,axis=0)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**abs** : Valeur absolue" ] }, { "cell_type": "code", "collapsed": false, "input": [ "np.abs(iris[:,1:4])" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "** \\*\\* ** : exposant" ] }, { "cell_type": "code", "collapsed": false, "input": [ "iris[0,:-1]**4.5" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "array([ 1.52779749e+03, 2.80741231e+02, 4.54544242e+00,\n", " 7.15541753e-04])" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "** shuffle ** : Trier al\u00e9atoirement les \u00e9l\u00e9ments d'une s\u00e9quence/vecteur\n", "\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "seq = np.arange(10)\n", "np.random.shuffle(seq)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Il y a beaucoup d'autres fonctions math\u00e9matiques utiles : numpy.mean, numpy.std, numpy.cov, numpy.dot, numpy.invert, numpy.unique, numpy.vsplit, numpy.vstack, numpy.hsplit, numpy.hstack. Testez les pour mieux les comprendres ou regardez la [documentation](http://docs.scipy.org/doc/numpy/reference/index.html)" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Dessiner des fleurs avec Matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La librairie `matplotlib` sert \u00e0 cr\u00e9er des graphiques. Voici diff\u00e9rentes fonction pratiques pour visualiser un ensemble de donn\u00e9es comme `iris`.\n", "\n", "Si on veut afficher des graphiques \u00e0 l'int\u00e9rieur d'un notebook, il est important d'ajouter la ligne suivante qui sera valide pour toute les cellules de code suivantes. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "output_type": "stream", "stream": "stderr", "text": [ "WARNING: pylab import has clobbered these variables: ['pylab']\n", "`%pylab --no-import-all` prevents importing * from pylab and numpy\n" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Histogramme d'\u00e9l\u00e9ments d'un vecteur" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pylab\n", "pylab.hist(iris[:,2])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "(array([37, 13, 0, 3, 8, 26, 29, 18, 11, 5]),\n", " array([ 1. , 1.59, 2.18, 2.77, 3.36, 3.95, 4.54, 5.13, 5.72,\n", " 6.31, 6.9 ]),\n", " )" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n//Wvfz3xMTH/ebzp+4Dv3r1bGzZscDpG1NxutwoLCyVJ69atk9frVX9/v8OpwpecnCxJmpqa0szM\njNxut8OJItPX16f29na99NJLxn5hb2ru4eFhdXZ2qqamRpKUlJSk1NRUh1NF58KFC8rNzf3CHUE+\nE/PyZh/w5aOnp0fXrl3Trl27nI4SttnZWW3fvl1ut1slJSXKz893OlJEGhsb9frrryspyczDBrlc\nLpWWlsrr9erNN990Ok5E/vnPf2rjxo367ne/q8LCQjU0NGh8fNzpWFE5ffq0amtrQz4m5u8w8/fr\nXhnGx8d14MABtba2KiUlxek4YUtKSlJnZ6f6+vp0+fJlWZbldKSwvffee8rMzJTP5zN26/XKlSu6\nfv263n//ff3mN7/RhQsXnI4UttnZWV27dk0/+tGPdPPmTaWlpenYsWNOx4rY1NSU/vznP+vAgQMh\nHxfz8g53H3DEz/T0tF544QXV1tZq3759TseJylNPPaXKykpduXLF6Shh++ijj3T27Fk9/fTTqqmp\n0cWLF9XQ0OB0rIhkZmZKkjZu3Kj9+/fr2rVrDicKX05OjjZt2qSioiJJ0v79+9XZ2elwqsj95S9/\n0de//nVt3Lgx5ONiXt7sA+4s27Z1+PBh5efnG7e3xvDwsMbGxiRJDx8+1Pnz543a6+f48ePq7e3V\nnTt3dPr0aT377LP67W9/63SssE1MTGhiYkKS9ODBA3V0dKigoMDhVOHLyclRRkaG/vGPf0iamzfO\ny8tzOFXk/vCHP8zP24cS1X7eoZi+D3hNTY0uXbqk4eFh5eTk6LXXXtPBgwedjhW2v/71rwoEAvO7\ne0lSS0uLysvLHU62uP7+fjU0NMi2bU1OTqq2tlaVlZVOx4qaaVOIAwMD2rdvn1wulyYmJvTiiy/q\n+eefdzpWRE6dOqXvfe97mpiY0ObNm/X73//e6UgRefDggS5cuKC33npr0ce6bFMn5wBgFTPzK3EA\nWOUobwAwEOUNAAaivAHAQJQ3ABiI8gYAA/0f9elYGDp15mQAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Afficher un nuage de points (\"scatterplot\")" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pylab.scatter(iris[:,2],iris[:,3])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Afficher un nuage de points (\"scatterplot\")" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pylab.scatter(iris[:,2],iris[:,3],c=iris[:,-1])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAcnlLVqilDcAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exemple plus compliqu\u00e9" ] }, { "cell_type": "code", "collapsed": false, "input": [ "support = linspace(-3,3,100) # linspace va generer un vecteur de 100 nombres entre -3 et 3\n", "fn = sin(support) \n", "bruit = randn(100)*0.1 # bruit Gaussien, moyenne=0, variance= sqrt(0.1)\n", "pylab.plot(support, fn) \n", "pylab.plot(support, fn + bruit,'--')\n", "pylab.grid(True) # affiche un grille\n", "pylab.xlabel('x')\n", "pylab.ylabel('f')\n", "pylab.legend(('f(x) sans bruit','f(x) avec bruit'))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nyf8DED1RdQwX+REAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Ce n'est qu'un d\u00e9but\n", "\n", "Vous poss\u00e9dez maintenant quelques notions de base, mais il vous faudra davantage pour \u00eatre \u00e0 l'aise. Il vous faut donc adopter une approche exploratrice: feuilletez les tutoriels!" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }