Arval - Manuel utilisateur

Ce manuel utilisateur est destiné aux personnes désirant utiliser Arval pour leurs travaux sur les indices de qualités objectifs ( import des règles d'association, calculs des indices, export des résultats ). Il détaille tous les cas d'utilisations de cette application. Il s'agit d'une réalisation d'un outil logiciel servant à faire progresser la recherche sur la phase de validation du processus d'Extraction des Connaissances dans les Données (ECD), pour le cas précis des règles d'association.

# 1. Introduction:

Arval est une application écrite en java. Elle est composée d'un outil graphique pour importer / exporter les données dans différents formats, les visualiser de manière interactive, rechercher et effectuer des calculs.
L'outil graphique est basé sur les Swings Java ( bibliothèque graphique java ) et permet de saisir, d'importer & exporter, de visualiser & rechercher, de générer de manière simple et graphique les données.

# 2. Installation d'Arval:

L'installation de Arval est relativement facile. Le prérequis est évidemment une machine virtuelle java. Les tests et les développements ont été réalisés avec le jdk 1.4.1 de Sun disponible sur le site de Sun http://java.sun.com/j2se/1.4/. Cette partie ne traitera pas de l'installation de jdk.
Java étant multiplateforme, Arval peut être installé autant sur une machine windows que sur une machine unix / linux. Les tests et développements ont été réalisés aussi bien sur des machines Windows XP/2000 que sur une machine Linux Mandrake.

### 2.1 Windows

· Obtenir et installer un JRE pour votre système. Vous en trouverez une sur le site web de Sun : http://java.sun.com.

· Il est possible de tester l'installation du JRE en tapant java -version à une invite MS-DOS. Si vous obtenez un message comme

    java version "1.4.1-rc"

    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-rc-b19)

    Java HotSpot(TM) Client VM (build 1.4.1-rc-b19, mixed mode)

, votre installation fonctionne. Par contre, si vous obtenez un message comme Bad command or file name, c'est que vous avez un problème avec votre PATH.

· Télécharger Arvalx.x.jar . Le nom exacte du fichier varie en fonction de la version courante.

· Ouvrir une fenêtre MS-DOS. Taper cd [répertoireDeArval]. Ensuite, taper java -jar arvalx.x.jar.

2.2 Linux

· Obtenir et installer un JRE pour votre système. Vous en trouverez une sur le site web de Sun : http://java.sun.com.

· Si ce n'est pas fait par l'installeur, vous devez ajouter la commande java à votre PATH. Par exemple, si Java a été installé dans /usr/java/j2sdk1.4.1, ajoutez la ligne suivante au fichier /etc/profile et redémarrer votre session X ou votre console :

export PATH=$PATH:/usr/java/j2sdk1.4.1/bin

· Il est possible de tester l'installation du JRE en tapant java -version dans une console. Si vous obtenez un message comme

    java version "1.4.1-rc"

    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-rc-b19)

    Java HotSpot(TM) Client VM (build 1.4.1-rc-b19, mixed mode)

, votre installation fonctionne. Par contre, si vous obtenez un message comme java: command not found, c'est que vous avez un problème avec votre PATH.

· Télécharger Arvalx.x.jar . Le nom exacte du fichier varie en fonction de la version courante.

· Ouvrir une console. Taper cd [répertoireDeChordcast]. Ensuite, taper java -jar Arvalx.x.jar.

# 3. Description générale des IHM:

L'application graphique d'Arval présente les données et les moyens d'y accèder par des onglets (JPanel en Swing). Chaque onglet propose une vue particulière sur les données importées:

· L'onglet Manage Data, permet les actions sur les fichiers de données et affiche les attributs du jeu de donnée importé,

· L'onglet Rules, affiche les régles d'association et leurs indices de qualités sous la forme d'une table,

· L'onglet Items, affiche les Items présents dans le jeu de données,

· L'onglet Itemsets, affiche la liste desItems présents dans le jeu de données,

· L'onglet Indices, pilote le calcul des indices de qualités .

# 4. Fonctionnalités:

## 4.1 Lancement de l'application Arval

