Coder Social home page Coder Social logo

kc-electron's People

Contributors

khiopsrelease avatar stephanebouget avatar

Watchers

 avatar  avatar

kc-electron's Issues

Large coclusterings

Il s’agit de 2 jeux de données dont aucun ne s’ouvrait avec l’ancienne version.
Le message affiché était : « The application will use more than 1 Go of memory. The data can’t be loaded”.

Les fichiers de données sont en effet volumineux et quasiment identiques
mais dans le 1er cas le coclustering est de dimensions faibles (5 et 6)
alors que dans le 2nd cas le coclustering est de dimensions élevées (1045 et 594).

Avec la nouvelle version de KCV, le 1er coclustering s’affiche bien mais pas le second.
Il doit donc y avoir une limite à fixer qui porte plus sur la taille du coclustering que sur le volume des données à afficher
(ou peut être les deux).

Voici les lien de téléchargement :

Url 1 : taille importante du fichier de données mais taille réduite des dimensions du coclustering (5 et 6)
Dimensions 2
Name Type Parts Initial parts Values Typicality Description
id_cookie Symbol 5 5 1475486 1
url Symbol 6 6 1819466 1

https://tf.orange.com/f/329ad051b46e4d3f9a80/?dl=1

URL 8 : taille importante du fichier de données et taille élevée des dimensions du coclustering (1045 et 594)
Dimensions 2
Name Type Parts Initial parts Values Typicality Description
id_cookie Symbol 1045 1045 1475486 1
url Symbol 594 594 1819466 1

https://tf.orange.com/f/d39a613af83e404d898f/?dl=1

Il faudrait pour cela avoir une taille limite de coclustering que l’on peut afficher et afficher un coclustering replié sinon.
On pourrait partir sur une valeur limite du produit des dimensions.
Tu disais que jusqu’à 100 par 100 tout était OK. Cela pourrait déjà être un seuil ?

Display of "external data" view

  • When external data are imported with the "external data" button, add automatically the "external data" view once the data are loaded.
  • In the external data view, put the ":" at the end of the first line instead of the beginning of the second line

MiseEnPageExternalData

Change report a bug system.

Marc souhaite repasser à l'envoi de bug par mail pour les autres users.
Vous pouvez continuer à les remplir directement ici ça m'évite de faire du copié / collé

Conditional on context matrix.

On souhaite remplacer le choix entre les deux options : « Local / Global » par un bouton à cocher/décocher ayant pour libellé « Conditional on context ».
Ce bouton sera coché par défaut.
Quand il sera décoché, il y a de nouveaux calculs à implémenter.
Voir note jointeIndicateur-TousContextes.docx

Typos

  • replace "datas" by "data"
    Typo1

  • replace "Nb of clusters by dimension" by "Information rate"
    Typo2

Suppression of the Project view

The "Project" view is useful for KhiopsVizualization but contains limited information with KhiopsCovizualisation.
This "project" view can be suppressed for the moment (it can be reactived if necessary)
-> When opening a file, display the Axis view directly

Sauvegarde du json d'un repliement via Unfold hierarchy : ordre des "values" dans un cluster, ordre des "clusters" dans "dimensionHierarchies"

Une fois que l'on a replié un coclustering via la fonctionnalité Unfold hierarchy, on peut sauvegarder ce repliement avec "Save current hierarchy as". Les clusters repliés sont sauvegardés à l'état de feuilles, cela élague le coclustering.

