Scikit-Learn: Machine Learning en Python

100 %
0 %
Information about Scikit-Learn: Machine Learning en Python
Technology

Published on February 17, 2014

Author: Developpeurs

Source: slideshare.net

Description

La toolkit OpenSource Scikit-learn s'impose comme comme un standard d'outil pour réaliser des applications d'apprentissage statistique. Nous invitons l'un de ses auteurs et contributeurs, Gaël Varoquaux, chercheur à l'Inria, à venir nous présenter cette toolkit mais également nous proposer une réflexion sur le big data, sur les stratégies et techniques adaptées ou pas selon les contextes et sur les bonnes pratiques issues de son expérience de chercheur en informatique dans un contexte de recherche scientifique en neurosciences ou les données sont réellement BIG et les problèmes de passage à l'echelle particulièrement sévères. Au delà des aspects techniques liés à la toolkit scikit-learn c'est à une session interactive d'échanges avec Gaël Varoquaux que nous vous invitons, et ce autour du thème des techniques d'apprentissage statistique qui introduisent un nouveau paradigme dans le développement d'application sur de grosses masses de données et sur "l'intelligence des données". Car comme aime à le citer Gaël Varoquaux, selon Steve Jurvetson, VC dans la Silicon Valley, "Big Data isn't actually interesting without Machine Learning". Pour en savoir plus: http://scikit-learn.org/stable/index.html http://gael-varoquaux.info/

Speakers : Gaël Varoquaux (Inria), Pierre-Louis Xech (Microsoft France)

Apprentissage statistique, Cr´er des machines intelligentes e Ga¨l Varoquaux e

1 L’apprentissage statistique en deux mots 2 Une application en recherche en neuroscience 3 Scikit-learn: une boite ` outils a d’apprentissage G Varoquaux 2

1 L’apprentissage statistique en deux mots G Varoquaux 3

1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Mangeable? Grand? Mobile? G Varoquaux 4

1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e G Varoquaux 4

1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e Apprentissage statistique ann´es 2000 e Mod´liser le bruit dans les observations e G Varoquaux 4

1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e Apprentissage statistique ann´es 2000 e Mod´liser le bruit dans les observations e Big data Beaucoup d’observations, des r`gles simples e G Varoquaux maintenant 4

1 Une perspective historique Intelligence artificielle Concevoir des r`gles de d´cision e e ann´es 80 e Apprentissage machine Les cr´er ` partir d’observations e a ann´es 90 e Apprentissage statistique ann´es 2000 e Mod´liser le bruit dans les observations e Big data Beaucoup d’observations, des r`gles simples e maintenant “Big data isn’t actually interesting without machine learning” Steve Jurvetson, VC, Silicon Valley G Varoquaux 4

1 L’apprentissage statistique Exemple: reconnaissance de visage Andr´ e G Varoquaux Bernard Charles Didier 5

1 L’apprentissage statistique Exemple: reconnaissance de visage Andr´ e G Varoquaux Bernard Charles ? Didier 5

1 M´thode na¨ e ıve 1 Stocker des images connues (bruit´es) et les noms e qui vont avec. 2 A partir d’une photo (bruit´e aussi), trouver l’image e qui lui ressemble le plus. M´thode “des plus proches voisins” e G Varoquaux 6

1 M´thode na¨ e ıve 1 Stocker des images connues (bruit´es) et les noms e qui vont avec. 2 A partir d’une photo (bruit´e aussi), trouver l’image e qui lui ressemble le plus. M´thode “des plus proches voisins” e Quel taux d’erreurs sur les images d´j` vues? ea ... 0: pas d’erreurs Donn´es de test = donn´es d’apprentissage e e G Varoquaux 6

1 1er probl`me: le bruit e Taux de prediction Donn´es non li´es ` la variable ` pr´dire e e a a e 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.0 G Varoquaux 0.5 1.0 1.5 2.0 Niveau de bruit 2.5 3.0 7

e 1 2`me probl`me: nombre de descripteurs e Taux de prediction Trouver une aiguille dans une botte de foin 0.95 0.90 0.85 0.80 0.75 0.70 0.65 G Varoquaux 1 2 3 4 5 6 7 8 9 Fraction utile du cadre 10 8

1 L’apprentissage statistique Exemple: reconnaissance de visage Apprentissage ` partir de a descripteurs num´riques e Difficult´s: i) bruit, e Andr´ e Bernard Charles Didier ii) nombre de descripteurs Tˆche “supervis´e”: labels connus a e Tˆche “non supervis´e”: labels inconnus a e G Varoquaux ? 9

