Le machine learning avec Python pour les nuls
John Paul Mueller
Luca Massaron
First Interactive
Introduction
XVII
A propos de ce livre
XVII
Quelques suppositions un peu folles
XVIII
Et maintenant
XIX
Livre 1 Le machine learning
Partie 1 Découvrir comment les machines apprennent
Chapitre 1 La véritable histoire de l'intelligence artificielle (IA)
5
Aller au-delà du battage publicitaire6
Le rêve de moutons électriques7
Comprendre l'histoire de l'IA et de l'apprentissage automatique8
Explorer ce que l'apprentissage automatique peut faire pour l'IA9
Considérer les objectifs de l'apprentissage automatique10
Définir les limites de l'apprentissage automatique en fonction du matériel10
Surmonter les fantasmes de l'IA12
Découvrir les utilisations à la mode de l'IA et de l'apprentissage automatique13
Considérer les vraies utilisations de l'IA et de l'apprentissage automatique14
Être utile, être banal16
À propos des relations entre IA et apprentissage automatique17
Considérer les spécifications de l'IA et de l'apprentissage automatique18
Définir la frontière entre art et ingénierie19
Chapitre 2 L'apprentissage à l'ère du big data
21
Définir le big data22
Considérer les sources de big data24
Créer une nouvelle source de données24
Utiliser des sources de données existantes27
Localiser des sources de données de test28
À propos du rôle des statistiques dans l'apprentissage automatique28
Comprendre le rôle des algorithmes30
Définir ce que font les algorithmes30
Considérer les cinq techniques principales30
Définir ce que signifie l'entraînement33
Chapitre 3 Jeter un regard vers l'avenir
35
Créer des technologies utiles pour le futur36
Considérer le rôle de l'apprentissage automatique dans le domaine des robots37
Utiliser l'apprentissage automatique dans le domaine de la santé38
Créer des systèmes intelligents pour différents besoins38
Utiliser l'apprentissage automatique en milieu industriel39
Comprendre le rôle des processeurs et d'autres matériels40
Découvrir les nouvelles possibilités d'emploi grâce à l'apprentissage automatique41
Travailler pour une machine41
Travailler avec des machines42
Réparer des machines43
Créer de nouvelles tâches d'apprentissage automatique44
Concevoir de nouveaux environnements d'apprentissage automatique44
Eviter les pièges potentiels des technologies du futur45
Partie 2 Préparer vos outils pour l'apprentissage automatique
Chapitre 4 Installer une distribution R
51
Choisir une distribution R avec l'apprentissage automatique en tête52
Installer R sous Windows53
Installer R sous Linux62
Installer R sous Mac OS X/macOS64
Télécharger les jeux de données et le code des exemples66
Comprendre les jeux de données utilisés dans ce livre67
Définir le dépôt du code68
Chapitre 5 Coder en R à l'aide de RStudio
71
Comprendre les types de données de base72
Travailler avec les vecteurs74
Organiser des données à l'aide de listes75
Travailler avec des matrices76
Créer une matrice de base76
Modifier la disposition des vecteurs78
Accéder aux éléments individuels78
Nommer les lignes et les colonnes79
Des dimensions multiples à l'aide des tableaux80
Créer un tableau de base80
Nommer les lignes et les colonnes81
Créer un data frame83
Comprendre les facteurs83
Créer un data frame de base85
Interagir avec les data frames87
Développer un data frame88
Exécution de tâches statistiques de base90
Prendre des décisions90
Travailler avec des boucles92
Exécuter des tâches en boucle sans boucles94
Travailler avec les fonctions94
Trouver la moyenne et la médiane95
Tracer un graphique à partir de vos données97
Chapitre 6 Installer une distribution Python
99
Choisir une distribution Python avec l'apprentissage automatique en tête101
Obtenir Continuum Analytics Anaconda101
Obtenir Canopy Express103
Obtenir pythonxy103
Obtenir WmPython104
Installer Python sous Linux104
Installer Python sous Mac OS X/macOS105
Installer Python sous Windows107
Télécharger les jeux de données et le code des exemples111
Utiliser Jupyter Notebook112
Définir le dépôt du code114
Comprendre les jeux de données utilisés dans ce livre120
Chapitre 7 Coder en Python avec Anaconda
123
Travailler avec les nombres et la logique124
Effectuer des affectations dans des variables126
Faire des calculs arithmétiques127
Comparer des données à l'aide d'expressions booléennes128
Créer et utiliser des chaînes de caractères132
Interagir avec les dates133
Créer et utiliser des fonctions134
Créer des fonctions réutilisables135
Appeler des fonctions136
Travailler avec des variables globales et locales139
Utiliser des instructionsconditionnelles et des boucles140
Prendre des décisions à l'aide de l'instruction if140
Choisir entre plusieurs options à l'aide de décisions imbriquées141
Exécuter des tâches répétitives en utilisant for142
Utiliser l'instruction while143
Stocker des données à l'aide d'ensembles, de listes et de tuples144
Créer des ensembles144
Effectuer des opérations sur les ensembles145
Créer des listes146
Créer et utiliser des tuples148
Définir des itérateurs utiles149
Indexer des données à l'aide de dictionnaires151
Stocker du code dans des modules151
Chapitre 8 Explorer d'autres outils d'apprentissage automatique
155
À la rencontre des précurseurs : SAS, Stata et SPSS156
Apprendre avec Weka159
Accéder facilement à des algorithmes complexes à l'aide de LIBSVM160
Courir aussi vite que la lumière avec Vowpal Wabbit161
Visualiser avec Knime et RapidMiner162
Traiter des données massives à l'aide de Spark163
Partie 3 Débuter avec les bases mathématiques de l'apprentissage automatique
Chapitre 9 Démystifier les mathématiques derrière l'apprentissage automatique
167
Travailler avec des données168
Créer une matrice170
Comprendre les opérations de base173
Effectuer une multiplication matricielle173
Un mot sur les opérations matricielles avancées176
Utiliser efficacement la vectorisation177
Explorer le monde des probabilités180
Travailler avec les probabilités181
Améliorer le hasard avec le théorème de Bayes182
Décrire l'utilisation des statistiques186
Chapitre 10 Descendre la bonne courbe
189
Interpréter l'apprentissage en termes d'optimisation190
Apprentissage supervisé190
Apprentissage non supervisé191
Apprentissage par renforcement191
Le processus d'apprentissage192
Explorer les fonctions de coûts196
Descendre la courbe d'erreur198
Mise à jour par mini-lot et en ligne200
Chapitre 11 Valider l'apprentissage automatique
207
Vérifier les erreurs d'échantillonnage208
Rechercher la généralisation209
Apprendre à connaître les limites des biais211
Garder à l'esprit la complexité du modèle214
Conserver des solutions équilibrées215
Représenter des courbes d'apprentissage217
Entraînement, validation et test219
Recourir à la validation croisée220
À la recherche de solutions de rechange pour la validation222
Optimiser les choix de la validation croisée224
Explorer l'espace des hyperparamètres225
Éviter les biais d'échantillonnage et les pièges de fuite des données227
Attention au snooping !228
Chapitre 12 Débuter avec des apprenants simples
231
Découvrir l'incroyable Perceptron232
À deux pas du miracle ?232
Toucher aux limites de la non-séparabilité235
Cultiver des arbres de classification gloutons237
Prévoir les résultats en partageant les données237
Apprendre à élaguer les arbres242
Prendre un virage probabiliste243
Comprendre le bayésien naïf244
Estimer la réponse avec l'algorithme bayésien naïf247
Partie 4 Apprendre du big data (avec intelligence)
Chapitre 13 Prétraiter les données
255
Collecter et nettoyer les données256
Réparer les données manquantes257
Identifier les données manquantes258
Choisir la bonne stratégie de remplacement259
Transformer les distributions263
Créer vos propres caractéristiques265
Comprendre la nécessité de créer des caractéristiques265
Créer automatiquement des caractéristiques266
Compresser les données268
Délimiter les données anomales271
Chapitre 14 Tirer parti de la similarité
277
Mesurer la similarité entre vecteurs278
Comprendre la similarité278
Calcul des distances pour l'apprentissage279
Utiliser des distances pour localiser les clusters281
Vérifier les hypothèses et les attentes282
Inspecter les engrenages de l'algorithme284
Ajuster l'algorithme des K-moyennes286
Expérimenter la fiabilité des K-moyennes287
Expérimenter la convergence des centroïdes290
Rechercher une classification avec les K-plus proches voisins293
Exploiter le paramètre K correct294
Comprendre le paramètre k294
Expérimenter avec un algorithme flexible296
Chapitre 15 Travailler avec des modèles linéaires, la méthode facile
301
Commencer à combiner des variables302
Mélanger des variables de différents types309
Passer aux probabilités313
Spécifier une réponse binaire313
Gérer plusieurs classes316
Deviner les bonnes caractéristiques317
Le cas des caractéristiques qui ne fonctionnent pas ensemble317
Résoudre le problème du surapprentissage en utilisant la sélection318
Apprendre à raison d'un échantillonnage à la fois320
Utiliser la descente de gradient321
Comprendre en quoi SGD est différent322
Chapitre 16 Un monde de complexité avec les réseaux de neurones
327
Apprendre de la nature et l'imiter328
Aller de l'avant avec le feed-forward329
Aller encore plus loin dans le terrier du lapin332
Revenir en arrière avec la rétropropagation336
Lutter contre le surapprentissage339
Comprendre le problème340
Ouvrir la boîte noire341
Introduction au deep learning344
Chapitre 17 Aller plus loin avec les machines à vecteurs de support
347
Revisiter le problème de la séparation : une nouvelle approche348
Explication de l'algorithme349
Les SVM et les mathématiques qui les sous-tendent352
Éviter les pièges de l'inséparabilité353
Appliquer la non-linéarité355
Démonstration de l'astuce du noyau par l'exemple357
Découvrir les différents noyaux358
Illustrer les hyperparamètres360
Classifier et estimer avec SVM362
Chapitre 18 Recourir à des ensembles d'apprenants
367
S'appuyer sur les arbres de décision368
Cultiver une forêt d'arbres370
Comprendre les métriques d'importance375
Travailler avec des suppositions presque aléatoires378
Prédicteurs de bagging avec Adaboost379
Booster les prédicteurs382
Nouvelle rencontre avec la descente de gradient383
Faire la moyenne de différents prédicteurs384
Livre 2 Python
Partie 1 Débuter avec Python
Chapitre 13 Parler à votre ordinateur
391
Comprendre pourquoi vous voulez parler à votre ordinateur391
Oui, une application est une forme de communication393
Des procédures pour tous les jours394
Écrire des procédures395
Les applications sont des procédures comme les autres395
Comprendre que les ordinateurs font les choses à la lettre396
Définir ce qu'est une application396
Comprendre que les ordinateurs utilisent un langage spécial396
Aider les humains à parler à l'ordinateur397
Comprendre pourquoi Python est si cool399
Quelques bonnes raisons de choisir Python400
Quelles organisations utilisent Python ?402
Trouver des applications Python utiles403
Comparer Python avec d'autres langages404
Chapitre 2 Obtenir votre propre copie de Python
407
Télécharger la version dont vous avez besoin407
Installer Python410
Travailler avec Windows410
Travailler avec le Mac413
Travailler avec Linux415
Accéder à Python sur votre machine419
Utiliser Windows419
Utiliser le Mac422
Utiliser Linux424
Tester votre installation424
Chapitre 3 Interagir avec Python
427
Ouvrir la ligne de commandes427
Lancer Python428
Maîtriser la ligne de commandes429
Tirer profit des variables d'environnement Python432
Taper une commande434
Dire à l'ordinateur ce qu'il doit faire434
Dire à l'ordinateur que vous avez terminé435
Voir les résultats435
Obtenir de l'aide de Python436
Utiliser l'aide directe437
Demander de l'aide438
Quitter l'aide441
Obtenir de l'aide directement441
Refermer la ligne de commandes444
Chapitre 4 Écrire votre première application
447
Comprendre l'environnement de développement intégré (IDLE)448
Lancer IDLE449
Utiliser des commandes standard450
Comprendre le codage des couleurs450
Obtenir de l'aide d'IDLE451
Configurer IDLE452
Créer l'application457
Ouvrir une nouvelle fenêtre457
Taper les commandes458
Sauvegarder le fichier460
Exécuter l'application460
Comprendre l'utilisation des indentations462
Ajouter des commentaires464
Comprendre les commentaires465
Utiliser des commentaires comme aide-mémoire466
Utiliser des commentaires pour empêcher du code de s'exécuter466
Charger et exécuter des applications existantes469
Utiliser l'Invite de commandes ou une fenêtre de terminal469
Utiliser la fenêtre d'édition470
Utiliser Python en mode Shell ou Ligne de commandes470
Refermer IDLE471
Partie 2 Apprendre la langue de Python
Chapitre 5 Enregistrer et modifier des informations
475
Enregistrer des informations475
Considérer les variables comme des boîtes de rangement476
Utiliser la bonne boîte pour enregistrer les bonnes données476
Python et ses principaux types de données477
Placer des informations dans des variables477
Comprendre les types numériques478
Comprendre les valeurs booléennes483
Comprendre les chaînes de caractères484
Travailler avec des dates et des heures485
Chapitre 6 Gérer l'information
489
Contrôler la manière dont Python voit les données490
Faire des comparaisons490
Comprendre comment les ordinateurs effectuent des comparaisons491
Travailler avec les opérateurs491
Définir les opérateurs493
Comprendre l'ordre de priorité des opérateurs499
Créer et utiliser des fonctions500
Voir les fonctions comme des boîtes de rangement pour le code500
Comprendre la réutilisabilité du code501
Définir une fonction502
Accéder aux fonctions504
Transmettre des informations aux fonctions504
Créer des fonctions avec un nombre variable d'arguments508
Renvoyer des informations depuis une fonction510
Comparer les sorties de fonctions511
Interagir avec l'utilisateur512
Chapitre 7 Prendre des décisions
515
Prendre des décisions simples avec l'instruction if516
Comprendre l'instruction if516
Utiliser l'instruction if dans une application517
Choisir entre plusieurs alternatives avec l'instruction if...else523
Comprendre l'instruction if...else523
Utiliser l'instruction if...else dans une application523
Utiliser l'instruction if...elif dans une application524
Utiliser des décisions imbriquées528
Utiliser des instructions if ou if...else multiples528
Combiner d'autres types de décisions530
Chapitre 8 Effectuer des tâches répétitives
533
Traiter des données en utilisant l'instruction for534
Comprendre l'instruction for534
Créer une boucle for simple535
Contrôler l'exécution avec l'instruction break535
Contrôler l'exécution avec l'instruction continue539
Contrôler l'exécution avec la clause pass540
Contrôler l'exécution avec la clause else541
Traiter des données avec l'instruction while544
Comprendre l'instruction while544
Utiliser l'instruction while dans une application546
Imbriquer des boucles547
Chapitre 9 Les erreurs ? Quelles erreurs ?
551
Savoir pourquoi Python ne vous comprend pas552
Prendre en considération les sources d'erreurs554
Erreurs surgissant à un moment spécifique554
Distinguer les types d'erreurs556
Intercepter les exceptions558
Gérer les exceptions de base558
Gérer des exceptions en allant du plus spécifique au moins spécifique571
Imbriquer des exceptions573
Lever des exceptions578
Lever des exceptions lors de conditions exceptionnelles578
Passer à l'appelant des informations sur une erreur579
Créer et utiliser des exceptions personnalisées580
Utiliser la clause finally582
Partie 3 Effectuer des tâches courantes
Chapitre 10 Interagir avec les modules
589
Créer des groupes de code590
Importer des modules591
Utiliser l'instruction import593
Utiliser l'instruction from...import594
Trouver des modules sur le disque597
Voir le contenu d'un module600
Utiliser la documentation des modules de Python604
Ouvrir l'application pydoc604
Utiliser les liens d'accès rapide606
Taper un terme à rechercher606
Voir les résultats608
Chapitre 11 Travailler avec les chaînes de caractères.
611
Comprendre que les chaînes sont différentes612
Définir une chaîne de caractères en utilisant des nombres612
Utiliser des caractères pour créer des chaînes613
Créer des chaînes comportant des caractères spéciaux615
Sélectionner des caractères individuels617
Trancher et couper les chaînes de caractères619
Localiser une valeur dans une chaîne623
Formater les chaînes de caractères625
Chapitre 12 Gérer des listes
631
Organiser les informations dans une application632
Définir une organisation à l'aide de listes632
Comprendre comment tes ordinateurs voient les listes633
Créer des listes635
Accéder aux listes637
Parcourir les listes639
Modifier des listes639
Faire des recherches dans les listes645
Trier des listes647
Travailler avec l'objet Counter649
Chapitre 13 Collecter toutes sortes de données
653
Comprendre les collections653
Travailler avec les tuples655
Travailler avec les dictionnaires658
Créer et utiliser un dictionnaire659
Remplacer l'instruction switch par un dictionnaire666
Créer des piles en utilisant des listes666
Travailler avec les files671
Travailler avec des deques673
Chapitre 14 Créer et utiliser des classes
677
Comprendre les classes678
Les classes et leurs composants679
Créer la définition d'une classe680
Les classes et leurs attributs intégrés681
Travailler avec les constructeurs686
Travailler avec les variables687
Utiliser des méthodes avec des listes d'arguments variables692
Surcharger les opérateurs693
Créer une classe696
Utiliser la classe dans une application697
Étendre des classes pour en créer de nouvelles699
Construire la classe enfant699
Tester ta classe dans une application701
Index Le machine learning
703
Index Python
711