Les valeurs d'un cluster replié sont à décrire dans un certain ordre.
Dans le fichier json du coclustering initial, les "values" sont ordonnées par effectif décroissant (champ "valueFrequencies").
Exemple : Adult avec variables occupation et education
Extrait du fichier json initial avant repliement. La liste des "valueGroups" est dans un certain ordre. Les deux premiers sont "cluster": "{Prof-specialty, Armed-Forces}" puis "cluster": "{Exec-managerial}".
Dans le cluster "cluster": "{Prof-specialty, Armed-Forces}", la value "Prof-speciality" est avant "Armed-forces" car son effectif 5787 est supérieur à 13.

	"dimensionPartitions": [
		{
			"name": "occupation",
			"type": "Categorical",
			"valueGroups": [
				{
					"cluster": "{Prof-specialty, Armed-Forces}",
					"values": ["Prof-specialty","Armed-Forces"],
					"valueFrequencies": [5787,13],
					"valueTypicalities": [1,0.00278259]
				},
				{
					"cluster": "{Exec-managerial}",
					"values": ["Exec-managerial"],
					"valueFrequencies": [3973],
					"valueTypicalities": [1]
				},

Dans le fichier json du coclustering replié, si l'on regarde le cluster replié à partir de ces deux clusters, il faudrait que cet ordre soit maintenu c'est à dire que l'on obtienne
"dimensionPartitions": [
{
"name": "occupation",
"type": "Categorical",
"valueGroups": [
{
"cluster": "A7",
"values": [
"Prof-specialty",
"Armed-Forces",
"Exec-managerial"
],
"valueFrequencies": [
5787,
13,
3973
],
"valueTypicalities": [
1,
0.00278259,
1
]
},
On retrouve en premier les "values" du 1er cluster de la liste : Prof-specialty puis Armed-Forces (dans le même ordre que l'ordre du json initial) ; puis la modalité du second cluster "Exec-managerial".

Actuellement l'ordre du json que KhiopsCovizu produit est différent car "Exec-managerial" apparait en premier.

"dimensionPartitions": [
{
"name": "occupation",
"type": "Categorical",
"valueGroups": [
{
"cluster": "A7",
"values": [
"Exec-managerial",
"Prof-specialty",
"Armed-Forces"
],
"valueFrequencies": [
3973,
5787,
13
],
"valueTypicalities": [
1,
1,
0.00278259
]
},

Pour ce qui est de l'ordre des clusters dans le champ ""dimensionHierarchies", l'ordre attendu est le suivant :

  • on liste d'abord tous les clusters qui ont le statut de feuille et on les met dans l'ordre de leur champ "rank"
  • on liste ensuite tous les clusters qui ne sont pas des feuilles et on les met à nouveau dans l'ordre de leur champ "rank"

Ordre attendu pour les clusters de la variable "occupation" : {2,8,14} pour les feuilles puis {4,12} pour les autres
Ordre actuel dans le fichier json produit par KhiopsCV : {2,4,8,12,14}

AdultEducationOccupation-3-2-JsonActuel-JsonCible.zip

undefined bounds into clusters values

Ce joint deux problèmes mineurs pour l’affichage des valeurs extrêmes (correspondant aux -inf et +inf du cas numérique, disponibles dans le champs « bounds » pour chaque cluster de valeurs numériques).
Sinon, j’ai vu que le menu « Report a bug » passe maintenant par une connexion préalable à Github, et non par un envoie de mail comme auparavant. Est-ce désormais la procédure « normale » à suivre ?

Avec le fichier de coclustering ci-joint, il y a un problème dans l’affichage de la valeur inf de la deuxième variable (age décès) qui est indiqué comme undefined, alors qu’elle vaut 0.
Mais bizarrement, tout se passe bien avec la première variable (annee de naissance).
image

Idem dans le panneau « Selected clusters », et ne fait partout où cette information est visualisée.

image

Visualization of the folding of a context variable

La matrice de coclustering semble ne pas se mettre à jour lorsque l'on replie des clusters d'une variable de contexte.
Elle devrait afficher la même chose que quand on se positionne sur la partie.

Exemple sur "Triclustering simple"
Affichage de la matrice par défaut quand on est positionné sur la partie "Versicolor"
IrisContexteVersicolor
Affichage de la matrice quand on replie entièrement la variable de contexte en cliquant sur "C1" : la matrice ne change pas
IrisContexteRepliementC1

Affichage de la matrice quand on se positionne sur "C1" : la matrice affiche ce que l'on devrait voir quand on replie la variable au niveau de C1
IrisContexteC1
TriclusteringSimple.zip

Contrast reset after app restart

Quand je ferme l’outil en ayant choisi la valeur minimum (10%) et que je l’ouvre l’outil à nouveau, la valeur de contraste passe à 50%

Display of external data

Anomalies d'affichage repérées avec la base de données Adult variables education, occupation.
Données externes :
education An example of text
Bachelors This text is standard
HS-grad This one too (;*/|,……)
Masters "By cons, it contains a tab"
Some-college "Here there are
line
breaks…"
11th "Here is more complicated, there are ""double quotes""."

Observations pour la value Masters
1/ quand on sélectionne le cluster terminal "Masters" dans le panneau "Hierarchy", le dernière charactère "b" du texte dans le mot "tab" n'est pas affiché pour la value "Masters"

ExternalData-LastCharacter

2/ Différence d'affichage pour la value Masters selon le cluster qui est sélectionné dans la Hierarchy
Si le cluster B9 est sélectionné, le texte de la value Masters s'affiche (sans le "b")
Si le cluster B5 est sélectionné ainsi que la value Masters dans le tableau composition, le message affiché est "No external data".
Cela pourrait être lié à la position de la value dans le tableau Composition : le texte s'affiche pour la 1ère value du tableau mais pas pour les autres ?

ExternalData-MastersAtFirstPlaceInB9

NoExternalDataForMasterAtSecondPlaceInB5

Version: 10.2.4
Khiops lib version: 1.4.11

Save current hierarchy as : "cells" and "cellPartIndexes" fields

Suite à un repliement, au niveau du rapport json, deux corrections à apporter :

  • le champ "cells" dans "summary" doit contenir le nombre de cellules non vide, qui peut être inférieur au nombre de cellules théorique. Il est obtenu en comptant le nombre d'éléments dans la liste "cellPartIndexes" ou dans "cellFrequencies"
  • dans la liste "cellPartIndexes", les index décrits par des champs "0", "1", "2" sont à remplacer par des valeurs entières 0,1,2 (sinon les fichiers ne sont plus utilisables par Khiops )

Ci-joint un exemple de coclustering initial sur la base Iris avec 3 variables : Petal Length, Petal Width et Class en Context.
Le repliement effectué est repliement obtenu en utilisant "UnfoldHierarchy" et en passant de 9 clusters à 8 clusters.
On obtient le rapport json Coclustering-Rep8 alors que l'on devrait obtenir Coclustering-Rep8-Cible.

IrisRepliement8Clusters.zip

Composition table updating after cluster folding in the hierarchy

When a cluster is folded in the hierarchy, if the elements displayed in the composition table are folded, the composition table should be updated.
Example with Adult (education, occupation).
The elements of the terminal cluster "Farming-fishing" and "Pruv-house-serv" are displayed in the composition table.
The cluster A15 is folded.
Old version of KCV : the composition table is udpated
Before folding :
AvantRepliementHierarchy-OldVersion
After folding
ApresRepliementHierarchy-OldVersion

New version of KCV : the composition table is not udpated.
Before folding
AvantRepliementHierarchy-NewVersion

Après repliement
ApresRepliementHierarchy-NewVersion

Complement to the cell indicators in the coclustering matrix

For each cell of the coclustering matrix, we can display indicators as Frequency ( F), Mutual information (I) , conditional probabilities (P). In the old version of KCV, some complementary information are given for Frequency and Mutual information indicators.

Add "Expected frequency" indicator
When the indicator "Frequency" (F) is selected, complete the valeur of the indicator with the value of the "Expected frequency" where
EF( cell) = total number of instances in the cell line * total number of instances in the cell column / total number of instances.

Example for a coclustering with 4 cells whose frequency are :

10 | 13

8 | 5

For the cell of frequency = 10, the expected frequency is equal to (10 + 13) * (10 + 8) / (10+13+8+5)
For the cell of frequency = 5, the expected frequency is equal to (13 + 5) * (5 + 8) / (10+13+8+5)

Add "Total mutual information" indicator
When the indicator "Mutual information" (I) is selected, add the value of the Total mutual information which is computed as follows

Total I = sum of the mutual information cell indicator over all the cells

Add a display of the indicators above the coclustering matrix
Example of view with the old version of KCV
The indicators are displayed on a tooltip by moving the mouse over the cells AND above the matrix.

FrequencyDisplay
MutualInformation-Display

"Current clusters" and "Composition" tables: filter some default columns and remove the Hierarchical rank column

Que ce soit pour une variable numérique ou catégorielle :

  • supprimer la colonne Hierarchical Rank (existe dans le json pour des besoins internes mais n'était pas affiché dans l'ancien outil de visu et n'a pas besoin d'être fourni à l'utilisateur)
  • modifier l'affichage par défaut des colonnes du tableau "Current clusters" afin que les colonnes "Father", "Hierarchical Level" et "Rank" ne soient pas affichées par défaut mais uniquement si l'utilisateur le demande via le bouton "Filter columns"

Dans le tableau "Composition" (présent uniquement pour variable catégorielle)

  • modifier l'affichage par défaut des colonnes en n'affichant pas par défaut les colonnes "terminalCluster" et "rank"

Display file name

Add the json file name at the top of the window
Example with the old tool :
DisplayFileName

Allow the user to refuse Matomo metrics

[Vu avec Fabrice et Marc, valable pour les 2 outils Vizu et Covizu ]

Il faudrait permettre à l'utilisateur de refuser le suivi Matomo : remplacer l'unique choix "Ok" par une question "Yes / No"

MatomoQuestion

Si c'est possible, mettre en place un décompte des acceptations et des refus.

Afin que la question ne soit pas posée à chaque ouverture, serait il possible de placer ce choix dans les Settings ?
L'utilisateur répondrait lors de la 1ère connexion "oui/non" puis pourrait le modifier dans les Setting si besoin.

For categorical variables, addition of a "Size" column in the "Current clusters" table

Quand on décrit les parties d'une variable catégorielle impliquée dans un coclustering, il manque une colonne "Size" qui était présente dans l'ancien outil de visu et qui indique le nombre d'éléments de la partie. Il n'est pas donné directement par un champ du fichier json mais il est égal au nombre d'éléments dans le tableau "values".

"valueGroups": [
{
"cluster": "{Prof-specialty, Armed-Forces}",
"values": ["Prof-specialty","Armed-Forces"], -> Size = 2
"valueFrequencies": [5787,13],
"valueTypicalities": [1,0.00278259]
},
{
"cluster": "{Exec-managerial}",
"values": ["Exec-managerial"], -> Size = 1
"valueFrequencies": [3973],
"valueTypicalities": [1]
},
{
"cluster": "{Machine-op-inspct, Transport-moving, Handlers-cleaners}",
"values": ["Machine-op-inspct","Transport-moving","Handlers-cleaners"], -> siez = 3
"valueFrequencies": [1852,1578,1259],
"valueTypicalities": [1,0.913249,0.780641]
},
ColonneSizeCurrentClusters-VariableCategorielle

Rq :
Le cas de la première partie est spécifique : dans l'ancien outil, Size est à 3 pour cette partie alors que dans le nouvel outil il n'y a que deux éléments : Prof-specialty et Armed-Forces.
C'est parce que pour l'instant, on prend en compte différemment le "defaultGroupIndex", je suis en train de regarder si on reste comme cela pour la nouvelle version ou pas.

Artificial data sets to test algorithms

Voici un ensemble de jeux de données artificielles pour lesquelles on fait varier le nombre de cellules du coclustering et le nombre de cluster pour chaque variable.
Lien de téléchargement : https://tf.orange.com/d/39e5245213324fe0b5cd/

Pour comprendre les limites de l’algo, ce serait intéressant de voir comment le temps de calcul du fichier json d’un coclustering évolue en fonction de la taille du coclustering.
Egalement de voir si le repliement fonctionne avec toutes les tailles de coclustering.

Pour ces jeux de données on a un nombre total d’instances constant (1 million).
Les données sont générées selon un coclustering diagonal : les cellules les plus remplies sont sur la diagonale.
On ajoute un bruit qui permet de remplir un peu les cellules hors de la diagonale.

On fait varier la dimension du coclustering : 50 par 50 à 200 par 200.
Cela donne un nombre de cellules qui varie de 2500 à environ 30 000.

Le nommage des fichiers de coclustering se fait selon le schéma suivant :
N : nombre d’instances
C : nombre de clusters par variable
V : nombre de modalites par cluster de la diagonale
L : longueur du nom des modalites

Cells count

image

Ce nombre de cellules correspond au nombre total de cellules dans la grille calculé comme le produit
Du nombre de clusters par ligne et du nombre de cluster par colonne (ce que tu as dans la colonne Number of clusters du tableau tout en bas)
Ici : 7 * 7 = 49
Différent du « Number of clusters » qui est la somme des nombres de clusters ici 7 + 7 = 14

Add matomo metrics

Pour déployer, renseigner la conf :

	TRACKER: {
		ENABLE: false,
		SITE_ID: '',
		TRACKER_URL: 'https://matomo.apps.tech.orange/'
	}

et ne pas oublier d'afficher la popup de cookie consent :

.cc-floating.cc-theme-classic {
    display: none;
}

Add a question to save the coclustering at exit

At exit, add a question to give the possibility to save the coclustering.

Capture of the question with the old version of KhiopsCovizualization :
ExitQuestion

If answer is
"Yes" -> saves the coclustering
"No" -> does nothing
"Cancel" -> returns to the tool

set waiting cursor on long computing

Affichage d'une info indiquant que le calcul est en cours (save current hierachy as, unfold hierarchy)

Pour certaines bases de données, les temps de calcul associés à "Unfold hierarchy" ou "Save current hierarchy as" peuvent prendre quelques secondes. Serait il possible d'afficher alors une information à l'utilisateur indiquant que le calcul est en cours.
Exemple avec l'ancien outil : affichage d'un sablier
AffichageSablier-SaveAs

Import external data with tabulated or multi-lines data

The "external data" functionality doesn't work when text field includes tab or new lines.
For the external data given in the zip, the new version of KCV differs from the old version for "Some-college" external text (only the text of the first line) and "Masters" text (no tab)
ExternalData.zip

The description of the format used for external data files is described here :
The external data files are tab-separated value files. The text type has a special format. This format allows you to display multiple lines in a text field for an item.
All characters are allowed, however three characters have a special role:
• The field separator : “\t” (tab)
• The new line character : “\n” (eol)
• The beginning or end of field indicator : «"» (double-quote)
If a field contains the tab character and/or the new line character, this field must be surrounded by two double-quotes «"». If a field contains the double-quote character, this character must be doubled.

Order of clusters in "dimensionHierarchies"

Au niveau du champ ""dimensionHierarchies", l'ordre des clusters est modifié lors d'un repliement.
Le cluster issu du repliement devient un cluster avec le statut de feuille ("isLeaf": true) et il doit être inséré dans le haut de la liste avec les autres clusters qui ont ce statut. Son insertion doit être telle que les clusters qui ont le statut de feuille soient ordonnés par valeur croissante de leur champ "rank".

Exemple pour le repliement de B16 pour la variable education dans le coclustering de la base Adult avec education et occupation.

{
"name": "education",
"type": "Categorical",
"clusters": [
{
"cluster": "{Bachelors}",
"parentCluster": "B5",
"frequency": 5119,
"interest": 0.962215,
"hierarchicalLevel": 1,
"rank": 1,
"hierarchicalRank": 18,
"isLeaf": true
},
{
"cluster": "{Masters}",
"parentCluster": "B9",
"frequency": 1697,
"interest": 0.911231,
"hierarchicalLevel": 1,
"rank": 3,
"hierarchicalRank": 18,
"isLeaf": true
},
{
"cluster": "{Prof-school, Doctorate}",
"parentCluster": "B9",
"frequency": 877,
"interest": 0.841216,
"hierarchicalLevel": 1,
"rank": 5,
"hierarchicalRank": 18,
"isLeaf": true
},
{
"cluster": "{HS-grad}",
"parentCluster": "B6",
"frequency": 10330,
"interest": 1,
"hierarchicalLevel": 1,
"rank": 7,
"hierarchicalRank": 18,
"isLeaf": true
},
{
"cluster": "{11th, 10th, 9th, ...}",
"parentCluster": "B14",
"frequency": 2878,
"interest": 0.814339,
"hierarchicalLevel": 1,
"rank": 9,
"hierarchicalRank": 18,
"isLeaf": true
},
{
"cluster": "{7th-8th, 5th-6th, 1st-4th, ...}",
"parentCluster": "B14",
"frequency": 724,
"interest": 0.459961,
"hierarchicalLevel": 1,
"rank": 11,
"hierarchicalRank": 18,
"isLeaf": true
},
{
"cluster": "{Some-college}",
"parentCluster": "B12",
"frequency": 7219,
"interest": 0.659754,
"hierarchicalLevel": 1,
"rank": 13,
"hierarchicalRank": 18,
"isLeaf": true
},
{
"cluster": "B16",
"parentCluster": "B12",
"frequency": 2423,
"interest": 0.365675,
"hierarchicalLevel": 0.996015,
"rank": 16,
"hierarchicalRank": 17,
"isLeaf": true
},

le cluster replié doit être inséré ici, en dernière position des clusters "isLeaf" : true car ayant le rang le plus élevé parmi ces clusters. Dans le fichier produit actuellement il est à la toute fin de la liste avec les clusters "isLeaf: false
{
"cluster": "B5",
"parentCluster": "B2",
"frequency": 7693,
"interest": 0.937174,
"hierarchicalLevel": 0.789074,
"rank": 2,
"hierarchicalRank": 6,
"isLeaf": false
},
{
"cluster": "B9",
"parentCluster": "B5",
"frequency": 2574,
"interest": 0.887376,
"hierarchicalLevel": 0.932314,
"rank": 4,
"hierarchicalRank": 10,
"isLeaf": false
},
{
"cluster": "B2",
"parentCluster": "",
"frequency": 31267,
"interest": 0.827235,
"hierarchicalLevel": -0.00237915,
"rank": 6,
"hierarchicalRank": 3,
"isLeaf": false
},
{
"cluster": "B6",
"parentCluster": "B4",
"frequency": 13932,
"interest": 0.933583,
"hierarchicalLevel": 0.855416,
"rank": 8,
"hierarchicalRank": 7,
"isLeaf": false
},
{
"cluster": "B14",
"parentCluster": "B6",
"frequency": 3602,
"interest": 0.743109,
"hierarchicalLevel": 0.991215,
"rank": 10,
"hierarchicalRank": 15,
"isLeaf": false
},
{
"cluster": "B4",
"parentCluster": "B2",
"frequency": 23574,
"interest": 0.791358,
"hierarchicalLevel": 0.651432,
"rank": 12,
"hierarchicalRank": 5,
"isLeaf": false
},
{
"cluster": "B12",
"parentCluster": "B4",
"frequency": 9642,
"interest": 0.585853,
"hierarchicalLevel": 0.972126,
"rank": 14,
"hierarchicalRank": 13,
"isLeaf": false
}
]
}

Selection of the cluster whose distribution is displayed

In the old version of KCV, there was two ways to select a cluster from the histogram :

Extract of KCV guide :
"When a cluster is selected in a hierarchy, its corresponding bar is highlighted in the histogram. You can select another cluster directly on the Distribution in two ways:
• by clicking on a bar of the histogram,
by navigating in the bar chart with arrow keys."

It is technically possible and not too time consuming, it would be interesting to add the second way in the new version of KCV "by navigating in the bar chart with arrow keys"

Ajout d'un graphique représentant le taux d'information d'un coclustering replié

Il s'agit d'ajouter un graphique représentant le taux d'information d'un coclustering replié par rapport au coclustering optimal en fonction de son nombre de clusters. Ci-joint la vue obtenue avec l'ancien outil.

image

Pour le coclustering optimal, le taux d'information vaut 100%. Pour un coclustering replié, le taux d'information est égal à la valeur du champ "HierarchicalLevel" du dernier cluster agrégé lors du repliement. Ce taux est compris entre 0 et 100 et est arrondi avec une décimale. Cas particulier : quand un hierarchicalLevel est négatif, on affiche 0.

Exemple sur Adult2vars

Number of clusters Information Fichier json
18 100  
17 99,6 hierarchicalLevel du cluster B16 : "hierarchicalLevel":0.996015
16 99,2 hierarchicalLevel du cluster A15 : "hierarchicalLevel": 0.992157
15 99,1 hierarchicalLevel du cluster B14 : "hierarchicalLevel": 0.991215
... ... ...
2 0 (seuillé à zéro) hierarchicalLevel négatif du cluster B2 : "hierarchicalLevel": -0.00237915
1 0 hierarchicalLevel du cluster A1 : "hierarchicalLevel": 0

Afficher un message d'alerte dans les cas de collision d'encodage

Le type d'encodage utilisé dans les données est décrit par le tag "khiops_encoding" (au même niveau que "tool" à la racine). Si la valeur de ce tag "khiops_encoding" est "colliding_ansi_utf8", il faudrait afficher un warning : "The coclustering model was built using data with both Ansi and Utf8 encodings. The display may be corrupted and not fully correspond to the model." Ce warning doit par exemple s'afficher dans le cas joint.AnsiLatin_Coclustering.khcj

Modifications de la fenêtre associée au bouton "Unfold hierarchy"

Premier pavé :

  • remplacer "Information" par "Information rate"
  • pour la valeur de ce taux d'information, donner un seul chiffre significatif après la virgule
    Exemple pour Adult2vars 99.6015 -> 99.6; 96.1998 -> 96.2
  • ajouter un logo "Warning" à côté de la valeur du taux quand elle vaut 0 (comme dans l'ancien outil, pour alerter l'utilisateur
    car dans ce cas la hauteur de la barre du graphique ne sera plus visible car réduite à 0)

Graphique 1

  • Titre : modifier le titre en "Information rate"
  • Axe des ordonnées : donner plus de détail avec une graduation de 0 à 100 par pas de 20
  • Barre : modifier la hauteur de la barre noire que l'on déplace pour qu'elle soit égale au taux d'information
    (actuellement elle monte toujours à 100)
  • Infobulle : ajout d'une infobulle identique à celle de l'ancien outil quand on déplace la souris sur le graphique
    "The evolution of the information according to the number of clusters : ..... hierarchy"

Graphique 2 :

  • Axe des ordonnées : est il possible de le détailler un peu plus (au moins 5 graduations) ?
  • Légende de l'axe des ordonnées : remplacer "Information" par "Nb of clusters per dimension"
  • Barre : modifier la hauteur de la barre que l'on déplace pour qu'elle soit égale au maximum des nombres de cluster par
    dimension
  • Infobulle : ajout de l'infobulle "Click on dimension to highlight data" quand on passe la souris sur la légende des dimensions
  • Interaction : reprendre l'interaction de l'ancien outil qui consiste à mettre en gras la courbe associée à la dimension sur laquelle on clique au niveau de la légende des couleurs

Size column in "current clusters" Table

In the "current clusters" table, for a categorical variable, the "size" column should contains the total number of elements in the considererd cluster. For the display, the name of the cluster contains only the name of the 3 first element and "...".
But the true number of element must be displayed in the "size" column.
Example : Nova data.
The first cluster has 152 elements.
Its name is {158,6233,1199,...} : it displays only the three first elements + "..."
The number of elements of the cluster is the size of "valueFrequencies" or "valueTypicalites" in the json file (description of valueGroups).
SizeInCurrentHiearchyTable
NovaCoclustering.zip

Unfold hierarchy for a simplified coclustering

When using "unfold hierarchy" with a simplified coclustering, it seems that the displayed number of cluster is the initial number of parts and not the number of parts after simplification.

Simplification d'un coclustering:
. simplification du coclustering en se limitant à au total 4 parties, ce qui donne lieu à une matrice 4x4
. la simplification batch semble produire le résultat corectement
. la covisualisation semble correcte
. par contre, la fenêtre "Unfold hierarchy" est buguée
. elle affiche les courbes d'information rate de de Nb of clusters per dimension jusqu'au jusqu'au "initialParts" au lieu de s'arrêter aux "parts",
qui sont issus de la simplification

Correction probable dans l'outil de covisualisation:
. se limiter au "part" (égaux aux "initialParts" au départ) dans la fenêtre de "Unfold hierarchy"
. suggestion de détail de renommage de libellé dans cette fenetre:
. renommer "numberOfCluster" en "Number of clusters" (le nombre de partie couramment affichés)
. renommer "maxNumberOfCluster" en "Max number of clusters" (le nombre total de clusters disponibles (parts),
initialement (parts=initialParts) ou après simplification (parts<=initialParts)
BugSimplifySpliceJunction.zip

loss of display after resizing the coclustering

ouvrir le fichier
unfold hierarchy : passer à 2x3 clusters ===> "Composition" bien renseigné
unfold hierarchy : revenir à 8x5
manage views : fermer "Composition"
unfold hierarchy : passer à 2x3 clusters
manage views : ouvrir "Composition" ===> No data

(idem pour "Distribution")


Coclustering.zip

Version: 10.2.2
Khiops lib version: 1.4.8

Selection of the cluster in the composition table by double- clicking : impact on the cluster selected in the hierarchy

A functionality described in the KCV guide, paragraph "Composition" doesn't work with KCV new version :
"A double -click on a line shows the composition of the cluster containing this item. Accordingly, it modifies the selected cluster in the hierarchy view. "
Example : coclustering for Adult with education and occupation.
cluster initially selected in the hierarchy "A2"
With the old version : when the line "7th-8th ..." line is double-clicked in the composition table then the cluster selected in the hierarchy and in the current cluster table is modified.
Before double-clicking :
SelectedClusterComposition-PreDoubleClick
After double-clicking :
SelectedClusterComposition-PostDoubleClick

It is not the case with the new version :
ResultWithNewVersion

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.