• Aide
  • Eurêkoi Eurêkoi

Livre

Python pour la data science

Résumé

Présentation des avantages à utiliser Python pour les calculs scientifiques. L'auteur montre notamment comment transformer, visualiser et nettoyer les données ou encore comment élaborer des modèles statistiques. Il décrit également toutes les ressources disponibles pour les diverses applications : IPython, NumPy, Pandas, Matplotlib et autres outils associés.


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • DL 2022
  • Notes
    • Traduit de l'américain
    • La couv. porte en plus : "Les meilleurs outils pour travailler avec les données"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XVIII-561 p.) : ill., graph. ; 24 cm
  • Sujet(s)
  • ISBN
    • 978-2-412-07004-8
  • Indice
  • Quatrième de couverture
    • Python pour la data science

      Pour de nombreux chercheurs, Python constitue l'outil de prédilection en raison de ses riches librairies de fonctions de traitement et d'analyse de données. S'il existe des livres et tutoriels dédiés à ces différentes librairies, seul cet ouvrage propose une synthèse complète de l'ensemble, à savoir l'environnement IPython, NumPy, Pandas, Matplotlib, Scikit- Learn et bien d'autres encore.

      Les professionnels des données tels que les data scientists et data crunchers déjà rompus à la création de code Python tiennent entre leurs mains le guide de référence pour leurs tâches quotidiennes. Qu'il s'agisse de manipuler, transformer et nettoyer les données, de les visualiser selon différents cas de figure ou encore d'élaborer des modèles statistiques et d'apprentissage machine, ce livre est le compagnon idéal de tout projet scientifique avec Python.

      Grâce à ce livre, vous apprendrez à maîtriser :

      • IPython et Jupyter : découvrez l'infrastructure technique en matière de science des données avec Python.
      • NumPy : stockez et manipulez en toute efficacité des tableaux de données denses grâce à ndarray.
      • Pandas : traitez les données tabulaires et labellisées au moyen de la structure DataFrame.
      • Matplotlib : profitez d'un vaste choix de fonctions de visualisation des données.
      • Scikit-Learn : optimisez l'implémentation Python de tous les algorithmes d'apprentissage machine indispensables.

  • Tables des matières
      • Python pour la data science

      • Jake VanderPlas

      • First Interactive

      • Introductionxi
      • À qui s'adresse ce livrexii
      • Pourquoi Python ?xiii
      • Python 2 ou Python 3 ?xiii
      • Organisation de ce livrexiv
      • Contenu additionnelxiv
      • Prérequis d'installationxv
      • Mise en pratique des exemplesxvi
      • Conventions utilisées dans ce livrexvii
      • Terminologie françaisexvii
      • 1. IPython, plus loin que Python1
      • Interpréteur shell ou calepin ?2
      • Démarrage du shell IPython2
      • Démarrage du calepin Jupyter2
      • Aide et documentation d'IPython3
      • Accès à la documentation avec ?4
      • Accès au code source avec ??6
      • Exploration des modules avec Tab6
      • Raccourcis clavier du shell IPython9
      • Raccourcis de navigation9
      • Raccourcis d'historique de commandes10
      • Raccourcis divers11
      • Commandes magiques d'IPython11
      • Collage d'un bloc de code avec %paste et %cpaste12
      • Exécution de code externe avec %run12
      • Chronométrage de l'exécution avec %timeit13
      • Aide des fonctions magiques ?, %magic et %lsmagic13
      • Historique d'entrées et de sorties14
      • Les objets In et Out d'IPython14
      • Raccourcis à préfixe souligné et sorties précédentes15
      • Suppression d'une donnée de sortie16
      • Autres commandes magiques16
      • IPython et les commandes shell17
      • Une brève introduction au shell17
      • Commandes shell dans IPython18
      • Transmettre une valeur de et vers le shell19
      • Commandes magiques liées au shell20
      • Erreurs et débogage21
      • Contrôle des exceptions avec %xmode21
      • Débogage : si la trace d'exécution ne suffit pas23
      • Profilage et chronométrage d'exécution25
      • Chronométrage d'un bloc de code : %time et %timeit26
      • Profilage d'un script entier avec %prun28
      • Profilage ligne par ligne avec %lprun28
      • Profilage de l'occupation mémoire avec %memit et %mprun29
      • Autres ressources IPython31
      • Ressources Web31
      • Livres imprimés31
      • 2. Introduction à NumPy33
      • 2.1 : Les types de données Python34
      • Un entier Python est plus qu'un entier35
      • Une liste Python n'est pas qu'une simple liste37
      • Tableaux Python à type fixe ou unique38
      • Création d'un tableau depuis une liste Python39
      • Création d'un tableau avec valeurs initiales39
      • Types de données NumPy standard40
      • 2.2 : Fondamentaux des tableaux NumPy42
      • Accès aux attributs d'un tableau NumPy42
      • Index de tableaux et accès à un élément43
      • Tranchage d'un tableau pour accéder à un sous-tableau44
      • Reformage d'un tableau (reshape)47
      • Concaténation et partage de tableau48
      • 2.3 : Les fonctions universelles ufuncs50
      • Les boucles ou l'éloge de la lenteur50
      • Grands principes des ufuncs51
      • Découverte des ufuncs de NumPy52
      • Caractéristiques avancées des ufuncs56
      • Pour en savoir plus sur les ufuncs58
      • 2.4 : Agrégats min, max et intermédiaire58
      • Somme des valeurs d'un tableau59
      • Minimum et maximum59
      • Un exemple : taille moyenne des présidents des USA61
      • 2.5 : Calculs sur les tableaux : diffusion (broadcast)63
      • Présentation de la diffusion broadcasting63
      • Règles de diffusion65
      • La diffusion en pratique68
      • 2.6 : Comparaisons, masques et logique booléenne70
      • Un exemple : comptage des jours de pluie70
      • Les opérateurs de comparaison sous forme d'ufuncs71
      • Traitement d'un tableau booléen73
      • Tableaux booléens et masques75
      • 2.7 : Indexation fancy78
      • Découverte de l'indexation fancy78
      • Indexation combinée80
      • Exemple : sélection de points aléatoires81
      • Modification de valeurs par indexation fancy83
      • Exemple : répartition de données (binning)84
      • 2.8 : Tri de tableaux '86
      • Tri rapide dans NumPy avec np.sort et np.argsort87
      • Tri partiel et partitionnement88
      • Un exemple : les k plus proches voisins89
      • 2.9 : Données structurées : les tableaux structurés de NumPy93
      • Création d'un type de tableau structuré95
      • Types composites sophistiqués96
      • RecordArrays : tableaux structurés évolués97
      • 2.10 : En route vers Pandas98
      • 3. Manipulation de données avec Pandas99
      • 3.1 : Installer et utiliser Pandas100
      • 3.2 : Présentation des objets de Pandas101
      • L'objet Sériés de Pandas101
      • L'objet DataFrame de Pandas105
      • L'objet Index de Pandas108
      • 3.3 : Indexation et sélection de données110
      • Sélection de données dans Sériés111
      • Sélection de données et DataFrame114
      • 3.4 : Opérations sur les données Pandas119
      • Préservation des index avec les ufuncs119
      • Fonctions ufuncs et alignement d'index120
      • Opérations ufuncs entre DataFrame et Series123
      • 3.5 : Gestion des données manquantes124
      • Compromis conventionnels des données manquantes125
      • Données manquantes dans Pandas125
      • Opérations avec des valeurs milles129
      • 3.6 : Indexation hiérarchique134
      • Un objet Series à index multiple134
      • Méthode de création de MultiIndex138
      • Indexation et tranchage d'un MultiIndex142
      • Réorganisation d'un multi-index145
      • Agrégation de données sur multi-index148
      • 3.7 : Combinaison de jeux de données avec concat et append150
      • Un rappel sur la concaténation des tableaux NumPy151
      • Concaténation simple avec pd.concat()151
      • 3.8 : Combinaison de jeux de données avec merge et join157
      • Algèbre relationnelle158
      • Catégorie de jointures158
      • Spécification de la clé de fusion161
      • Arithmétique des ensembles et fusions165
      • Suffixes et conflits de noms de colonnes167
      • Exemple : données démographiques des USA168
      • 3.9 : Agrégations et groupements173
      • Données des exoplanètes174
      • Une agrégation simple dans Pandas174
      • GroupBy : Split-Apply-Combine176
      • 3.10 : Tableaux croisés dynamiques ou tableaux pivots186
      • Données de test des tableaux pivots187
      • Tableaux croisés manuels187
      • Syntaxe des tableaux croisés188
      • Tableaux croisés multiniveaux189
      • Un exemple : naissances au cours du temps190
      • 3.11 : Opérations vectorisées sur les chaînes196
      • Aperçu des opérations chaînes Pandas196
      • Liste des méthodes de chaînes Pandas198
      • 3.12 : Traitement des données temporelles202
      • Les dates et les heures dans Python203
      • Séries temporelles de Pandas : chrono-indexation207
      • Structures de données temporelles de Pandas208
      • Codes de fréquence et décalages210
      • Rééchantillonage, décalage et fenêtrage212
      • Pour en savoir plus218
      • Exemple : comptage des bicyclettes à Seattle219
      • 3.13 : Hautes performances Pandas avec eval() et query()225
      • query() et eval() pour les expressions composites226
      • Opérations efficaces avec pandas.eval()227
      • DataFrame.eval() pour les opérations par colonnes229
      • La méthode DataFrame.query()231
      • Domaine d'utilisation de ces fonctions231
      • 3.14 : Autres ressources232
      • Documentation en ligne de Pandas232
      • Analyse de données avec Python par Wes McKinney233
      • Stack Overflow233
      • Pandas sur PyVideo233
      • 4. Visualisation avec Matplotlib235
      • 4.1 : Techniques Matplotlib fondamentales236
      • Importation de Matplotlib236
      • Choix des styles236
      • Afficher les graphiques : avec ou sans show() ?237
      • Enregistrer une figure dans un fichier239
      • 4.2 : Deux interfaces pour le prix d'une240
      • Interface de style MATLAB241
      • Interface orientée objet242
      • 4.3 : Tracé de lignes simples242
      • Couleurs et styles de tracé des lignes245
      • Ajustement des limites d'axes d'un tracé247
      • Titres et labels de tracé249
      • 4.4 : Tracé en nuage de points251
      • Lignes pointillées avec plt.plot251
      • Ligne pointillée avec plt.scatter255
      • Performances de plot() et de scatter()257
      • 4.5 : Visualisation des erreurs257
      • Barre d'erreurs simple258
      • Plage d'erreurs continues259
      • 4.6 : Tracé de densités et de contours260
      • Affichage d'une fonction à trois dimensions260
      • 4.7 : Histogrammes, bins et densité264
      • Histogrammes en deux dimensions avec bins266
      • 4.8 : Personnalisation des légendes de tracé269
      • Choix des éléments à légender271
      • Légende des tailles de points272
      • Cartouches de légendes multiples274
      • 4.9 : Personnalisation des barres de couleurs275
      • Style des barres de couleurs276
      • Sélection d'une plage de couleurs277
      • Limites et extensions de couleurs279
      • Barres de couleurs discontinues280
      • Exemple : chiffres manuscrits281
      • 4.10 : Sous-tracés multiples283
      • Sous-tracé manuel avec plt.axes283
      • Une grille de sous-tracés avec plt.subplot()285
      • Tout un ensemble en une fois avec plt.subplots286
      • Arrangements sophistiqués avec plt.GridSpec287
      • 4.11 : Texte et annotations289
      • Un exemple : naissances aux USA et congés290
      • Transformations et positions du texte292
      • Flèches et annotations294
      • 4.12 : Personnalisation des graduations296
      • Graduations majeures et mineures296
      • Masquer les graduations ou les labels298
      • Contrôle de la densité des graduations299
      • Format de graduations personnalisé300
      • Liste de formateurs et de locateurs302
      • 4.13 : Configuration et feuilles de styles de Matplotlib303
      • Personnalisation manuelle303
      • Changement des valeurs par défaut avec rcParams305
      • Feuilles de styles307
      • 4.14 : Tracés Matplotlib en 3D312
      • Tracé de points et de lignes en trois dimensions313
      • Tracés de contours en trois dimensions314
      • Tracés de fils de fer et de surfaces316
      • Triangulation de surface318
      • 4.15 : Données géographiques avec Basemap321
      • Projections géographiques323
      • Projections cylindriques324
      • Projections pseudo-cylindriques325
      • Projections en perspective325
      • Projections coniques326
      • Tracé d'un fond de carte327
      • Ajoût des données sur une carte329
      • Exemple : villes de Californie330
      • Exemple : températures de surface332
      • 4.16 : Visualisation avec Seaborn334
      • Seaborn comparé à Matplotlib334
      • Découverte des tracés Seaborn336
      • Diagrammes en barres344
      • Exemple : résultat d'un marathon346
      • 4.17 : Autres ressources354
      • Ressources Matplotlib354
      • Autres librairies graphiques Python354
      • 5. Apprentissage machine355
      • 5.1 : L'apprentissage machine, c'est quoi ?356
      • Catégories d'apprentissage machine356
      • Exemples qualitatifs d'apprentissage machine357
      • Synthèse366
      • 5.2 : Présentation de Scikit-Learn367
      • Représentation des données dans Scikit-Learn367
      • API estimateur de Scikit-Learn370
      • Application pratique : reconnaissance de chiffres manuscrits379
      • Résumé384
      • 5.3 : Hyperparamètres et validation du modèle385
      • Le concept de validation de modèle385
      • Validation de modèle erronée385
      • Sélection du meilleur modèle389
      • Courbes d'apprentissage396
      • La validation en pratique : recherche en grille401
      • Résumé402
      • 5.4 : Ingénierie des caractéristiques403
      • Caractéristiques catégorielles403
      • Caractéristiques de type texte405
      • Caractéristiques graphiques d'image406
      • Caractéristiques dérivées406
      • Imputation des données manquantes409
      • Enchaînement de traitements avec un pipeline410
      • 5.5 : Classification bayésienne naïve410
      • La classification bayésienne411
      • Bayésien naïf gaussien412
      • Bayésien naïf multinomial415
      • Domaine d'emploi du bayésien naïf418
      • 5.6 : Régression linéaire419
      • Régression linéaire simple419
      • Régression par fonction de base422
      • Régularisation426
      • Exemple : prédiction d'un trafic de cyclistes430
      • 5.7 : Machines à vecteurs de support (SVM)435
      • Avantages des machines à vecteurs de support436
      • Machines à vecteurs de support et recherche d'une marge maximale437
      • Exemple : reconnaissance de visages446
      • Synthèse des machines SVM450
      • 5.8 : Arbres de décision et forêts aléatoires451
      • Des forêts aléatoires d'arbres de décision452
      • Forêts aléatoires et classification457
      • Forêts aléatoires et régression459
      • Exemple : forêt aléatoire pour classer des chiffres461
      • Conclusion sur les forêts aléatoires463
      • 5.9 : Analyse par composantes principales (PCA)464
      • Introduction à l'algorithme PCA464
      • PCA et filtrage du bruit472
      • Exemple : visages propres (eigenfaces)474
      • Synthèse de PCA477
      • 5.10 : Apprentissage par variété (manifold)478
      • Apprentissage par variété : « SALUT »479
      • Partitionnement multidimensionnel (MDS)480
      • MDS pour l'apprentissage par variété (manifold learning)482
      • Intégration linéaire : échec de MDS484
      • Variétés non linéaires : intégration à linéarité locale (LLE)486
      • Considération à propos des méthodes par variété488
      • Exemple : Isomap en reconnaissance de visages489
      • Exemple : affichage de la structure dans des chiffres manuscrits493
      • 5.11 : Groupements en k-moyennes496
      • Présentation des k-moyennes497
      • Algorithme en k-moyennes et Espérance-Maximisation499
      • Exemples505
      • 5.12 : Modèles de mélange gaussien (GMM)511
      • GMM contre les faiblesses des k-moyennes512
      • Généralisation E-M : modèles de mélange gaussien515
      • GMM et estimation de densité520
      • Exemple : GMM pour générer des données524
      • 5.13 : Estimation par noyau528
      • Raison d'être de KDE : histogrammes528
      • L'estimation de densité de noyau en pratique533
      • Exemple 1 : KDE sur une sphère535
      • Exemple 2 : un bayésien pas si naïf539
      • 5.14 : Histogrammes de gradients orientés (HOG)543
      • Principe des histogrammes de gradients orientés544
      • Un détecteur de visages simplifié avec HOG545
      • Mises en garde et pistes d'amélioration551
      • Autres ressources d'apprentissage machine552
      • L'apprentissage machine avec Python553
      • L'apprentissage machine en général553
      • Index555

  • Origine de la notice:
    • BPI
  • Disponible - 681.234 VAN

    Niveau 3 - Informatique