v2.11.0 (5757)

Cours courts - INF442 : Algorithmes pour l'analyse de données en C++

Domaine > Informatique.

Descriptif

L'analyse de données moderne s'appuie sur des langages de haut niveau comme Python ou R pour la manipulation et le traitement des données. Toutefois, derrière les bibliothèques standard comme Scikit-Learn se cachent des implémentations dans des langages de bas niveau comme C ou C++ pour une exécution optimisée et une gestion efficace des ressources mémoire ou de calcul. D'où l'intérêt de ce cours, dont l'objectif est double : d'une part, se familiariser avec certaines des techniques standard d'analyse de donnéés et d'apprentissage machine ; d'autre part, acquérir une compétence en programmation C/C++ qui permette à terme aux élèves d'adapter les implémentations bas niveau existantes à leurs besoins spécifiques. A noter que les paradigmes de programmation abordés lors du cours sont quasi-exclusivement séquentiels, la programmation concurrente étant tout juste effleurée lors de la dernière séance et réservée pour d'autres cours.

 

Détail des séances (analyse de données / C++):

1. Introduction brève à l'analyse de données / C++ comme du C (1/2)

2. Recherche de plus proches voisins et extraction dans les bases de données / C++ comme du C (2/2)

3. k-means / structs et classes (1/2)

4. Clustering hiérarchique / structs et classes (2/2)

5. Estimation de densité / héritage

6. Classification et régression k-NN / généricité

7. Modèles linéaires pour la régression / STL

8. Modèles linéaires pour la classification / C++11

9. Extraction de features / -

10. Réseaux de neurones / multithreading

 

Références:

En analyse de données :

  • Hastie, Tibshirani, Friedman: The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). Springer, 2017.
  • Bishop: Pattern Recognition and Machine Learning. Springer, 2006.

En C++ :

  • Weiss: C++ for Java Programmers. Prentice Hall, 2003.
  • Stroustrup. The C++ Programming Language (4th ed.). Addison-Wesley, 2013.

 

Prérequis : INF371 ou INF411

Recommandés : MAP433 et INF421

10 blocs ou créneaux

effectifs minimal / maximal:

/240

Diplôme(s) concerné(s)

Parcours de rattachement

Pour les étudiants du diplôme Echanges PEI

Niveau requis en informatique : INF371 ou IN411 Cours recommandés : MAP433 et INF421

Pour les étudiants du diplôme Titre d’Ingénieur diplômé de l’École polytechnique

Vous devez avoir validé l'équation suivante : UE INF371 Ou UE INF411

Niveau requis en informatique : INF371 ou INF411 Cours recommandés : MAP433 et INF421

Format des notes

Numérique sur 20

Littérale/grade réduit

Pour les étudiants du diplôme Titre d’Ingénieur diplômé de l’École polytechnique

Le rattrapage est autorisé (Note de rattrapage conservée)
    L'UE est acquise si note finale transposée >= C
    • Crédits ECTS acquis : 5 ECTS

    Le coefficient de l'UE est : 10

    La note obtenue rentre dans le calcul de votre GPA.

    La note obtenue est classante.

    Pour les étudiants du diplôme Echanges PEI

    Le rattrapage est autorisé (Note de rattrapage conservée)
      L'UE est acquise si note finale transposée >= C
      • Crédits ECTS acquis : 5 ECTS

      Le coefficient de l'UE est : 10

      La note obtenue rentre dans le calcul de votre GPA.

      Pour les étudiants du diplôme Non Diplomant

      Le rattrapage est autorisé (Note de rattrapage conservée)
        L'UE est acquise si note finale transposée >= C
        • Crédits ECTS acquis : 5 ECTS
        Veuillez patienter