Voir section Installation.

## 4.2 Ouvrir une nouvelle session

Arval permet d'ouvrir plusieurs fenêtres indépendantes qui permettent de travailler sur des jeux de données différents. Pour ouvrir une session de travail, clicquer sur le menu FILE puis NEW SESSION. Une fenêtre s'ouvre définisant un espace de travail qui se positionne par défausur l'onglet Manage Data.

## 4.3 Changer l'apparence d'Arval

L'apparence d'Arval utilse l'apparence Tinylaf de Hans bickel (http://www.muntjak.de/hans/java/tinylaf/index.html). l'habillage peut alors ressembler à celui de Windows XP. Il ne s'applique cependant qu'au système d'exploitation Windows XP. Sur les autres OS, l'habillage par defaut METAL est utilisé. Plusieurs "thèmes" sont disponibles dans Arval. Pour en changer utiliser le menu THEMES.

Ajouter des nouveaux thèmes. voir section Parametrer Arval.

## 4.4 Importer un jeu de données au format PMML

L'onglet Manage Data rassemble toutes les actions qui peuvent être effectuées sur les E/S des fichiers contenant un ou plusieurs modèles de régles d'association.

### Le Language PMML:

Le language PMML signifie « Predictive Model Markup Language » dont l’équivalence en français est « Langage de Balisage pour les Modèles Prédictifs ». Ce langage, élaboré par le « Data Mining Group » est conçu pour définir des modèles de données et vise à rendre inter-opérables les systèmes de Data Mining.
Un document PMML fournit une définition de modèles analytiques formés ou paramétrés avec l'information suffisante pour déployer une application. PMML fournit la grammaire XML (eXtended Markup Language), sur lequel il est basé, pour plusieurs sortes de modèles de Data Mining dont celui du modèle des règles d'association. La structure des modèles sont décrits à travers une DTD qui définie la sémantique du language.

Fig: DTD de l'arbre PMML
Fig: DTD du sous-arbre AssociationModel
Arval est conforme à la norme PMML 2.0. Pour parcourir l'arbre PMML et en extraire les informations, Arval utilise l'analyseur syntaxique SAX 2.0 (Simple API for XML) à travers l'API JAXP (Java API for XML Parsing) de SUN ().
Limitations:

· A ce jour, Arval utilise l'analyseur en mode non validant, se contentant de vérifier seulement si le document est bien formé.

· Un seul modèle d'association (le premier) est importé si le fichier PMML en contient plusieurs.

Exemple de fichier PMML:

<?xml version="1.0" ?> <PMML version="2.0" > <Header copyright="www.dmg.org" description="example model for association rules"/> <DataDictionary numberOfFields="2" > <DataField name="transaction" optype="categorical" /> <DataField name="item" optype="categorical" /> </DataDictionary> <AssociationModel functionName="associationRules" numberOfTransactions="4" numberOfItems="3" minimumSupport="0.6" minimumConfidence="0.5" numberOfItemsets="3" numberOfRules="2"> <MiningSchema> <MiningField name="transaction"/> <MiningField name="item"/> </MiningSchema> <!-- We have three items in our input data --> <Item id="1" value="Cracker" /> <Item id="2" value="Coke" /> <Item id="3" value="Water" /> <!-- and two frequent itemsets with a single item --> <Itemset id="1" support="1.0" numberOfItems="1"> <ItemRef itemRef="1" /> </Itemset> <Itemset id="2" support="1.0" numberOfItems="1"> <ItemRef itemRef="3" /> </Itemset> <!-- and one frequent itemset with two items. --> <Itemset id="3" support="1.0" numberOfItems="2"> <ItemRef itemRef="1" /> <ItemRef itemRef="3" /> </Itemset> <!-- Two rules satisfy the requirements --> <AssociationRule support="1.0" confidence="1.0" antecedent="1" consequent="2" /> <AssociationRule support="1.0" confidence="1.0" antecedent="2" consequent="1" /> </AssociationModel> </PMML> | 1 fichier de règles d’association + les Items dans un format normalisé: - Données extraites: numberOfTransactions (n), numberOfItems, numberOfItemsets, numberOfRules, minimumsupport, minimumconfidence, support(Règle), confiance(Règle). - Données déduites: n a = support (Itemset) * n n b = support (Itemset) * n n ab = support (Règle) * n