1 Apprentissage supervis´: r´gression e e y Un seul descripteur: une dimension x G Varoquaux 10

1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension x x Quel mod`le pr´f´rer? e ee G Varoquaux 10

1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension x x Probl`me du “sur-apprentissage” e (“overfit”) Minimiser l’erreur n’est pas toujours favorable (apprentissage du bruit) Donn´es de test = donn´es d’apprentissage e e G Varoquaux 10

1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension x x Pr´f´rer les mod`les simples ee e = concept de “r´gularisation” e Equilibrer le nombre de param`tres ` apprendre e a avec la quantit´ de donn´es e e G Varoquaux 10

1 Apprentissage supervis´: r´gression e e y y Un seul descripteur: une dimension Compromis biais variance x x Pr´f´rer les mod`les simples ee e = concept de “r´gularisation” e Equilibrer le nombre de param`tres ` apprendre e a avec la quantit´ de donn´es e e G Varoquaux 10

1 Apprentissage supervis´: r´gression e e Un seul descripteur: une dimension Deux descripteurs: 2 dimensions y y x X_2 X_1 Plus de param`tres e Equilibrer le nombre de param`tres ` apprendre e a avec la quantit´ de donn´es e e G Varoquaux 10

1 Apprentissage supervis´: r´gression e e Un seul descripteur: une dimension Deux descripteurs: 2 dimensions y y x X_2 X_1 Plus de param`tres e ⇒ besoin de plus de donn´es e “mal´diction de la dimensionalit´” e e G Varoquaux 10

1 Apprentissage supervis´: classification e Variable ` pr´dire cat´gorielle, par ex. des chiffres a e e X2 X1 G Varoquaux 11

1 Apprentissage non supervis´ e Structure de la bourse G Varoquaux http://scikit-learn.org/stable/auto examples/ applications/plot stock market.html 12

1 Apprentissage non supervis´ e Structure de la bourse Donn´es non lab´lis´es e e e plus courantes que les donn´es labelis´es e e G Varoquaux http://scikit-learn.org/stable/auto examples/ applications/plot stock market.html 12

1 L’apprentissage statistique Des d´fis e Statistiques Computationels G Varoquaux 13

1 Strat´gies d’apprentissage sur du “big data” e Big data L’acc`s aux donn´es limite plus que e e la puissance de calcul G Varoquaux 14

1 Strat´gies d’apprentissage sur du “big data” e 1 R´duction de donn´es ` la vol´e e e a e Une r´duction rapide, e respectant les propri´t´s ee statistiques des donn´es e Limite la charge m´moire + disque e G Varoquaux 14

1 Strat´gies d’apprentissage sur du “big data” e 1 R´duction de donn´es ` la vol´e e e a e 2 Algorithmes “en ligne” Consomment les donn´es en flux e Convergent vers des grandeurs moyennes G Varoquaux 14

1 Strat´gies d’apprentissage sur du “big data” e 1 R´duction de donn´es ` la vol´e e e a e 2 Algorithmes “en ligne” 3 Parall´lisme par d´coupage des donn´es e e e Stratification pour suivre la structure statistique et de stockage des donn´es e Taille des blocs adapt´ e aux unit´s de calcul e G Varoquaux 14

1 Strat´gies d’apprentissage sur du “big data” e 1 2 3 4 R´duction de donn´es ` la vol´e e e a e Algorithmes “en ligne” Parall´lisme par d´coupage des donn´es e e e Caching Minimiser la latence d’acc`s aux donn´es e e Ne pas recalculer la mˆme chose e G Varoquaux 14

1 Strat´gies d’apprentissage sur du “big data” e 1 2 3 4 5 R´duction de donn´es ` la vol´e e e a e Algorithmes “en ligne” Parall´lisme par d´coupage des donn´es e e e Caching Acc`s rapide aux donn´es e e Repr´sentation coh´rente avec les motifs d’acc`s e e e Compression pour limiter la bande consomm´e e G Varoquaux 14

1 Apprentissage statistique Apprendre une logique d´cisionnelle e G Varoquaux 15

