Example: bachelor of science

Trafic de données avec Python-pandas

1 Trafic de donn es avec python -pandasTrafic de donn es avec python -pandasR sum L objectif de ce tutoriel est d introduire python pour la pr paration(data mungingouwranglingou trafic) de donn es massives, lors-qu elles sont trop volumineuses pour la m moire (RAM) d un ordi-nateur. Cette tape est abord e par l initiation aux fonctionnalit sde la librairiepandaset la classeDataFrame; lire et criredes fichiers, g rer une table de donn es et les types des variables, chantillonner, discr tiser, regrouper des modalit s, description l -mentaires uni et bi-vari es ; concat nation et jointure de tables. python pour Calcul Scientifique Trafic de donn es avec Apprentissage Statistique avec Programmation l mentaire en python Sciences des donn es avecSpark-MLlib1 ObjectifLedata mungingouwrangling(traduit ici partrafic) de donn es est l en-semble des op rations permettant de passer de donn es brutes une table (dataframe) correcte et adapt e aux objectifs atteindre par des m thodes statis-tiques d analyse, exploration, mod lisation ou pr sence de donn es complexes, peu ou mal organis es, pr sentant destrous, trop massives pour tenir en m la qualit de cette tape est fon-damentale (garbage in garbage out) pour la bonne r alisation d une tenu de l

du siteKaggle:Titanic:Machine learnic from Disaster. Le concours est ter-miné mais lesdonnéessont toujours disponibles sur le site avec des tutoriels utilisant Excel, Python ou R. Une des raisons du drame, qui provoqua la mort de 1502 personnes sur les 2224 passagers et membres d’équipage, fut le manque de ca-

Tags:

  Form, Python, Machine, Disaster, Pandas, Cave, Titanic, Donn, Trafic de donn, Trafic, 233 es avec python pandas, From disaster

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Trafic de données avec Python-pandas

1 1 Trafic de donn es avec python -pandasTrafic de donn es avec python -pandasR sum L objectif de ce tutoriel est d introduire python pour la pr paration(data mungingouwranglingou trafic) de donn es massives, lors-qu elles sont trop volumineuses pour la m moire (RAM) d un ordi-nateur. Cette tape est abord e par l initiation aux fonctionnalit sde la librairiepandaset la classeDataFrame; lire et criredes fichiers, g rer une table de donn es et les types des variables, chantillonner, discr tiser, regrouper des modalit s, description l -mentaires uni et bi-vari es ; concat nation et jointure de tables. python pour Calcul Scientifique Trafic de donn es avec Apprentissage Statistique avec Programmation l mentaire en python Sciences des donn es avecSpark-MLlib1 ObjectifLedata mungingouwrangling(traduit ici partrafic) de donn es est l en-semble des op rations permettant de passer de donn es brutes une table (dataframe) correcte et adapt e aux objectifs atteindre par des m thodes statis-tiques d analyse, exploration, mod lisation ou pr sence de donn es complexes, peu ou mal organis es, pr sentant destrous, trop massives pour tenir en m la qualit de cette tape est fon-damentale (garbage in garbage out)

2 Pour la bonne r alisation d une tenu de la diversit des situations envisageables, il serait vain de vou-loir en exposer tous les outils et techniques qui peuvent s av rer n chons n anmoins de r sumer les probl mes qui peuvent tre rencontr du volumeLe volume des donn es et sa croissance occasionnent sch matiquement Le fichier initial des donn es brutes peut tre charg int gralement en m -moire moyennant ventuellement de sauter quelques colonnes ou lignesdu fichier (cf. section ). C est la situation courante, tout logiciel statis-tique peut r aliser les traitements, R est favoriser mais, afin d aborder lasituation suivante de fa on coh rente, l usage de python peut se est l objet des sections 2 Le fichier initial est tr s volumineux mais la table (DataFrame), qui r -sulte de quelques trafics (munging) appropri s, tient en m moire.

