Home
Apprentissage Statistique avec Python.scikit
Contents
1. giant la pr vision brute l interpr tation et pour des donn es quantitatives ou rendues quantitatives vectorisation de corpus de textes En revanche si les donn es sont trop volumineuses pour la taille du disque et distribu es sur les n uds d un cluster sous Hadoop consulter l tape suivante pour l utilisation de ML1ib de Spark Hadoop 1 2 Fonctions de scikit learn La communaut qui d veloppe cette librairie est tr s active elle volue ra pidement Ne pas h siter consulter la documentation pour des compl ments Voici une s lection de ses principales fonctionnalit s e Transformations standardisation discr tisation binaire regroupement de modalit s imputations rudimentaires de donn es manquantes vectori sation de corpus de textes encodage catalogue Tf idf images e Exploration ACP classification non supervis e m langes gaussiens propagation d affinit ascendante hi rarchique SOM e Mod le lin aire g n ral avec p nalisation ridge lasso elastic net ana lyse discriminante lin aire et quadratique k plus proches voisins proces sus gaussiens classifieur bay sien na f arbres de r gression et classifica VA fiki Stat Apprentissage Statistique avec Python scikit learn tion CART agr gation de mod les bagging random forest adaboost gradient tree boosting SVM classification r gression d tection d aty piques e Algorithmes de validat
2. drop I4Su uryv Noui ass Variable mod liser Z AFTOS yV VoU Extractions T train L test z train z test train test split k z test size 0 2 random state 11 Attention l chantillon test des donn es Titanic est relativement petit l estimation de l erreur de pr vision est donc sujette caution car proba blement de grande variance Il suffit de changer l initialisation param tre random_state et r ex cuter les scripts pour s en assurer 3 2 K plus proches voisins Les images des caract res sont cod es par des variables quantitatives Le probl me de reconnaissance de forme ou de discrimination est adapt l al gorithme des k plus proches voisins Le param tre optimiser pour contr ler la complexit du mod le est le nombre de voisin n_neighbors Les options sont d crites dans la documentation VAfiki Stat Apprentissage Statistique avec Python scikit learn from sklearn neighbors import KNeighborsClassifier KNeighborsClassifier n_neighbors 10 y train pr vision knn digit_knn knn fit X train Estimation de Ir ur l chantillon test S digit_knn score X_test y_test rreur d 1 Optimisation du param tre de complexit du mod le par validation crois e en cherchant l erreur minimale sur une grille de valeurs du param tre avec cv 5 fold cross validation et n_jobs 1 pour une ex cution en parall le utilisant tous les processeurs sauf 1 Attention
3. pr vision Noter l am lioration de l erreur t pr vision de l chantillon test z_chap titan_tree predict T_test VAfiki Stat r Apprentissage Statistique avec Python scikit learn matrice de confusion table pd crosstab z test z chap Tracer l arbre avec le logiciel Graphviz from sklearn tree import export_graphviz from sklearn externals six import StringlO import pydot dot_data StringlO export_graphviz titan tree out_file dot_ data graph pydot graph from dot data dot_ data getvalue graph write png titan tree png L arbre est g n r dans un fichier image visualiser pour se rende compte qu il est plut t mal lagu et pas directement interpr table sans les noms en clair des variables et modalit s Caract res La m me d marche est utilis e pour ces donn es Arbre complet tree DecisionTreeClassifier digit_tree tree fit X train y_ train Estimation de l erreur de pr vision 1 digit_tree score X testy Cest Optimisation de la profondeur par validation crois e from sklearn grid search import GridSearchCV param max depth list range 5 15 digit_tree GridSearchCV DecisionTreeClassifier param cv 5 n_jobs 1 digit opt digit trose fit X train y train digit opt best params Estimation de l arbre optimal tree DecisionTreeClassifier max_depth 11 digit_tree tree fit X train y train Estimation de l erreur de pr vision 1 digit_
4. scikit learn 0 16 ne reconna t pas ou pas encore la classe DataFrame de pandas scikit learn utilise la classe array de numpy C est un probl me pour la gestion de va riables qualitatives complexes Une variable binaire est simplement rem plac e par un codage 0 1 mais en pr sence de plusieurs modalit s traiter celles ci comme des entiers n a pas de sens statistique et rem placer une variable qualitative par l ensemble des indicatrices dummy variables 0 1 de ses modalit s complique les strat gies de s lection de mod le et rend inexploitable l interpr tation statistique e Les impl mentations en Python de certains algorithmes dans scikit learn sont aussi efficaces i e k means voire beaucoup plus efficaces i e for ts al atoires pour des donn es volumineuses e R offre beaucoup plus de possibilit s pour une exploration des recherches et comparaisons de mod les des interpr tations mais les capacit s de pa rall lisation de Python sont plus performantes de m me que l tape ini tiale de data munging de donn es volumineuses En cons quences e Pr f rer R et ses libraires si la pr sentation graphiques des r sultats et leur interpr tation est prioritaire si l utilisation et ou la comparaison de beaucoup de m thodes est recherch e e Pr f rer Python et scikit learn pour mettre au point une cha ne de traitements pipe line op rationnelle de l extraction une analyse privil
5. x 500 Des proc dures de normalisation r chantillonnage spatial puis de lissage ont t appliqu es Chaque caract re appara t finalement discr tis sous la forme d une matrice 8 x 8 de pixels 16 niveaux de gris et identifi par un label Les donn es sont archiv es sous la forme d une matrice ou tableau trois indices Elles sont galement archiv es apr s vectorisation des images sous la forme d une matrice p 64 colonnes Ouvrir la fen tre d un calepin ipython dans un navigateur Importations import matplotlib pyplot as plt from sklearn import datasets pylab inline les donn es digits datasets load digits Contenu et mode d obtention print digits Dimensions digits images shape t Sous forme d un cube d images 1797 x 8x8 2 Consulter les sc narios de wikistat fr VA fiki Stat Apprentissage Statistique avec Python scikit learn print digies Sous forme D tnRe digues Label r el BErnEldiques images d une matrice 1797 x 64 data de chaque caract re target Voici un aper u des images discriminer images_and_ labels digits target for index image label enumerate images_and_labels 8 plt s bplot 2 47 index m 1 pit axis Toft pit imshow image cmap plt cm gray_r interpolation nearest pltet iele Training lise zip digits images Im e i o A label Titanic Les donn es sur le naufrage du T
6. VAfiki Stat Apprentissage Statistique avec Python scikit learn Apprentissage Statistique avec Python scikit learn R sum Apr s la pr paration des donn es cette vignette introduit l utilisa tion de la librairie scikit learn pour la mod lisation et l ap prentissage Pourquoi utiliser scikit learn Ou non Liste des fonctionnalit s quelques exemples de mise en uvre exploration ACP AFCM k means mod lisation r gression logistique k plus proches voisins arbres de d cision for ts al atoires Optimisation des param tres complexit des mod les par validation crois e e Python pour Calcul Scientifique Statistique e Trafic de Donn es avec Python Pandas e Apprentissage Statistique avec Python Scikit learn e Sciences des donn es avec Spark mllib 1 Introduction 1 1 Scikit learn vs R L objectif de ce tutoriel est d introduire la librairie scikit learn de Py thon dont les fonctionnalit s sont pour l essentiel un sous ensemble de celles propos es par les librairies de R Se pose alors la question quand utiliser scikit learn de Python plut t que par exemple caret de R plus com plet et plus simple d emploi Le choix repose sur les points suivants e Attention cette librairie manipule des objets de classe array de numpy charg s en m moire et donc de taille limit e par la RAM de l ordinateur de fa on analogue R charge en RAM des objets de type data frame e Attention toujours
7. comme la validation crois e est al a toire deux ex cutions successives ne donnent pas n cessairement le m me r sultat from sklearn grid search import GridSearchCV grille de valeurs param n_neighbors list range 1 15 knn GridSearchCV KNeighborsClassifier param cv 5 n_jobs 1 digiEmenn nn Ere Xitrain param tre optimal digit_knn best_params_ n_neighbors r y erain Le mod le est estim avec la valeur optimale du param tre knn KNeighborsClassifier n_neighbors digit knn best params n_ neighbors digit kin knn fit x train y train Estimation de l pr vision 1 digit_knn score X testy Cest Pr vision y chap digit_knn predict X test matrice de confusion table pd crosstab y_ test y_ chap print table matshow table title Matrice de Confusion COlOEDar treur d show 3 3 R gression logistique La pr vision de la survie variable binaire des donn es Titanic se pr tent une r gression logistique Les versions p nalis es Ridge Lasso elastic net lars du mod le lin aire g n ral sont les algorithmes les plus d velopp s dans scikit learn au d triment de ceux plus classique de s lection de va riables Une version Lasso de la r gression logistique est test e afin d intro duire la s lection automatique des variables Estimation et erreur de pr vision du mod le complet sur l chantillon test from sklearn lin
8. ea fit X trans Eo rm D croissance de la variance expliqu e plot pca explained_variance_ratio_ show calcul des composantes principales Diagramme bo te des premi res composantes principales pDoxp loe Cik 05201 show Repr sentation des caract res dans le premier plan principal plit scattenr Cl 07 show C 1 c y label target_name Le m me graphique avec une l gende mais moins de couleurs attention aux indentations plt figure torne i target name in Zip WE gbemyk lt Ego LOr ir 2r or Ar Sr O ron carget name phe seattesr ely i 0l ei a L c c label target_name plt legend pier ESSAIS TACP Dion si show Graphique en trois dimensions from mpl_toolkits mplot3d import Axes3D tig plt figure figsize 8 6 ax Axes3D fig elev 150 azim 110 ax Scatter Clar Ol Chk 1i Cli 21 Cy cmap plt cm Paired ax set_title ACP trois premieres composantes set_xlabel Compl w_xaxis set_ticklabel ax set_ylabel Comp2 W_yaxis set_ticklabel ax set_zlabel Comp3 ax w_zaxis set_ticklabel show ax ax D autres versions d analyse en composantes principales sont propos es ker nel PCA sparse PCA 2 3 Classification non supervis e Ex cution de l algorithme de classification non supervis e clustering k means dans un cas simple le nombre des classes param tre n_clusters 8 par d fa
9. ear model import LogisticRegression logit LogisticRegression titan logit logit fit t train z train Erreur titan_logit score T test z_ test Coefficients titan kogit coer Comme pour le mod le lin aire il faudrait construire les commandes d aide l interpr tation des r sultats P nalisation et optimisation du param tre par validation crois e Il existe une fonction sp cifique mais son mode d emploi est peu document celle GridSearchCV qui vient d tre utilis e lui est pr f r e grille de valeurs Parano OL TOTO OPINIONS APR ONE logit param cv 5 n_jobs 1 titan lkogit logit iit G Crain param tre optimal titan logit best params S09 2 train Estimation du mod le optimal LogisticRegression C 0 98 penalty 11 2 train Logit titan logit logit fit I train GridSearchCV LogisticRegression penalty 11 VA fiki Stat Apprentissage Statistique avec Python scikit learn Erreur titan_logit score T test Coefficients titan logit Cor z_test 3 4 Arbre de d cision Impl mentation Les arbres binaires de d cision CART classification and regression trees s appliquent tous types de variables Les options de l algorithme sont d crites dans la documentation La complexit du mod le est g r e par deux pa ram tres max_depth qui d termine le nombre max de feuilles dans l arbre et le nombre m
10. er les classes dans les coordonn es de P ACP C est la variable classe qui d finit les couleurs fig pit figure l figsize 8 6 ax Axes3D fig elev 150 azim 110 ax sCatter Cl NO Cls F Cih 21 ccClasse cmap plt cm Paired ax set_title ACP trois premieres composantes ax set_xlabel Compl ax w_xaxis set_ticklabels ax set_ylabel Comp2 W_yaxis set_ticklabels f ax set_zlabel Comp3 ax w_zaxis set_ticklabels show ax 2 4 Analyse multiple des correspondances Les donn es Titanic regroupent des variables qualitatives et quantitatives Apr s recodage en classes discr tisation cf le sc nario sur l utilisation de pandas des variables quantitatives la table obtenue se pr te une analyse factorielle multiple des correspondances Cette m thode n est pas pr sente dans les librairies courantes de python mais disponible sous la forme d une fonction mca py Il est possible d installer la librairie correspondante ou de simplement charger le seul module mca py dans le r pertoire courant Re marque il ne serait pas plus compliqu de recalculer directement les compo santes de l AFCM partir de la SVD du tableau disjonctif complet Ce tableau est obtenu en rempla ant chaque variables par les indicatrices ou dummy variables de ses modalit s Suppression des variables quantitatives pour l AFCM dt qg df drop I TAge t SPrix r a Sin df_q
11. et avoir une id e de sa distribution R f rences 1 L Breiman Random forests Machine Learning 45 2001 5 32 2 L Breiman J Friedman R Olshen et C Stone Classification and regres sion trees Wadsworth amp Brooks 1984 3 M Lichman UCI Machine Learning Repository 2013 http archive ics uci edu ml
12. f Classe cat rename categories LG ire LIGA LA WA B df Genre df Genre cat rename_categories Gfem emast df Port df Port cat rename categories TROI LPC vps df head 2 2 Analyse en composantes principales La fonction d analyse en composantes principales ACP est surtout adapt e l analyse de signaux de nombreuses options ne sont pas disponibles notam ment les graphiques usuels biplot cercle des corr lations En revanche des r sultats sont li s la version probabiliste de 1 ACP sous hypoth se d une dis tribution gaussienne multidimensionnelle des donn es Attention l ACP est VA fiki Stat Apprentissage Statistique avec Python scikit learn videmment centr e mais par r duite L option n est pas pr vue et les va riables doivent tre r duites fonction sckit preprocessing scale avant si c est n cessaire L attribut transform d signe les composantes principales sous entendu transformation par r duction de la dimension n_components fixe le nombre de composantes retenues par d faut toutes l attribut components_ contient les n_components vecteurs propres mais non normalis s c est dire de norme carr e la valeur propre associ e et donc utiliser pour repr senter les variables from sklearn decomposition import PCA X digits data y digits target target_name 0 1 2 3 4 5 6 17 8 9 d finition de la commande pca PCA Estimation C p
13. forest score X test y test L optimisation du param tre max_features peut tre r alis e en minimi sant l erreur de pr vision out of bag Ce n est pas pr vu il est aussi possible comme pr c demment de minimiser l erreur par validation crois e from sklearn grid search import GridSearchCV param max_ features list range 4 64 4 digit_rf GridSearchCV RandomForestClassifier n_estimators 100 param cv 5 n_jobs 1 digit rt qigit ri fit Era y train param tre optimal digit_rf best params Utilisation de la valeur optimale Notez que la m thode n est pas trop sen sible la valeur de ce param tre forest RandomForestClassifier n_estimators 500 criterion gini max_depth None min_samples_split 2 min_samples_leaf 1 max_features 8 max_leaf_nodes None bootstrap True oob_score True apprentissage forest forest fit X train y train print ls Forest oob SCOrel erreur de pr vision sur le test 1 forest score X test yY test pr vision y_chap forest predict X_test matrice de confusion table pd crosstab y_test y_ chap print table matshow table title Matrice de Confusion COlOEDar show Titanic M me d marche d finition des param tres forest RandomForestClassifier n_ estimators 500 criterion gini max _depth None min_samples_split 2 min _ samples leaf 1 max_features auto max _leaf_nodes None bootstrap True oob_sco
14. head Indicatrices dc pd DataFrame pd get_dummies df_q Surv CHASSE Genre VPort Aget Prix O MN dc head Calcul de l AFCM et repr sentations graphiques import mca mca_df mca dc benzecri False Valeurs singuli res print mca df L Composantes principales des colonnes print meca dE fs c Premier plan principal conma 2 22r o oor or Or Gr Or lr ri plit scatter mea df sec E Olr meardf fs e O l 17cc foran or nonm in zip mea deas cO messe rs sci MI der cokumns pit text i j nom modalit s 0 VA fiki Stat Apprentissage Statistique avec Python scikit learn show Comme pour l ACP et au contraire de R cf FactoMineR les librairies Py thon sont pauvres en fonctions graphiques directement adapt es l AFCM Le graphique est construit partir des fonctions de MatPlotLib Remar quer l vidente redondance entre la variable Prix et celle Classe Il serait opportun d en d clarer une suppl mentaire Il est alors facile de construire des classifications non supervis es des moda lit s des variables ou des passagers partir de leurs composantes respectives quantitatives ce qui revient consid rer des distances dites du x entre ces objets Tr s utilis es en marketing segmentation de client le cette strat gie n a pas grand int r t sur ces donn es 3 Mod lisation et apprentissage statistiques Voici des exemples de mise en uvre de
15. inimales min_samples_split d observations requises pour rechercher une dichotomie Attention M me s il s agit d une impl mentation proche de celle originale propos e par Breiman et al 1984 2 il n existe pas comme dans R package rpart un param tre de p nalisation de la d viance du mod le par sa com plexit nombre de feuilles afin de construire une s quence d arbres embof t s dans la perspective d un lagage pruning optimal par validation crois e La fonction g n rique de k fold cross validation GridaSearchCV est utilis e pour optimis e le param tre de profondeur mais avec beaucoup de pr cision dans l lagage Car ce dernier limine tout un niveau et pas les seules feuilles inutiles la qualit de la pr vision En revanche l impl mentation anticipe sur celles des m thodes d agr ga tion de mod les en int grant les param tres nombre de variables tir es im portance qui leurs sont sp cifiques D autre part la repr sentation graphique d un arbre n est pas incluse et n cessite l impl mentation d un autre logiciel libre Graphviz Tout ceci souligne encore les objectifs de d veloppement de cette librairie temps de calcul et pr vision brute au d triment d une recherche d interpr tation Dans certains exemples ventuellement pas trop compliqu s un arbre lagu de fa on optimal peut en effet pr voir peine moins bien diff rence non significative qu
16. ion crois e loo k fold VC stratifi e et s lec tion de mod les optimisation sur une grille de param tres s paration al atoire apprentissage et test encha nement pipe line de traitements courbe ROC En r sum cette librairie est focalis e sur les aspects machine de l appren tissage de donn es quantitatives s ries signaux images volumineuses tandis que R int gre l analyse de variables qualitatives complexes et l interpr tation statistique fine des r sultats au d triment parfois de l efficacit des calculs Les diff rences d usage entre R et Pyhton scikitlearn r sument fi nalement les nuances qui peuvent tre mises en vidences entre apprentissage Statistique et apprentissage Machine 1 3 Objectif L objectif est d illustrer la mise en uvre de quelques fonctionnalit s de la librairie scikit learn Deux jeux de donn es l mentaires sont utilis s Celui pr c dent g r avec pandas et concernant le naufrage du Titanic m lange des variables explica tives qualitatives et quantitatives dans un objet de la classe DataF rame Pour tre utilis dans scikit learn les donn es doivent tre transform es en un objet de classe Array de numpy en rempla ant les variables qualitatives par les indicatrices de leurs modalit s L autre ensemble de donn es est enti re ment quantitatif C est un probl me classique de reconnaissance de caract res qui est inclus dans la librairie scikit lea
17. itanic sont d crites dans le sc nario consa cr pandas Reconstruire la table de donn es en lisant le fichier csv dis ponible dans ce r pertoire ou charger l archive au format HDPS Lire les donn es d apprentissage import pandas as pd dt pd read esy titanic train csv Skiprows l header None usecols 1 2 4 5 9 11 names Surv Classe Genre Age Erix UPort dtype Survo ect Classe object Genre object Port object df head dimensions df shape Red finir les types df Surv pd Categorical df Surv l ordered False df Classe pd Categorical df Classe ordered False df Genre pd Categorical df Genre ordered False df Port pd Categorical df Port ordered False df dtypes V rifier que les donn es contiennent des valeurs manquantes faire des impu tations la m diane d une valeur quantitative manquante ou la modalit la plus fr quente d une valeur qualitative absente di count imputation des valeurs manquantes df Age df Age fillna df Age median dee Pont d Neo RE EEE MES Continuer en transformant les variables Discr tiser les variables quantitatives df AgeQ pd qcut df_train Age 3 labels Agl MAG UA SSE JAPON paige di train Erix 3 labe lsSH terin UPRAW MP Si red finir les noms des modalit s df Surv df Surv cat rename categories non EN df Classe d
18. quelques unes des m thodes de mod lisation apprentissage statistique les plus utilis es 3 1 Le travail pr liminaire consiste s parer les chantillons en une partie ap prentissage et une autre de test pour estimer sans biais l erreur de pr vision L optimisation biais variance de la complexit des mod les est r alis e en minimisant l erreur estim e par validation crois e Extraction des chantillons Caract res from sklearn cross_ validation import train test spiit X train x test y train y test train test split x y test_size 0 25 random_state 11 Titanic Il est n cessaire de transformer les donn es car scikit learn ne recon na t pas la classe DataF rame de pandas ce qui est bien dommage Les va riables qualitatives sont comme pr c demment remplac es par les indicatrices de leurs modalit s et les variables quantitatives conserv es Cela introduit une vidente redondance dans les donn es mais les proc dures de s lection de mo d le feront le tri Table de d part df head Table des indicatrices dri pd get dummies df Tal usury gelassen tGenre TEOrtY TAJET TERIO T Une seule indicatrice par variable binaire dfi dfl drop Surv Vnon Genre Gmas axis 1 Variables quantitatives dt2 dE lI Age Prix Concat nation dt c pad concat dafl or airs V rification ECC OlUMNS Extraction des chantillons apprentissage et test variables explicatives do
19. re True apprentissage forest forest fit k train z train print 1 forest oob score _ erreur de pr vision sur le test 1 forest score T_ test z test Optimisation du param tre max_features par validation crois e from sklearn grid_ search import GridSearchCV param max features list range 2 15 titan_rf GridSearchCV RandomForestClassifier n_estimators 100 param cv 5 n_ jobs 1 bitanere tit ent Cite St rain 2 EranT param tre optimal titan rft best params Utilisation de la valeur optimale forest RandomForestClassifier n_estimators 500 criterion gini max_depth None min_samples_split 2 min_samples_leaf 1 max_features 6 max_leaf_nodes None bootstrap True oob_score True apprentissage forest forest it I train z train print 1 forest oob score _ erreur de pr vision sur le test 1 forest score T_ test z test pr vision VAfiki Stat 11 Apprentissage Statistique avec Python scikit learn z_chap forest predict T_test matrice de confusion table pd crosstab z test z_ chap print table Modifier la valeur du param tre pour constater sa faible influence sur la qualit plut t m diocre du r sultat Attention comme d j signal l chantillon test est de relativement faible taille autour de 180 il serait opportun d it rer l extraction al atoire d chan tillons tests pour tenter de r duire la variance de cette estimation
20. rn de m me que les trop fameux iris de Fisher Ces donn es sont explor es par analyse en composantes principales carac t res ou analyse multiple des correspondances titanic classifi es puis mod lis es par r gression logistique titanic k plus proches voisins caract res arbres de discrimination et for ts al atoires Les param tres de complexit des mod les sont optimis s par minimisation de l erreur de pr vision estim e par validation crois e 1 Consulter la documentation et ses nombreux exemples pour plus de d tails D autres fonctionnalit s sont laiss es momentan ment de c t cela concerne les possibilit s d encha nement pipeline de m thodes et d auto matisation Il s agit par exemple de r p ter automatiquement la s paration al atoire des chantillons apprentissage et test pour estimer les distributions des erreurs comme c est relativement facile mettre en uvre en R avec la librairie caret Ces fonctionnalit s seront d velopp es en Python avec les sc narios venir sur des donn es plus complexes et plus volumineuses 2 Exploration multidimensionnelle 2 1 Les donn es Les donn es Caract res Il s agit d explorer celles de reconnaissance de caract res dont les proc d s d obtention et pr traitements sont d crits sur le site de l UCI Lichman 2013 3 Les chiffres ont t saisies sur des tablettes l int rieur de cadres de r solution 500
21. tree score X_ test y test Pr vision de l chantillon test et matrice de confusion y_chap digit_tree predict X test matrice de confusion table pd crosstab y_test y_chap print table matshow table title Matrice de Confusion Colo ED AE show Cet arbre est bien trop complexe il est inutile de le tracer le r sultat est illi sible 3 5 For ts al atoires L algorithme d agr gation de mod les le plus utilis est celui des for ts al a toires random forest de Breiman 2001 1 ce qui ne signifie pas qu il conduit toujours la meilleure pr vision Voir la documentation pour la signification de tous les param tres Plus que le nombre d arbres n_estimators le param tre optimiser est le nombre de variables tir es al atoirement pour la recherche de la division optimale d un n ud max_features Par d faut il prend la valeur p 3 en r gression et p en discrimination Caract res from sklearn ensemble import RandomForestClassifier d finition des param tres forest RandomForestClassifier n_ estimators 500 criterion gini max _depth None min_ samples _split 2 min _ samples leaf 1 max_features auto max _leaf_nodes None bootstrap True oob_score True apprentissage forest forest fit X train y train VA fiki Stat 10 Apprentissage Statistique avec Python scikit learn print l forest o00b score erreur de pr vision sur le test 1
22. une agr gation de mod les for t al atoire ou boosting et apporter un clairage nettement plus pertinent qu un algorithme de type bo te noire Titanic Estimation de l arbre complet from sklearn tree import DecisionTreeClassifier tree DecisionTreeClassifier digit_tree tree fit I train Estimation de 1 1 digit_tree score T_test z_ test 2A Ero rreur de pr vision Optimisation du param tre de complexit du mod le par validation crois e en cherchant l erreur minimale sur une grille de valeurs du param tre avec cv 5 fold cross validation et n_jobs 1 pour une ex cution en parall le utilisant tous les processeurs sauf 1 Attention comme la validation crois e est al atoire et un arbre un mod le instable deux ex cutions successives ne donnent pas n cessairement le m me r sultat from sklearn grid_ search import GridSearchCV param max depth list range 2 10 titan_tree GridSearchCV DecisionTreeClassifieri param cv 5 n_jobs 1 titan opt titan tree fit T train param tre optimal titan_opt best_params_ 2 teaiin La valeur optimale du param tre est encore trop importante Une valeur plus faible est utilis e tree DecisionTreeClassifier max_depth 3 titan tree tree fit T_train z_ train Estimation de l errour de pr vision 1 titan_tree score T_test z_ test Estimation de 1 sur l chantillon test 1 titan_tree score T_test z_ test rreur d
23. ut est a priori connu D autres param tres peuvent tre pr cis s ou laiss s leur valeur par d faut Le nombre max_iter d it rations 300 le nombre n_init 10 d ex cutions parmi lesquelles la meilleure en terme de minimisation de la variance intra classe est retenue le mode init d ini tialisation qui peut tre k means par d faut pour en principe acc l rer la convergence random parmi les donn es ou une matrice d terminant les centres initiaux L option n_jobs permet d ex cuter les n_init en parall le Pour la va leur 2 tous les processeurs sauf un sont utilis s Les attributs en sortie contiennent les centres cluster _centers_ les num ros de classe de chaque observation labels_ VA fiki Stat Apprentissage Statistique avec Python scikit learn De nombreux crit res consulter dans la documentation sont propos s pour valuer la qualit d une classification non supervis e On se contente des options par d faut dans cette illustration from sklearn cluster import KMeans from sklearn metrics import confusion matrix est KMeans n_clusters 10 est fit X classe est labels_ print classe Les vraies classes tant connues il est facile de construire une matrice de confusion import pandas as pd table pd crosstab df Surv df Classe print table matshow table title Matrice de Confusion colorbpar show Il n est pas plus difficile de repr sent
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 Méthodologie réponse AOI_mars 2011 [Mode de compatibilité] OPTIMUM - Usinages Audiodesign Submersible Utility Pumps - Northern Tool + Equipment PLAN DE COURS - Cégep de Saint Philips Drip tray cover HD5224 取扱説明書(上級編) - ScreenBeam.global E - Projector Central ① Einschalten ① Ausschalten ① Funktionen Zugzurücknahme Copyright © All rights reserved.
Failed to retrieve file