Scikit learn: apprentissage statistique en Python
-
Upload
gaelvaroquaux -
Category
Documents
-
view
1.463 -
download
5
description
Transcript of Scikit learn: apprentissage statistique en Python
![Page 1: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/1.jpg)
Scikit LearnApprentissage statistique en Python
Gael Varoquaux —
http://scikit-learn.org
![Page 2: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/2.jpg)
Vision du projetL’apprentissage statistique pour tous
Pas de domaine d’application specifiquePas de prerequis en machine learning
Librairie logicielle de qualiteAPI pensees pour l’utilisateur
Developpement communautaireLicense BSD, contributeurs tres varies
![Page 3: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/3.jpg)
Philosophie1. Keep it simple
Ne pas chercher a tout resoudre
2. Facilite d’utilisationBonne documentation
Facile a debugger
3. Efficacite numeriqueDans les limites de 1
4. Limiter les dependancesLa distribution est un probleme en soit
![Page 4: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/4.jpg)
Choix technologiques
Python, what else?Langage haut-niveau,
- interactif,- facile a debugger,- d’application generaleEcosysteme tres dynamique
![Page 5: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/5.jpg)
Choix technologiques
+ Numpy+ Scipy
calcul numerique, algebrelineaire, algorithmique sur graphe
numpy.array: conteneuruniversel de donnees structurees
Les outils des sciencesnumeriques sont sous-utilises
par la communaute “data”
![Page 6: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/6.jpg)
Performancescikit-learn mlpy pybrain pymvpa mdp shogun
SVM 5.2 9.47 17.5 11.52 40.48 5.63LARS 1.17 105.3 - 37.35 - -Elastic Net 0.52 73.7 - 1.44 - -kNN 0.57 1.41 - 0.56 0.58 1.36PCA 0.18 - - 8.93 0.47 0.33k-Means 1.34 0.79 ∞ - 35.75 0.68
Optimisations algorithmiques et non bas niveau
Minimiser les copies des donnees
![Page 7: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/7.jpg)
API: specifier un modele
Un concept central: l’estimateurInstancie sans les donneesMais en specifiant ses parametres
from s k l e a r n . n e i g h b o r s importK N e a r e s t N e i g h b o r s
e s t i m a t o r = K N e a r e s t N e i g h b o r s (n n e i g h b o r s =2)
![Page 8: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/8.jpg)
API: entraıner un modele
Apprendre a partir de donneese s t i m a t o r . f i t (X, Y)
ou:X est un tableau numpy de forme
nobservations × ndescripteurs
y est un tableau numpy, entier ou flottantnobservations
![Page 9: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/9.jpg)
API: utiliser un modele
Prediction: classification, regressionY t e s t = e s t i m a t o r . p r e d i c t ( X t e s t )
Transformation: reduction de dimension, filtreX 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 densite, vraissemblancet e s t s c o r e = e s t i m a t o r . s c o r e ( X t e s t )
Estimation “en-line”e s t i m a t o r . p a r t i a l f i t (X, Y)
![Page 10: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/10.jpg)
Vectorization
Passer des donnees brutes a la matrices X
Pour le texte: compter les occurrences de mots- Donnees d’entree: liste de documents (string)- Donnees de sortie: matrice numeriquefrom 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 rh 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 )
![Page 11: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/11.jpg)
Fonctionalites
Apprentissage superviseArbres de decision (Random-Forest, Boosted Tree)Modeles lineairesSVM
Apprentissage non superviseClusteringApprentissage de dictionnaireDetection d’outliers
Selection de modelesValidation croisee integreeOptimisation de parametres
![Page 12: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/12.jpg)
Quelques estimateurs
http://scikit-learn.org/stable/auto_examples/plot_classifier_comparison.html
![Page 13: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/13.jpg)
Quelques estimateurs
http://scikit-learn.org/stable/auto_examples/plot_classifier_comparison.html
![Page 14: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/14.jpg)
Clustering
http://scikit-learn.org/stable/auto_examples/cluster/plot_cluster_comparison.html
![Page 15: Scikit learn: apprentissage statistique en Python](https://reader033.fdocuments.net/reader033/viewer/2022042508/558654a6d8b42a007f8b4760/html5/thumbnails/15.jpg)
Scikit-learnhttp://scikit-learn.org
Projet tres dynamiqueBien documenteNecessite un peu de savoir-faire techniqueFacile a integrer/adapter
PS: Je cherche a embaucher un ingenieur
@GaelVaroquaux