3 Cettesituations n cessite : lecture, analyse, transformation, r - criture, s quen-tielles du fichier ligne ligne ou par bloc. Il existe des astuces avec Rmais il est pr f rable d utiliser des outils plus adapt s. Tout langage deprogrammation (java, c, perl, ) peut tre utilis pour crire le oules programmes r alisant ce travail. N anmoins python , et plus pr cis -ment la librairiepandas, offrent un ensemble d outils efficaces pour ac-complir ces t ches sans avoir r -inventer la roue et r - crire tout unensemble de fonctionnalit s relativement basiques. Remarque : les pro-c duresunivariateetfreqet l tapedatade SAS sont adapt escar elles ne chargent pas les donn es en m moire pour r aliser des traite-ments rudimentaires. N anmoins pour tout un tas de raisons trop longues exposer, notamment de co t annuel de location, SAS perd r guli rementdes parts de march sur ce cr approche est introduite ci-dessous en section 7 et consiste en-ch sser dans une m me structure it rative et s quentielle les tapes pr -c dentes des sections 2 Lorsque les donn es, tr s massives, sont archiv es sur un syst me dedonn es distribu es (HDFSH adoop), trafic et pr traitement des donn esdoivent tenir compte de cet environnement.

4 Si, en r sultat, la table r -sultante est trop volumineuse, moins d chantillonnage, il ne sera paspossible de mettre en uvre des m thodes statistiques et d apprentissageavanc es en utilisant R ou la librairiescikit-learnde python . Notern anmoins quescikit-learnpropose quelques m thodes incr men-tales rudimentaires d apprentissage. Pour pr venir des temps d ex cu-2 Trafic de donn es avec python -pandastions n cessairement longs, il devient incontournable de mettre en uvreles technologies appropri es de parall lisation : python / Spark / Hadoopet la librairieMLlibdeSpark(ou plus r centes !) pourparall liser l ana-lyse de donn es distribu est l objet du tutoriel introduisant les fonctionnalit s de probl mesListe non exhaustive des probl mes pouvant tre rencontr s et dont la r so-lution n cessite simultan ment des comp tences en Informatique, Statistique,Math matiques et aussi "m tier" du domaine de l tude.

5 D termination des "individus" "variables" (instances featuresenlangue informatique) de la table mettre en forme partir de bases dedonn es vari es ; d un site web, listes d incidents, donn s atypiques (outliers) : correction, suppression, transformation desvariables ou m thode statistique robuste ? Variable qualitative avec beaucoup de modalit s dont certaines tr s peufr quentes : suppression, modalit "autres", recodage al atoire, regrou-pement "m tier" ou m thode tol rante ? Distributions a-normales (log-normale, Poisson, ) et pro-bl mes d h t rosc dasticit : transformation, discr tisation ou m thodestol rantes ? donn es manquantes : suppressions (ligne ou colonne), imputation oum thodes tol rantes ? Repr sentations (splines, Fourier, ondelettes) et recalage (time warping)de donn es fonctionnelles. Repr sentation de trajectoires, de chemins sur un graphe ?

6 Choix d une distance (quadratique, absolue, g od ) entre les objets tudi s..Bien entendu les "bons" choix d pendent directement de l objectif poursuiviet des m thodes mises en uvre par la suite. D o l importance d int grer defa on pr coce, d s la planification du recueil des donn es, les comp tencesn cessaires au sein d une Fonctionnalit s depandasLa richesse des fonctionnalit s de la librairiepandasest une des raisons, sice n est la principale, d utiliser python pour extraire, pr parer, ventuellementanalyser, des donn es. En voici un bref aper : les classesSeriesetDataFrameoutable de donn , crirecr ation et exportation de tables de donn es partir de fichierstextes (s parateurs,.csv, format fixe, compress s), binaires (HDF5 avecPytable), HTML, XML, JSON, MongoDB, une table : s lection des lignes, colonnes, transformations, r orga-nisation par niveau d un facteur, discr tisation de variables quantitatives,exclusion ou imputation l mentaire de donn es manquantes, permuta-tion et chantillonnage al atoire, variables indicatrices, cha nes de carac-t l mentaires uni et bivari es, tri plat (nombre de modalit s, devaleurs nulles, de valeurs ), graphiques associ s, statistiquespar groupe, d tection l mentaire de valeurs tables.

