mercredi 14 février 2018

Algorithmes d'échantillonnage

La volumétrie est un des enjeux clés du big data analytics. Des technologies spécifiques sont développées à cet effet. Mais d’autres stratégies existent. L’échantillonnage en est une. Dans le cadre de l’apprentissage supervisé par exemple, l’idée serait de modéliser à partir d’une fraction des données, choisies plus ou moins judicieusement, tout en s’assurant un niveau de performances équivalent au modèle qui aurait été élaboré à partir de la totalité des observations.

Mais avant d’en arriver à ce stade, il faut déjà pouvoir extraire l’échantillon à partir des données initiales. Ce support présente différents algorithmes permettant de traiter un fichier texte CSV (comma-separated value) de grande taille en accès séquentiel qu’il n’est pas possible de charger entièrement en mémoire vive. Deux grandes variantes sont explicitées : la première, plus simple, suppose connue la taille de la base initiale ; la seconde, nécessitant le chargement en mémoire de l’échantillon ou l’utilisation d’une structure intermédiaire autorisant un accès indexé, traite des fichiers où le nombre de lignes n’est pas connu à l’avance.

Des exemples de codes sources en R et Python permettent d’illustrer concrètement les solutions.

Mots-clés : échantillon, méthode de sélection rejet, reservoir sampling, fichier CSV, fichier texte avec séparateur tabulation, modélisation prédictive, logiciel R, python
Support de cours : Algorithmes d'échantillonnage
Références :
Wikipedia, "Reservoir sampling".