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
effectifs minimal / maximal:
/240Diplô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 20Littérale/grade réduitPour les étudiants du diplôme Titre d’Ingénieur diplômé de l’École polytechnique
Le rattrapage est autorisé (Note de rattrapage conservée)- 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)- 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)- Crédits ECTS acquis : 5 ECTS