### Affichage des attributs du modèle importé:

Lorsqu'ils sont fournis par l'application de datamining, Arval importe ou déduit les informations propre au jeu de données importé.

### Affichage des données du modèle:

· L'onglet Rules représente graphiquement les règles d'association, sous la forme d'un tableau, construit à partir des données du modèle de règles contenue dans le fichier PMML. Les indices de bases que sont le support et la confiance de la règle sont extraits eux aussi du modèle. La plupart des modèles intègrent au minimum ces deux indices.

Pour chaque règle, est affiché:

o L'Itemset Premise,

o L'Itemset Conclusion

o Le support relatif à la règle,

o La confiance relative à la règle.

### Import d'un fichier PMML+:

De la même manière qu'un fichier PMML, Arval est capable d'importer un format PMML+ (voir section Export des résultats) et d'extraire les indices préalablements calculés par Arval.

### Tri des règles:

Il est possible de trier les règles d’association suivant les indices de qualité (puis ceux calculés par la suite - voir section Calculer les indices de qualités). Le double clic sur l'entête des indices de colonnes, permet un tri alternativement ascendant et descendant.

· L'onglet Items, affiche pour chaque Item du modèle:

o itemid, l'identifiant de l'Item,

o itemvalue, la description de cet Item.

· L'onglet Itemsets, affiche pour chaque Itemsets du modèle:

o itemsetid, l'identifiant de l'Itemset

o itemlist, la liste des Items le composant

o itemsetCount, le nombre d'occurences de cet Itemset dans la population.

## 4.5 Importer un jeu de données au format SAS

Le format d'échange le plus courant en ce qui concerne les données brutes reste le fichier ASCII (CSV, texte délimité, largeur fixe, etc.). La virgule est utilisée comme séparateur et le point comme symbole décimal.
L'application de Dataminig SAS, découpe en deux fichiers textes distincts les données, l'un contenant les itemsets, l'autre les règles d'association:

En cliquant sur le bouton on importe respectivement les Itemsets puis les règles.

Puis:

Par la suite l’utilisateur est amené à rentrer les informations nécessaires à l’analyse correcte de ces 2 fichiers. Un paramètre très important est le nombre de transactions de la base (paramètre n des formules de calcul des indices de qualités).

### 4.5.1 Description des champs:

???? utilie ?

ITEMSET NITEMS,COUNT,ITEM1,ITEM2,ITEM3,ITEM4,ITEM5,ITEM6,ITEM7,ITEM8,ITEM9,ITEM10 1,4525,PAIN,,,,,,,,,,, 1,4092,FROMAGE,,,,,,,,,,, 1,4048,PIF,,,,,,,,,,, 1,3904,CHIPS,,,,,,,,,,, 1,3880,MERCUES,,,,,,,,,,, 1,3744,LA_GREZTTE,,,,,,,,,,, 1,3636,3,,,,,,,,,,, 1,3443,10,,,,,,,,,,, 1,2785,6,,,,,,,,,,, 1,1457,9,,,,,,,,,,, 1,1436,7,,,,,,,,,,, 1,679,11,,,,,,,,,,, 2,3855,FROMAGE,PAIN,,,,,,,,,, 2,3805,PIF,PAIN,,,,,,,,,, 2,3662,CHIPS,PAIN,,,,,,,,,, 2,3647,MERCUES,PAIN,,,,,,,,,, 2,3550,LA_GREZTTE,PAIN,,,,,,,,,, 2,3490,FROMAGE,PIF,,,,,,,,,, | 1 fichier (propriétaire) de règles d’association produit par l’application WEKA: Extraction: n, n a, n b, nab, minimum support, minimum confidence, confiance(R) Déduction:
REGLES+ITEM NITEMS,EXP_CONF,CONF,SUPPORT,LIFT,COUNT,RULE,LHAND,RHAND,ITEM1,ITEM2,ITEM3,ITEM4,ITEM5,ITEM6,ITEM7,ITEM8,ITEM9,ITEM10,ITEM11,ITEM12,ITEM13 2,92.84,94.21,79.09,1.01,3855.7,FROMAGE==> PAIN,FROMAGE,PAIN,FROMAGE,==========>,PAIN,,,,,,,,,, 2,83.96,85.19,79.09,1.01,3855.0,PAIN==> FROMAGE,PAIN,FROMAGE,PAIN,==========>,FROMAGE,,,,,,,,,, 2,92.84,94.00,78.07,1.01,3805.0,PIF ==> PAIN,PIF,PAIN,PIF,==========>,PAIN,,,,,,,,,, 2,83.05,84.09,78.07,1.01,3805.0,PAIN ==> PIF,PAIN,PIF,PAIN,==========>,PIF,,,,,,,,,, 2,92.84,93.80,75.13,1.01,3662.0,CHIPS ==> PAIN,CHIPS,PAIN,CHIPS,==========>,PAIN,,,,,,,,,, 2,80.10,80.93,75.13,1.01,3662.0,PAIN ==> CHIPS,PAIN,CHIPS,PAIN,==========>,CHIPS,,,,,,,,,, 2,92.84,93.99,74.83,1.01,3647.0,MERCUES ==> PAIN,MERCUES,PAIN,MERCUES,==========>,PAIN,,,,,,,,,,

