Contexte

Data.gouv.fr (DGF) contient des milliers de ressources de type CSV. Déterminer à la main quels sont les ressources qui pourront être utiles pour faire des explications/tutoriels en Machine Learning (ML) avec des données ouvertes semble une tache monumentale. En outre, pouvoir utiliser des données ouvertes présente une grande opportunité pour familiariser les utilisateurs avec la démarche open data et au même temps promouvoir les réutilisations de ces données.

Méthodologie

Afin d’éventuellement accélérer le processus de sélection des datasets pertinents pour le ML, dans ce dataset nous présentons pour chacun de 5479 fichiers CSV analysés (catalogués dans data.gouv.fr), une liste des modèles entraînés sur chacune des variables catégorielles détectées dans chaque CSV. Pour l'instant on se concentre que sur des modèles de classification supervisée. Brièvement, l'analyse consiste en détecter les colonnes catégorielles de chaque dataset, tester plusieurs modèles de classification en ayant chaque une de ces colonnes comme variable à expliquer. Finalement, nous sauvegardons les détails de chaque modèle testé ainsi que ses résultats en termes de performance.

Pour chaque CSV:
    Déterminer les colonnes catégorielles ;
    Pour chaque variable catégorielle (ou colonnes catégorielles):
        a. Faire tourner un ensemble des modèles d'apprentissage de type "baseline" (GaussianNaiveBayes, LogisticRegression, DecisionTrees, ...) ;
        b. Récupérer les performances issues de la validation, basée sur des métriques de performance: (accuracy, recall_macro, precision_macro, f1_macro, roc_auc)
    Sauvegarder ces infos dans un CSV

Cette méthodologie est absolument basé sur la librairie dabl: The data analysis baseline library.

Output

Les CSVs de ce dataset sont organisés par producteur du dataset. Le nom de chaque fichier CSV suive le format id-dataset--id-ressource.csv.
Chaque CSV généré peut contenir ces colonnes :

csv_id: Id du dataset DGF suivi par l'Id de la ressource (separés par --) ;
task: Task ML (que classification pour l'instant) ;
algorithm: Nom de l’algorithme testé ainsi que ça configuration initiale ;
target_col : Noms de la colonne catégorielle testée ;
nb_features: Nombre des features utilisés dans le modèle ;
features_names: Noms des features utilisés ;
classes : Noms des classes prédites ;
nb_classes : Nombre des classes prédites ;
nb_lines: Nombre des lignes dans le dataset original ;
nb_samples: Nombre des lignes dans l’échantillon testé ;
date : Date de l'analyse ;
accuracy
recall_macro
precision_macro
f1_macro
average_precision
roc_auc
avg_scores : Moyenne des scores calculés ;

Code

Le code pour produire ce dataset se trouve sur.

TODO

  1. Lancer la même analyse pour la régression (avec des valeurs continus)
  2. Standardiser les colonnes de tout les CSV produits (le même entête pour tous les CSVs)
  3. Ajouter une variable qui affiche la corrélation entre les colonnes.

Ressources

Fichier principal

dabl-results-dgf.zip

Zip contenant les résultats de l'analyse avec Dabl.

Documentation

Ressources communautaires

Vous avez construit une base de données plus complète que celles présentées ici ? C'est le moment de la partager !

Réutilisations

Vous avez réutilisé ces données et publié un article, une infographie, ou une application ? C'est le moment de vous faire connaître ! Référencez votre travail en quelques clics et augmentez votre visibilité.

Discussions

Discussion entre l'organisation et la communauté à propos de ce jeu de données.