Giter Club home page Giter Club logo

module-sensibilisation's Introduction

Module-sensibilisation

Retrouvez ici les contenus à étudier en autonomie du module sensibilisation.


Planning de travail

  • 10 septembre 2020 : réunion de rentrée
  • Du 11 au 30 septembre 2020 : faire les paragraphes 1, 2 et 3.
  • Séance en présentiel le 1 octobre 2020 après-midi.
  • Du 2 octobre au 25 octobre 2020 : faire les paragraphes 4, 5 et 6.
  • Séance en présentiel le lundi 26 octobre (toute la journée), à distance mardi 27 octobre 2020 (matin) et mercredi 28 octobre (matin).

Les ressources pédagogiques offrent plusieurs niveaux de lecture ou d'utilisation afin d'être au mieux adaptées à un public hétérogène. Plus précisément il faut voir ce certificat comme une introduction à la Science des Données qui propose des pistes et références pour des approfondissements ultérieurs.

  1. Le premier niveau est constitué des documents de cours de base (format .pdf) ci-dessous présentant les grands principes des méthodes ainsi que de nombreux exemples d'utilisation. Ils suffisent à une compréhension générale.
  2. Ces documents pointent (liens hypertextes) vers des ressources de deuxième niveau ou d'approfondissement car intégrant les formulatons mathématiques des méthodes et algorithmes. Ces ressources sont celles du site collaboratif wikistat.
  3. Le troisième niveau, appliqué, est composé des tutoriels (calepins ou jupyter notebooks) explicitant le traitement élémentaire de données "jouet", les exemples illustrant les documents de cours et d'autres exemples sur des données réelles. Ils servent de base de travail durant les phases de présentiel.
  4. Un quatrième niveau est à rechercher avec d'autres exemples d'utilisation disponibles dans les dépôts: github-wikistat.

Environnement logiciel

Deux solutions sont possibles

  1. Utilisation élémentaire avec Google Colab
  2. Utilisation experte des notebooks d'un dépôt Github après installation de R et Python, puis chargement ou clônage du dépôt.

Attention l'utilisation de Google Colab nécessite une connexion internet correcte contrairement à une exécution en locale une fois le dépôt Github chargé ou clôné. De plus les fichiers de données sont nécessairement chargés sur internet pour chaque tutoriel.

1 Solution élémentaire avec Google Colab

  • Une seule fois:
    • Installer puis exécuter le navigateur Chrome
    • Ajouter à Chrome l'extension "open notebook in google colab"
  • Pour chaque tutoriel
    • Lancer Chrome
    • Se connecter avec son compte Gmail
    • Ouvrir l'URL de Google Colab
    • Ouvrir dans Chrome le tutoriel ou notebook du dépôt à exécuter à partir de son URL
    • Cliquer sur l’icône d*"open notebook in google colab"*
    • Suivre le tutoriel en exécutant chaque cellule

2 Solution experte avec installations des logiciels

Pour les parties 1. Introduction à R, 2. Eléments d'analyse statistique de données et 3. Modélisation statistique, il faut installer le logiciel R. Il s'installe à partir du lien R-project en choisissant la version qui correspond au système d’exploitation de la machine de l’utilisateur (Windows, ios, Linux). L’interface conseillée pour l’utilisation de R s’appelle RStudio Desktop en choisissant la version Open Source License.

Pour les parties suivantes, l'installation de Python 3 est requise pour la bonne exécution des tutoriels. Le plus simple est de l'installer à partir de la distribution Anaconda. R nécessite également l'installation du noyau IRkernel.

Pour exécuter les tutoriels, il suffit de cloner ce dépôt, si vous avez un compte (gratuit) et les compétences nécessaires GitHub, ou encore, plus simplement, de télécharger l'archive puis de la dézipper. Lancer enfin jupyter notebook dans une fenêtre de commande. Le navigateur par défaut ouvre une fenêtre. Dans cette fenêtre, se déplacer dans le bon répertoire chargé ou clôné, puis ouvrir les différents calepins (fichiers d'extension.ipynb). L'exécution de chaque cellule d'un calepin est obtenue en cliquant sur le bouton run.

L'installation de certains paquets requis pour exécuter les codes peut causer des problèmes dans Windows, il est donc fortement recommandé de créer une partition Linux ou une machine virtuelle, ou autrement d'utiliser Colab... si ça coince trop...

Les sections 1, 2 et 3 du module de sensibilisation portent sur des connaissances de base en analyse statistique de données, que d’aucuns auront sans doute abordées durant leurs études. Elles se clôtureront par une séance d’une demi-journée en présentiel, durant laquelle les notions acquises seront revisitées sur la base d’un jeu de questions-réponses entre les élèves de la classe et les enseignants, en s’appuyant sur les travaux personnels proposés dans ces sections.

1 Introduction à R pour le calcul statistique

A faire sur la période du 11/09 au 30/09

