khiops icon indicating copy to clipboard operation
khiops copied to clipboard

difference in results with the presence of double quotes

Open n-voisine opened this issue 1 month ago • 2 comments

Soit 2 fichiers véhicule dont la différence est la présence de double quote sur les variables catégoriel ! après test on ne constate pas de différence de stat entre les fichiers.

Quand on fait une analyse supervisé avbec 500 variable contruites on constate qu’il y a des regle qui apparaisses dans un fichier et pas dans l’autre

Example : Median(Vehicles.PassengerNumber) where FixedObstacle not empty and PassengerNumber <= 0.5

Donc il se peut que le double quote impacte le générateur aléatoire de khiops et change les résultats finaux à la marges En générant des agrégats différents entre les 2 fichiers

n-voisine avatar Nov 03 '25 08:11 n-voisine

Ci-dessous, le scénario et les deux jeux fichiers Accidents.txt et Vehicles.txt (et leur variante _conversion), permettant de reproduire le bug. Effectivement, les agrégats générés sont légèrement différents, ce qui provient probablement de l’échantillonnage de la table secondaire en vue de créer les agrégats impliquant la règle TableSelection.

BUG.zip

Tests effectués:

  • transfert des fichiers de données dans leur deux variantes: les fichiers transférés sont identique, ce qui signifie que les valeurs chargées en mémoires sont les même dans les deux cas
  • résultat initial produit en V10, et reproduit en V11: à ne corriger que en V11

Pas de piste actuellement: il va falloir tracer la phase de collecte des partiles des valeurs des variables secondaires lors de la phase d’échantillonnage.

Gravité et urgence faibles.

marcboulle avatar Nov 03 '25 14:11 marcboulle

Confirmation de Nicolas, après mis en place de la trace: les échantillons de valeurs collectés pour la construction de variable diffèrent selon la source des données.

Données originales

KDSelectionOperandAnalyser::ComputeStats
Selection operand stats
Class    Count   Origin   Name
Vehicle 882       Attribute             PassengerNumber
Vehicle 882       Attribute             MobileObstacle
Selection operand analyser
Dictionary          Vehicle
Total entity number       0
Analysed entity number             0
Selection operands      2
               882       Selection operand         PassengerNumber
               Granularity        2
                              0            ]-inf,0.5]
                              1            ]0.5,+inf[
               Granularity        256
                              254       ]0.5,8.5]
                              255       ]8.5,+inf[
               Granularity        512
                              508       ]0.5,1.5]
                              509       ]1.5,8.5]
                              510       ]8.5,29.5]
                              511       ]29.5,+inf[

Données converties

KDSelectionOperandAnalyser::ComputeStats
Selection operand stats
Class    Count   Origin   Name
Vehicle 882       Attribute             PassengerNumber
Vehicle 882       Attribute             MobileObstacle
Selection operand analyser
Dictionary          Vehicle
Total entity number       0
Analysed entity number             0
Selection operands      2
               882       Selection operand         PassengerNumber
               Granularity        2
                              0            ]-inf,0.5]
                              1            ]0.5,+inf[
               Granularity        256
                              254       ]0.5,6.5]
                              255       ]6.5,+inf[
               Granularity        512
                              508       ]0.5,1.5]
                              509       ]1.5,6.5]
                              510       ]6.5,26.5]
                              511       ]26.5,+inf[

marcboulle avatar Nov 20 '25 12:11 marcboulle