7 Concat nations, fusions, jointures, tri, gestion destypes et R f rencesCe tutoriel l mentaire s inspire largement du livre de r f rence (Mc Kin-ney, 2013)[1] et de la documentation en ligne consulter sans mod documentation inclut galement des tutoriels ex cuter pour compl teret approfondir la premi re bauche d un sujet relativement technique et quipeut prendre des tournures tr s diverses en fonction de la qualit et des typesde donn es trait ExempleLes donn es choisies pour illustrer ce tutoriel sont issues d une comp titiondu site Kaggle : titanic : machine learnic from disaster . Le concours est ter-min mais les donn es sont toujours disponibles sur le site avec des tutorielsutilisant Excel, python ou des raisons du drame, qui provoqua la mort de 1502 personnessur les 2224 passagers et membres d quipage, fut le manque de ca-3 Trafic de donn es avec python -pandasnots de sauvetage.

8 Il appara t que les chances de survie d pendaientde diff rents facteurs (sexe, ge, ). Le but du concours estde construire un mod le de pr vision (classification supervis e) desurvie en fonction de ces facteurs. Les donn es sont compos es d un chantillon d apprentissage (891) et d un chantillon test (418) cha-cun d crit par 11 variables dont la premi re indiquant la survie ounon lors du DESCRIPTIONS:survival Survival(0 = No; 1 = Yes)pclass Passenger Class(1 = 1st; 2 = 2nd; 3 = 3rd)name Namesex Sexage Agesibsp Number of Siblings/Spouses Aboardparch Number of Parents/Children Aboardticket Ticket Numberfare Passenger Farecabin Cabinembarked Port of Embarkation(C = Cherbourg; Q = Queenstown; S = Southampton)2 Les typesSeriesetDataFrameDe m me que la librairieNumpyintroduit le typearrayindispensable la manipulation de matrices en calcul scientifique, cellepandasintroduit lesclassesSeries(s ries chronologiques) etDataFrameou table de donn esindispensables en classeSeriesest l association de deuxarraysunidimensionnels.

9 Lepremier est un ensemble de valeurs index es par le 2 me qui est souvent unes rie temporelle. Ce type est introduit principalement pour des applications en conom trie et Finance o python est largement utilis . classe est proche de celle du m me nom dans le langage R, il s agitd associer avec le m me index de lignes des colonnes ou variables de typesdiff rents (entier, r el, bool en, caract re). C est un tableau bi-dimensionnelavec des index de lignes et de colonnes mais il peut galement tre vu commeune liste deSeriespartageant le m me index. L index de colonne (noms desvariables) est un objet de typedict(dictionnaire). C est la classe qui seraprincipalement utilis e dans ce pour le tutoriel pr c dent qui est un pr requis indispensable : Py-thon pour Calcul Scientifique, ex cuter les lignes de code une une ou plut tr sultat par r sultat, dans un calepin IPython ou Jupyter.

10 # Exemple de data frameimport pandas as pddata = {"state": ["Ohio", "Ohio", "Ohio","Nevada", "Nevada"],"year": [2000, 2001, 2002, 2001, 2002],"pop": [ , , , , ]}frame = (data)# ordre des (data, columns=["year", "state", "pop"])# index des lignes et valeurs manquantes (NaN)frame2= (data, columns=["year", "state","pop", "debt"],index=["one", "two", "three", "four", "five"])# liste des # valeurs d une colonnesframe["state"] # "imputation"frame2["debt"] = # cr er une variableframe2["eastern"] = == "Ohio"frame24 Trafic de donn es avec Python-pandas # supprimer une variabledel frame2[u"eastern"] IndexLes index peuvent tre d finis par embo tement et beaucoup d autres fonc-tionnalit s sur la gestion des index sont d crites par Mac Kinney (2013)[1](chapitre 5) :appendnouvel index par concat nation,diffdiff rence ensembliste,intersectionintersection ensembliste,unionunion ensemblisteisinvrai si la valeur est dans la liste,deletesuppression de l indexi,dropsuppression d une valeur d index,is_monotonicvrai si les valeurs sont croissantes,is_uniquevrai si toutes les valeurs sont diff rentes,uniquetableau des valeurs uniques de l Lire, crire des tables de donn esPandasoffre des outils efficaces pour lire crire des fichiers selon diff -rents formats (csv, texte, fixe, compress , xml, html, hdf5) ou interagir avec desbases de donn es SQL, MongoDB, des APIs web.