Le langage de programmation R est un langage reconnu pour l’analyse statistique de données, massives ou non. L’acquisition de compétences dans l’utilisation de R est aujourd’hui un atout professionnel pour ceux qui le maîtrisent.

1.1 Documents de base à consulter en autonomie

1.2 Travail personnel demandé

L’exercice que vous soumettrez au terme de ce module, par trinôme, vous permettra d’acquérir des compétences en langage R. Vous êtes invité à contacter vos enseignants ([email protected] et [email protected] ou via Slack) pour vous aider dans la réalisation de ce travail. L’exercice porte sur la manipulation de variables aléatoires et leurs distributions statistiques, un des socles de l’analyse statistique de données.

Soit X1 et X2 deux variables aléatoires indépendantes qui suivent une loi normale ou bien une loi uniforme, au choix. Écrivez en langage R les 6 fonctions (p, d, q, r, e et v)CertificatBigData, dans un même script R, qui permettent de calculer la fonction de répartition CDF (pour Cumulative Distribution Function), la fonction densité de probabilité PDF (pour Probability Density Function), les quartiles, la génération de nombres aléatoires, la moyenne et la variance des variables Y = X1+X2, Z = X1×X2 et Z = X1÷X2. Les dites fonctions produiront, selon le choix de l’utilisateur, les graphes pertinents qui permettent de visualiser les résultats attendus de ces 6 fonctions.

Au terme de cet exercice, vous répondrez grâce à votre code de calcul à la question suivante : quelle est la distribution statistique de la somme de 2 variables aléatoires uniformes ? La réponse à cette question sera discutée durant la séance en présentiel associée à ce module du certificat.

Le rendu de ce module est donc un code intitulé NOM1_NOM2_NOM3.R, du nom des membres du trinôme, avec les 6 fonctions suivantes :

  • pCertificatBigData()
  • dCertificatBigData()
  • qCertificatBigData()
  • rCertificatBigData()
  • eCertificatBigData()
  • vCertificatBigData()

Chaque fonction sera richement commentée. En particulier, la signature de chaque fonction devra indiquer :

  • Les noms des auteurs
  • La date
  • La liste des arguments d’entrée et de sortie des fonctions, avec des valeurs par défaut des arguments d’entrée si elles se justifient.
  • Un ou plusieurs exemples d’appel
  • Le lien, optionnel, vers l’application Shiny associée (voir ci-après).