1 Apprentissage statistique et big data Apprendre une logique d´cisionnelle riche e G Varoquaux 15

1 Apprentissage statistique et big data Apprendre une logique d´cisionnelle riche e Regression Classification Non supervis´, ex. clustering e G Varoquaux 15

1 Apprentissage statistique et big data Apprendre une logique d´cisionnelle riche e Les difficult´s e Statistiques grande dimension ⇒ sur-apprentissage Computationelles sch´ma d’acc´s aux donn´es e e e G Varoquaux 15

2 Une application en recherche en neuroscience Lier la biologie des neurones ` la pens´e a e G Varoquaux 16

2 L’IRM fonctionnelle t Enregistrement de l’activit´ c´r´brale e ee G Varoquaux 17

2 NeuroImagerie cognitive Apprendre un lien bilateral entre activit´ e c´r´brale et fonction cognitive ee G Varoquaux 18

2 Mod`les d’encodage de l’information e Pr´dire les r´ponses neurales e e ⇒ apprendre les repr´sentations c´rebrale e e G Varoquaux 19

2 D´codage de l’activit´ c´r´brale e e ee “Lire dans les pens´es” e G Varoquaux 20

2 Accumulation de donn´es e Atlas cognitif G Varoquaux 21

2 Accumulation de donn´es e Atlas cognitif Probl´matique d’apprentissage et de e “big data” en science fondementale G Varoquaux 21

3 Scikit-learn: une boite ` a outils d’apprentissage G Varoquaux c Theodore W. Gray 22

3 scikit-learn L’apprentissage statistique pour tous Pas de domaine d’application sp´cifique e Pas de pr´requis en machine learning e Librairie logicielle de qualit´ e Interfaces pens´es pour l’utilisateur e D´veloppement communautaire e License BSD, contributeurs tr`s vari´s e e http://scikit-learn.org G Varoquaux 23

3 Une biblioth`que Python e Une biblioth`que, pas un programme e Plus expressif et polyvalent Facile ` integrer a Python: Un langage haut niveau - interactif, - facile ` debugger, a Appels transparents au C Ecosyst`me tr`s dynamique e e G Varoquaux 24

3 Performance computationelle scikit-learn SVM 5.2 LARS 1.17 Elastic Net 0.52 kNN 0.57 PCA 0.18 k-Means 1.34 mlpy pybrain pymvpa 9.47 17.5 11.52 105.3 37.35 73.7 1.44 1.41 0.56 8.93 0.79 ∞ - mdp shogun 40.48 5.63 0.58 1.36 0.47 0.33 35.75 0.68 Optimisations algorithmiques et non bas niveau Minimiser les copies des donn´es e G Varoquaux 25

3 D´veloppement comunautaire e ´ Enormement de fonctionnalit´s: e b´n´fices d’une grande ´quipe e e e Croissance du projet: Plus de 200 contributeurs ∼ 12 d´veloppeurs coeur e 1 ing´nieur INRIA temps plein e Coˆt de d´veloppement estim´: 6 millions $ u e e Mod`le COCOMO, e http://www.ohloh.net/p/scikit-learn G Varoquaux 26

3 Fonctionalit´s e Apprentissage supervis´ e Arbres de d´cision (Random-Forest, Boosted Tree) e Mod`les lin´aires e e SVM Apprentissage non supervis´ e Clustering Apprentissage de dictionnaire D´tection d’outliers e S´lection de mod`les e e Validation crois´e int´gr´e e e e Optimisation de param`tres e G Varoquaux 27

Code G Varoquaux 28

3 Structures de donn´es e 27 7979 8794 0387 52701578 07 0179 46124797 17 9407 18717887 07 5497 90495190 34 1365 65358098 42 7475 46349084 15 4872 73245614 56 9034 87745620 71 7895 9 1 4 9 7 3 2 9 4 1 7 9 3 7 6 5 4 4 9 7 8 3 1 8 8 0 Tableau numpy Tableau num´rique typ´ n-dimensionnel e e Abstraction sur un pointeur Matrice creuse scipy Structure 2D avec peu d’´l´ments ee Diff´rentes repr´sentations de donn´es e e e 6 Calcul vectoriel Op´rations num´riques et matricielles e e G Varoquaux 29

3 Sp´cifier un mod`le e e Un concept central: l’estimateur Instanci´ sans les donn´es e e Mais en sp´cifiant ses param`tres e e from s k l e a r n . n e i g h b o r s import KNearestNeighbors estimator = KNearestNeighbors ( n n e i g h b o r s =2) G Varoquaux 30

