-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Keep "build interpretable names" parameter in expert mode only
Probleme: le naming des variables khiops n?est pas compatible avec bigquerry - Required. The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 300 characters. - Quel est le besoin precisement ? - Stocker le resultat de recodage Khiops dans une table big query (si on utilise un dictionnaire Khiops uniquement pour produire un score, ce n?est pas un probleme) - Le renommage des variables est en theorie possible depuis pykhiops, mais uniquement pour les variables terminales. Si des variables sont impliquees dans des formules, la propagation du renommage devient complexe et hasardeuse. Solution envisagee dans Khiops - Ajout d'une option dans Khiops pour generer des noms de variables non interpretables (ex : "MultiTableFeature_<Index>") - nouveau champ de "Advanced predictor parameters", "Build interpretable names" (true par defaut) - impact doc et pykhiops a prevoir - noms de variables concernes - variables construites pour multi-tables, arbres, texte, paires - variable des predicteur (ex: les probas par classe cible) - nombreux impacts - generer un libelle de variable associe aux variable construites, reprenant leur nom interpretable - pour les dictionaires khiops - pour les rapport json, pour avoir a ce libelle depuis l'outil de visualisation - variables impactes: mutli-table et text features, paires, variables du classifier de type prob<class>... - les rapports d'analyse ne sont plus facilement exploitables par l'outil de viusualisation - les arbres, et les paires, exploitent desormais des variables non interpretables - imapcts pour la gestion du nommage non interpretables - deplacement des methodes Set|GetInterpretableNames de KDConstructionDomain vers KWClass - parametrage des nom de variables des KWAttributeSubsetStats via des methodes Set|GetSortNameIndex - nouvelles methodes BuildInterpretableName, BuildNonInterpretableName, GetInterpretableName dans la hierachie de classe KWDataPreparationStats - impact non prevu plus grave: les resultats d'analyse ne sont pas les meme - en effet, les arbres par exemple exploitent des sous-ensemble de variables aleatoire - ceux sont sont biaises par les fort level, et repose sur un tri prealable des variables informatives par level decroissant, puis en cas d'agalite par nom de variable - le changement de nom des variable perturbe ce tri des variables, et les arbres construits ne sont plus le meme - solution potentielle - garder en interne un tri des varaiable base selon leur nom interpretable, qui ne depend pas du nom effectif des variables via une reimplementation de la methode CompareName - impact sur les paires de variables non evalue - complexe a gere, et a maintenir - solution potentielle exploitant le libvelle des variables construites - mais il faut gere les variables initiales differement, car pour celle-ci, on garde leur nom initial, et par leur libelle - solution comportement des risques d'instabilite, et/ou de contraintes fortes sur l'evolutivite du code - ABANDON de la solution - rapport cout-risque-benefice trop desavantageux - solution simple alternative possible (cf. ci-dessous) Solution d'ingenierie retenue - Utiliser le "Deploy model" de Khiops - exporter la base saans ligne d'entete, pour ne pas avoir de probleme de noms de variablkes - tous les soft peuvent importer un fichier tabulaire sans en-tete - sinon, on peut rajouter par script une ligne d'entete Var1 Var2... - utiliser le "Build deployed dictionary" pour avoir 'association entre les variables exportee par rang et leur type et nom d'origine - facie a recuperer ensuite par script - solution sans impact sur khiops - pas meme une case a cocher de type "Export interpretable names" dans la feneterv"Deploy model" - solution facile a mettre en oeuvre - solution generique, permettant d'exporter n'importer quel fichier tabulaire d'origine (genere par Khiops ou non) Nettoyage du code suite a un debut d'implementation de la solution envisagee - la solution envisagee a commence a etre codee, mais on aboutit a une impasse - on garde neanmoins quelques modifications, qui ameliorent le code existant - Impacts - DTDecisionTreeNodeSplit::CompareName - implementation desormais avec GetAttributeStats()->CompareName, pour se baser sur le tri des AttributeStats - KWDataPreparationAttributeCompareSortValue - implementation desormais avec GetAttributeStats()->CompareName, pour se baser sur le tri des AttributeStats - KWSelectedDataGridReport::GetSortName - base desormais sur la methode ExportVariableNames des DataGridStats - KDClassBuilder::BuildIndexedAttributeName: prefixe "MultiTableFeature_" - KDTextFeatureConstruction::BuildIndexedAttributeName: prefix "TextFeature_" - KDConstructionDomain::Set|GetInterpretableNames: commentaire explicite sur les limites de ce parametre - KDConstructionDomain.dd (et la GUI generee) - supression du champ InterpretableNames de l'interface - KWModelingSpec.dd (et la GUI generee) - ajout du champ InterpretableNames, pour avoir un parametre commun aux feature multi-tables et texte - KWModelingAdvancedSpec.dd (et la GUI generee) - ajout du champ InterpretableNames - visible uniquement en mode expert - KWLearningProblem::BuildConstructedClass: parametrage du construction domaine pour les InterpretableNames Autres corrections - KWAttributeStats: correction des assertions pour l'ecriture des "parts" dans le cas non supervise
- Loading branch information
1 parent
9bd6c5f
commit 9d4b8aa
Showing
19 changed files
with
86 additions
and
165 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.