PURGER LES ITEMS EN DEBUT DE FICHIER ????

## 4.6 Importer un jeu de données au format WEKA

Weka (Waikato Environment for Knowledge Analysis) est un logiciel gratuit (http://www.cs.waikato.ac.nz/ml/weka/) qui propose une collection d'algorithmes pour la résolution de problèmes de Data Mining. Il permet grâce à une interface claire et d'utiliser les techniques pour analyser les données, comme notament les arbres de décisions, les méthodes de clustering et bien sur les extractions des règles d'association. Weka produit des fichiers résultats dans un format texte, avec un formalisme propriétaire.

Exemple d'un fichier de règles:

=== Run information === Scheme: weka.associations.Apriori -N 5000 -T 1 -C 0.8 -D 0.05 -U 1.0 -M 0.1 -S -1.0 Relation: contact-lenses Instances: 24 Attributes: 5 age spectacle-prescrip astigmatism tear-prod-rate contact-lenses === Associator model (full training set) === Apriori ======= Minimum support: 0.05 Minimum metric <lift>: 0.8 Number of cycles performed: 17 Generated sets of large itemsets: Size of set of large itemsets L(1): 12 Size of set of large itemsets L(2): 42 Size of set of large itemsets L(3): 11 Best rules found: 1. contact-lenses=soft 5 ==> astigmatism=no tear-prod-rate=normal 5 conf:(1) < lift:(4)> lev:(0.16) [3] conv:(2160) 2. astigmatism=no tear-prod-rate=normal 6 ==> contact-lenses=soft 5 conf:(0.83) < lift:(4)> lev:(0.16) [3] conv:(1368) 3. contact-lenses=hard 4 ==> astigmatism=yes tear-prod-rate=normal 4 conf:(1) < lift:(4)> lev:(0.13) [3] conv:(1728) 4. astigmatism=yes tear-prod-rate=normal 6 ==> contact-lenses=hard 4 conf:(0.67) < lift:(4)> lev:(0.13) [3] conv:(960) 5. tear-prod-rate=normal contact-lenses=soft 5 ==> astigmatism=no 5 conf:(1) < lift:(2)> lev:(0.1) [2] conv:(1440) 6. astigmatism=no contact-lenses=soft 5 ==> tear-prod-rate=normal 5 conf:(1) < lift:(2)> lev:(0.1) [2] conv:(1440) 7. tear-prod-rate=normal 12 ==> astigmatism=no contact-lenses=soft 5 conf:(0.42) < lift:(2)> lev:(0.1) [2] conv:(684) 8. astigmatism=no 12 ==> tear-prod-rate=normal contact-lenses=soft 5 conf:(0.42) < lift:(2)> lev:(0.1) [2] conv:(684) 9. contact-lenses=soft 5 ==> tear-prod-rate=normal 5 conf:(1) < lift:(2)> lev:(0.1) [2] conv:(1440) 10. tear-prod-rate=normal 12 ==> contact-lenses=soft 5 conf:(0.42) < lift:(2)> lev:(0.1) [2] conv:(684) | 1 fichier (propriétaire) de règles d’association produit par l’application WEKA: Extraction: Instances (n), n a, n ab, minimum support, Déduction: n b = nab *n / lift *na, confiance(Règle) = nab / na

## 4.7 Calculer les indices de qualité pour des fichiers volumineux

Pour les fichiers PMML volumineux (plusieurs centaines de milliers de règles), il n’est pas possible de faire un import basique. L’espace mémoire n’étant pas suffisant. Il faut donc calculer les indices de qualité des règles en Streaming.

Pour cela, il faut cliquer sur le bouton « Streaming PMML ». La première fenêtre propose le fichier d’entrée des règles d’association. Il faut ensuite indiquer les indices de qualité à calculer ainsi que le fichier de sortie. Il ne sera évidemment pas possible de visualiser les onglets correspondant aux règles.

## 4.8 Calculer les indices de qualités

### 4.8.1 La liste exhaustives des indices

Cette liste rassemble tous les indices qui peuvent être appliqués sur les règles. Le bouton permet d'ajouter la (les) sélection(s) dans la liste de sélection des indices.

### 4.8.2 sélectionner des indices:

Cette liste modifiable à souhait rassemble les indices qui seront calculés ou servant au tri par la suite.
le bouton permet de retirer l'indice ou les indices sélectionnés de la liste de sélection.
La liste ne peut contenir deux fois le même indice.

###
4.8.3 Sélectionner les indices en fonction de propriétés:

Il est possible de sélectionner les indices en fonction de leurs propriétés intrinsèques. Si une propriété est cochée, alors seules les mesures qui respectent la propriété sont affichées. Pour les mesures où il y a un doute sur le respect ou non de la probabilité, il a été statué par défaut qu’elle ne respecte pas la propriété.

Propriété 1 : La valeur de la mesure est constante à l’indépendance et vaut 0 ou 1.

Propriété 2 : La mesure croit avec la probabilité des exemples, si la probabilité de la prémisse et de la conclusion restent constants.

Propriété 3 : Deux sous propriétés doivent être vérifiées :

1) La mesure décroit avec la probabilité de la conclusion, si la probabilité de la prémisse et du nombre d’exemples restent les mêmes.