3 Entraˆ ıner un mod`le e Apprendre ` partir de donn´es a e estimator . f i t ( X train , Y train ) o`: u X est un tableau ou une matrice de forme nobservations × ndescripteurs y est un tableau numpy, entier ou flottant nobservations G Varoquaux 31

3 Utiliser un mod`le e Prediction: classification, regression Y test = estimator . predict ( X test ) Transformation: reduction de dimension, filtre X new = e s t i m a t o r . t r a n s f o r m ( X t e s t ) Estimation de densit´, vraissemblance e test score = estimator . score ( X test ) Estimation “en-line” e s t i m a t o r . p a r t i a l f i t (X, Y) G Varoquaux 32

3 Vectorization Passer des donn´es brutes ` la matrices X e a doc 1 doc 2 doc 3 doc 4 doc 5 doc 6 doc 7 doc 8 doc 9 doc 10 doc 11 doc 12 doc 13 doc 14 Pour le texte: compter les occurrences de mots - Donn´es d’entr´e: liste de documents (string) e e - Donn´es de sortie: matrice creuse e n pytho java 33 99 C# iler p com G Varoquaux 1 ace 1 interf r serve r44 drive 7 7 22 99 44 44 1 1 99 77 99 33 88 66 77 55 33 4 9 9 88 7 7 00 88 33

3 Vectorization Passer des donn´es brutes ` la matrices X e a Pour le texte: compter les occurrences de mots - Donn´es d’entr´e: liste de documents (string) e e - Donn´es de sortie: matrice creuse e from s k l e a r n . f e a t u r e e x t r a c t i o n . t e x t import H a s h i n g V e c t o r i z e r h a s h e r = H a s h i n g V e c t o r i z e r () X = h a s h e r . f i t t r a n s f o r m ( documents ) G Varoquaux 33

Exemples G Varoquaux 34

Scikit-Learn: Machine Learning en Python Apprentissage + big data = logique d´cisionnelle riche e Statistiques, algorithmes, acc`s aux donn´es e e Scikit-learn: - En Python - Projet dynamique - Page web tr`s fournie e http://scikit-learn.org @GaelVaroquaux

Add a comment

Related presentations

Related pages

scikit-learn: machine learning in Python — scikit-learn 0 ...

scikit-learn Machine Learning in Python. Simple and efficient tools for data mining and ... "The great benefit of scikit-learn is its fast learning curve ...
Read more

Tutorial: scikit-learn - Machine Learning in Python with ...

... is going to give you an overview of machine learning in Python using scikit-learn. ... Machine Learning with Scikit-Learn (I) ...
Read more

Scikit-Learn: Machine Learning en Python- Video et slides ...

La toolkit OpenSource Scikit-learn s'impose comme comme un standard d'outil pour réaliser des applications d'apprentissage statistique. Nous invitons l'un ...
Read more

Scikit-Learn: Machine Learning en Python - YouTube

La toolkit OpenSource Scikit-learn s'impose comme comme un standard d'outil pour réaliser des applications d'apprentissage statistique. Nous ...
Read more

Scikit-Learn: Machine Learning in Python - Docs.com

... pour être de plus en plus être ... Scikit-Learn: Machine Learning in Python. ... Machine Learning in Python with scikit-learn Microsoft Tech ...
Read more

Scikit-learn: Machine Learning in Python

Scikit-learn is a Python module integrating a wide range of ... Rong-En Fan , Kai-Wei Chang ... F. Pedregosa , A. Mueller, Scikit-learn: Machine Learning ...
Read more

Learning scikit-learn: Machine Learning in Python - O ...

Comments about oreilly Learning scikit-learn: Machine Learning in Python: ... oreilly Learning scikit-learn: Machine Learning in ... en.txt does not exist ...
Read more

Python+Machine Learning tutorial – Data munging for ...

Python+Machine Learning ... He works to improve the speed and scalability of the scikit-learn machine learning library for the Python / Numpy ...
Read more

Learning scikit-learn : Machine Learning in Python. (eBook ...

Learning scikit-learn : Machine Learning in ... Add tags for "Learning scikit-learn : Machine Learning in Python.". ... Machine Learning in Python. "@en; ...
Read more