Pour celles et ceux qui veulent s’amuser, il vous est proposé en option au travail demandé de produire une version accessible et interactive de votre code depuis un navigateur web, via un ordinateur ou un téléphone. Pour ce faire, vous utiliserez le package « shiny » (voir https://www.r-bloggers.com/building-shiny-apps-an-interactive-tutorial/). Un exemple très basique de ce que vous avez à faire se trouve à l’adresse suivante https://flbourgeois.shinyapps.io/Exo_Introduction_R/. Notez qu’il s’agit d’un exemple illustratif, très basique, qui ne traite d’ailleurs que le cas de 2 variables normales. Vous pouvez faire beaucoup mieux !

Le projet doit être soumis via Moodle

2 Éléments d’analyse statistique de données

A faire sur la période du 11/09 au 30/09

Cette section vous permettra d’acquérir les notions élémentaires de l’analyse statistique de données. Elles sont la base des méthodes d’inférence et de modélisation mises en œuvre dans la suite.

2.1. Documents de base à consulter en autonomie sur wikistat.fr

2.2. Travail personnel demandé

Le travail attendu est un travail personnel d’autoévaluation de votre maîtrise des concepts et méthodes d’analyse statistique étudiées dans les documents de base, en les appliquant au jeu de données du pic d’ozone de la ville de Rennes. Vous êtes invités à consulter le tutoriel en R sur lequel vous pourrez aussi récupérer le jeu de données. Vous trouverez ci-après, sans caractère limitatif, une liste de thèmes auxquels vous pouvez réfléchir en y apportant une ou plusieurs réponses basées sur les concepts étudiés dans cette section, comme par exemple:

  • Décrire (type de données, moyenne, variance, moments,...) et tracer la distribution statistique des variables;
  • Tester la normalité des variables;
  • Calculer l’incertitude de la moyenne et de l’écart-type des variables;
  • Analyser la corrélation entre 2 variables;
  • Tester la nullité du coefficient de corrélation linéaire ;
  • ...

Toutes ces études feront l’objet d’une restitution en groupe lors de la séance en ligne du 1er octobre et de discussions lors des séances hors présentiel (contactez alors les enseignants [email protected] et [email protected] ou via Slack).

3 Modélisation statistique

A faire sur la période du 11/09 au 30/09

Cette section vous permettra d’acquérir et de mettre en œuvre 2 méthodes de régression couramment utilisées dans l’analyse de données massives : la régression linéaire multiple et la régression logistique.

3.1. Documents de base à consulter en autonomie wikistat.fr

3.2. Travail personnel demandé

Le travail attendu est un travail personnel d’autoévaluation de votre maîtrise de la régression linéaire multiple et de la régression logistique, en les appliquant à la prédiction du pic d’ozone de la ville de Rennes. Vous pouvez également utiliser des données plus « locales », issues de http://data-atmo-occitanie.opendata.arcgis.com/datasets (données de la qualité de l’air en Occitanie) et/ou de https://data.toulouse-metropole.fr/pages/accueil/ (données publiques Toulouse Métropole, notamment données météo). Vous trouverez ci-après, sans caractère limitatif, une liste de sujets auxquels vous êtes invité à réfléchir en y apportant une ou plusieurs réponses basées sur les concepts étudiés dans cette section :

  • Calculer les paramètres des modèles de régression (linéaire multiple et logistique) liant la variable pic d’ozone aux autres variables explicatives;
  • Calculer l’intervalle de confiance de ces paramètres;
  • Tester la significativité des paramètres;
  • Examiner la qualité des modèles de régression, en ajustement et en prédiction;
  • Quelles sont les incertitudes associées à la prédiction ?;
  • Quel est le « bon » modèle à choisir : nombre de paramètres, valeurs des paramètres,... ?;
  • ...

Vous pouvez également nous soumettre ce travail ([email protected] et [email protected] ou via Moodle), sous la forme d’un notebook R ou d’une application Shiny pour information et retour, si besoin.


4 Introduction à Python

A faire sur la période du 2/10 au 25/10

Python et ses librairies produisent moins de résultat utiles que R à l'interprétation statistique mais fournissent des codes généralement plus efficaces pour aborder le traitement de données massives.

Des tutoriels proposent une introduction à Python et une sélection des commandes utiles au statisticien et / ou data scientist.

Une connaissance experte de Python n'est pas indispensbale au suivi de ce module; ces tutoriels peuvent être sautés en première lecture.

5 Exploration Multidimensionnelle

A faire sur la période du 2/10 au 25/10

Le choix a été fait de mettre plus particulièrement l'accent sur des exemples d'application issus du monde industriel (données physiques quantitatives) plutôt que des applications (données qualitatives) de type sondage, marketing ou fouille de textes... Comme écrit plus haut, l'introduction à d'autres méthodes et d'autres exemples d'application sont à rechercher dans les ressources des autres niveaux (2 et 4) d'approfondissement.

5.1 Documents de base à consulter en autonomie

  • Introduction: De la statistique à la Science des Données en passant par la fouille de données (Data Mining).
  • Exploration en grande dimension avec l'analyse en composantes Principales (ACP), l'analyse factorielle discriminante (AFD); classification non supervisée (clustering) avec k-means.

5.2 Tutoriels à réaliser en automnomie

Télécharger l'ensemble de l'archive du dépôt ou cloner le dépôt si vous avez déjà un compte GitHub pour exécuter les tutoriels.

Réaliser ces tutoriels en autonomie:

  1. Intro-ACP-AFD
  2. Adaptation statistique et prévision de la concentration en ozone. Traiter la première partie: Exploration.
  3. Segmentation d'image et cartographie de la surface de Mars.

Travail personnel demandé: Préparer les réponses aux questions Q qui jalonnent chaque tutoriel.

5.3 Présentiel le lundi 26 octobre 2020 matin

  • Revue des points délicats du cours et des questions soulevées dans les tutoriels

  • Tutoriel fil rouge: Reconnaissance d'activité à partir des enregistrements d'un smartphone. Traiter la première partie: Exploration.

D'autres exemples sont disponibles dans le dépôt github - wikistat - Exploration.

6 Principes de l'Apprentissage Statistique

A faire sur la période du 2/10 au 25/10

6.1 Document de base à consulter en autonomie

6.2 Tutoriels à réaliser en autonomie

Travail personnel demandé: Préparer les réponses aux questions Q qui jalonnent chaque tutoriel.

6.3 Présentiel le lundi 26 octobre 2020 après midi

  • Revue des points délicats du cours et des questions soulevées dans les tutoriels

  • Tutoriel fil rouge: Reconnaissance d'activité à partir des enregistrements d'un smartphone. Deuxième partie: Apprentissage et Reconnaissance.

D'autres exemples sont disponibles dans le dépôt github-wikistat-Apprentissage.

7 Optimisation

Le cours est disponible dans le fichier Documents Optimisation

Le TP est disponible dans le fichier Calepins - c'est un jupyter notebook TP Optimisation

Séance en ligne le mardi 27 octobre 2020, matin.

8 Techniques de virtualisation et containerisation, les plateformes cloud

Cours et séance de TP le 28 octobre. Aucun travail personnel est demandé.

Séance en ligne le mercredi 28 octobre 2020, matin.

9 Projet de fin de module

module-sensibilisation's People

Contributors

toulousetech avatar philbesse avatar ericcietti avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.