2) La mesure décroit avec la probabilité de la prémisse, si la probabilité de la conclusion et du nombre d’exemples restent les mêmes.

### 4.8.4 Calculer une liste d'indice:

L’utilisateur est amené à sélectionner un ou plusieurs indices de les ajouter dans la liste de sélection en cliquant sur le bouton . L'affichage est alors basculé directement sur l'onglet Rules.

Chaque indice peut être retiré ou rajouté de la table par le biais de sa case à cocher correspondante.

4.8.5 Calcul d'un indice synthétique:

Il est possible de trier les règles d’association suivant les indices de qualité calculés. Le tri se fait suivant une moyenne pondérée de ces indices.
L’utilisateur est amené à sélectionner dans la liste des indices (déjà calculés ?), ceux rentrant dans la moyenne et de les ajouter dans la liste de sélection. Puis en cliquant sur le bouton il faut saisr pour chaque indice, le poids accordé dans le calcul de la moyenne des indices.

Voici le résultat pour une moyenne pondérée sur trois indices:
TABLEAU
Il y a création d'un indice synthétique qui pourra être trié par ordre descendant ou descendant comme les autres par double clic sur l'entête de la colonne d'indice.

## 4.9 Exporter les resultats

En cliquant sur le bouton , l’utilisateur rentre le nom du fichier PMML à produire, et Arval construit un arbre PMML, en rajoutant les informations des indices de qualités calculés sur les règles. Les indices de qualités ne faisant pas partie du modèle de régles d'association, il est nécessaire de modifier l'arbre PMML d'origine et de construire un arbre PMML+ dit "étendu".

