Analyse de données

Python et data science

Introduction

Ce cours est à destination des élèves de 3A MAM de Polytech Lyon dans le cadre du module Analyse de données. Il a pour principal objectif d’introduire les élèves à la Data Science, une discipline scientifique très large à la frontière des mathématiques, de la statistique et de l’informatique. Ce cours vise a un apprentissage pratique de la démarche scientifique rigoureuse à adopter face à des données, les problèmes rencontrés et les solutions disponibles pour essayer de les dépasser. Pour ce faire nous nous concentrerons sur l’apprentissage de l’outil (pratiquement) indispensable pour résoudre ces problèmes, le langage Python.

En soit Python n’est qu’un prétexte et un outil, si demain pour une raison X ou Y, Python n’est plus utilisé (très improbable), ce cours devrait vous permettre d’apprendre à avoir les bons réflexes quand on est confronté à un jeu de données.

Ce cours est une actualisation du cours Patrice Mazel, grandement inspiré (notamment la première partie) par le cours Python pour la data science (Galiana, 2023) et du livre (McKinney, 2012), principal auteur de la library pandas.

Pourquoi utiliser Python ?

Python est un langage de programmation simple, puissant et polyvalent. Sa syntaxe claire et lisible ainsi que sa documentation de qualité en fait un excellent choix aussi bien pour les débutants que pour les développeurs expérimentés. De plus, python est plutôt simple à associer à des langages plus performants (C++/CUDA).

Pour ces raisons, Python a su agréger une comunauté hétérogène, allant de lycéens à des chercheurs de haut niveau, travaillant sur une grande varieté de sujets aussi bien théoriques que pratiques.

Ce succès est difficilement explicable sans parler de l’émergence de la Data Science et des metiers associés, apparus dans les années 2010. Les data scientist, responsable de l’exploitation de données pour en tirer de la valeur (prédictions, analyses, recommandations) ont besoin de communiquer facilement avec les differents profils interdépendants que sont les data engineer et ML engineer.

Plan du cours

La première partie de ce cours se concentre sur ce qu’on appelle aujourd’hui le “feature engineering” (aussi parfois nommé “data munging”). Cette partie Manipulation, servira de fondement pour le reste du cours, elle se concentrera sur la récupération, la structuration, l’exploration et la mise en relation de donnée. Souvent négligé, ces étapes constituent une part importante et indispendable du temps de travail d’un data scientist. Le principal outil utilisé sera la library Pandas.

La deuxième partie, Visualisation, est consacrée à la création de graphiques et de visuels afin de synthétiser nos données après les avoir nettoyés et mise en forme. Relativement introductive, cette partie se concentrera sur l’apprentissage des librairies matplotlib et seaborn.

La troisième partie, Modélisation, a pour obectif au travers d’un exemple d’illustrer la dermarche scientifique, les choix methodologique et techniques nécessaires pour l’étude d’un jeux de donnée. Ce chapitre sera aussi une introduction à certains concepts appartennant au champs du Machine Learning.

Vous trouverez aussi dans la partie Intro Python un ensemble d’exercices facultatifs, permettant de prendre en main (ou réviser) les bases du langage.

References

2023

  1. Python pour la data science
    Lino Galiana
    2023

2012

  1. Python for data analysis: Data wrangling with Pandas, NumPy, and IPython
    Wes McKinney
    2012