Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Choose a more interpretable default granularity for histograms
Impact uniquement dans MHDiscretizerMODLHistogram::DiscretizeValues - application generale de la regle de Terell-Scott // Les histogrammes MODL sont optimaux. // Pour chaque variable numerique, on produit une serie d'histogrammes interpretables, par granularite croissante. // Le probleme est que l'histogramme interpretable le plus fin est parfois tres complexe, de type "herisson", // ce qui peut derouter un utilisateur non expert. Ce probleme se produit dans environ 20% des cas. // Plutot que de montrer par defaut l'histogramme interpretable le plus fin, on propose d'utiliser la // regle de Terell-Scott (cf. https://en.wikipedia.org/wiki/Histogram), avec un nombre de bins a (2 N)^1/3 // Ce choix permet d'avoir par defaut un histogramme a la fois fin et plus simple a interpreter: // - en evitant des choix trop heuristiques de type "regle du coude", ou nombre maximal de "peaks" // - pas trop parcimonieux (comme la regle de Sturges en log(N)) // - ne dependant pas des valeurs (comme la regle de Scott, qui utilise l'ecart type) // - tres simple a calculer // - avec une justification theorique, facile a defendre - sauf dans le cas des discretisation avec nombre d'intervalles raisonnable // La regle de Terell-Scott est pertinente pour eviter les histogrammes de type "herisson" comportant des // centaines, voire des milliers d'intervalles: cela ameliore vraiment le choix de la granularite par defaut. // Par contre, dans le cas des discretisation avec faible nombre d'intervalles, l'application de cette // regle aboutit parfois a un choix de granulatite trop grossiere, avec perte d'information // De facon heuristique, on choisit donc de ne pas appliquer la regle de Terell-Scott s'il y a moins // de 100 intervalles Deux jeux de test CICD de LearningTest\TestKhiops\Standard impactes: - TestKhiops/Standard/AdultU - TestKhiops/Standard/BugMPIWithErrors Plus une dizaine de jeux de test de LearningTest impactes: - TestKhiops/MissingValues/PreparationU - TestKhiops/MultiTables/AuslanSecondary - TestKhiops/Histograms/Adult - TestKhiops/Histograms/ChallengingHistograms - TestKhiops/Histograms/Criteo - TestKhiops/Histograms/LunarCrater - TestKhiops/Histograms/PredictionAgeMaxPartNumber - TestKhiops/HistogramsLimits/Cauchy - ... Resultats satisfaisants dans la vaste majorite des cas, mais parfois perte significative d'information (cf. TenNormals) Necessite d'etendre l'outil de visualisation pour explorer l'ensemble des granularites (fonctionnalite deja identifiee)
- Loading branch information