### 4.9.1 Extensibilité du modèle PMML:

La DTD de PMML contient un mécanisme permettant d’étendre le contenu des modèles existants. Ces éléments d’extension nommés « Extension » possèdent un modèle qui est inclus dans la DTD.

Une extension comporte un couple nom-valeur, et peut y inclure à la fois du texte, des éléments enfants voire un sous-arbre XML. On retrouve à tous les niveaux de l'arbre le noeud Extension.

<!ELEMENT Extension Any> <!ATTLIST Extension extender CDATA #IMPLIED name CDATA #IMPLIED value CDATA #IMPLIED > <!ELEMENT Extension Any> <!ATTLIST Extension extender CDATA #IMPLIED name CDATA #IMPLIED value CDATA #IMPLIED >

Arval crée deux sous arbre XML, pour porter les indices et leurs valeurs:

· X-QualityIndice : Extension sur le nœud AssociationModel permettant d’indiquer le nom des indices calculés sur les règles.

ID | Identifiant de l'indice de qualité | DTD du sous-arbre Extension du noeud AssociationModel
NAME | Nom de l'indice

· X-QIV : Extension sur le nœud AssociationRule permettant de lister les indices et leurs valeurs pour chaque règles.

IDREF | Référence vers l'indice de qualité de l'extension du noeud AssociationModel | DTD du sous-arbre Extension du noeud AssociationRule
VALUE | Valeur de l'indice

## 4.10 Paramètrer Arval

### 4.10.1 Paramètrer l'utilisation des panels (fichier config.xml):

Lors de son lancement, Arval lit les paramétrages à effectuer sur l'application dans un fichier XML. Pour l'instant il se borne à:

· Afficher ou non l'onglet Items, Itemsets, Rules ou Indices,

· Sélectionner le fichier d'aide sur les indices de qualités.

<?xml version="1.0" ?>
<Application name="Arval" version="1.0" >
<!-- Directory for -->
<HelpFile filename="InterestingnessMeasures.htm"/>
<panels>
<!-- Display or not The panels Items,
&lt; ELEMENT Items EMPTY &gt;
&lt; ATTLIST Items
display (YES|NO) #FIXED "YES"
icon CDATA &gt;
-->
<Managedata icon="boite32x31.jpg"/>
<!-- Display or not The panels Items,
&lt; ELEMENT Items EMPTY &gt;
&lt; ATTLIST Items
display (YES|NO) #FIXED "YES"
icon CDATA &gt;
-->
<Items display="YES" icon="eye2.gif"/>
<!-- Display or not The panels Itemsets,
&lt; ELEMENT Itemsets EMPTY &gt;
&lt; ATTLIST Itemsets
display (YES|NO) #FIXED "YES"
icon CDATA &gt;
-->
<Itemsets display="YES" icon="eye2.gif"/>
<!-- Display or not The panels Rules,
&lt; ELEMENT Rules EMPTY &gt;
&lt; ATTLIST Rules
display (YES|NO) #FIXED "YES"
icon CDATA &gt;
-->
<Rules display="YES" icon="eye2.gif"/>
<!-- Display or not The panels Indices,
&lt; ELEMENT Indices EMPTY &gt;
&lt; ATTLIST Indices
display (YES|NO) #FIXED "YES"
icon CDATA &gt;
-->
<Indices display="YES" icon="eye2.gif"/>
</panels>
</Application>

### 4.10.2 Ajouter d'autres fichiers theme:

Les fichiers avec une extension nom.themes, présents dans le répertoire arval définissent les différents habillages possible dans Arval. Au lancement de l'application, Arval charge le fichier Default.theme. Les autres fichiers sont utilisés pour construire les Items de menu, du menu THEMES. Il est possible de fabriquer soi-même sont habillage en utilisant pour cela l'excellente interface "Control Panel" de Tinylaf et d'enregister le résultat dans un nouveau fichier nom.theme.
Pour lancer le "Control Panel" taper: java -jar lib/tinylaf.jar