Projet

Général

Profil

Data preparation with command line » Historique » Version 3

François Rioult, 03/12/2020 15:15

1 1 François Rioult
h1. Data preparation with command line
2
3 2 François Rioult
h2. Pré-requis
4
5
* "Installer les pré-requis de KDAriane":https://forge.greyc.fr/projects/kdariane/wiki/Prerequisite (laisser tomber le côté Java, nous n'en aurons pas besoin)
6 3 François Rioult
* "Installer KDAriane":https://forge.greyc.fr/projects/kdariane/wiki/KDAriane
7 1 François Rioult
8 3 François Rioult
h2. Chaîne de traitement
9 1 François Rioult
10 3 François Rioult
Nous allons travailler sur les données @zoo.csv@, dans le dossier @data@
11 1 François Rioult
<pre>
12
1,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1
13
1,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1
14
4,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0
15
1,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1
16
1,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1
17
1,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1
18
1,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1
19
...
20
</pre>
21
22 3 François Rioult
Il y a aussi un fichier décrivant les colonnes : @zoo.col@
23 1 François Rioult
<pre>
24
0 Class
25
0 hair
26
0 feathers
27
0 eggs
28
0 milk
29
0 airborne
30
0 aquatic
31
0 predator
32
0 toothed
33
0 backbone
34
0 breathes
35
0 venomous
36
0 fins
37
0 legs
38
0 tail
39
0 domestic
40
0 catsize
41
</pre>
42
43 3 François Rioult
La première étape consiste à répertorier les différentes valeurs pour chaque attribut :
44 1 François Rioult
<pre>
45 3 François Rioult
$ dictionary zoo.csv zoo.col
46 1 François Rioult
#Class
47
1
48
2
49
3
50
4
51
5
52
6
53
7
54
#hair
55
0
56
1
57
#feathers
58
0
59
1
60
#eggs
61
0
62
1
63
...
64
</pre>
65 3 François Rioult
66
Cette première étape pourrait déjà faire l'objet d'un démonstrateur @swapper@.
67
68
On va enregistrer ce résultat :
69 1 François Rioult
<pre>
70 3 François Rioult
dictionary zoo.csv zoo.col > zoo.dico
71
</pre>
72
73
Il est maintenant possible de remplacer chaque valeur par un identifiant entier, de façon à obtenir des données au format transactionnel :
74
<pre>
75
$ segmentation zoo.csv zoo.dico zoo.bin zoo.trad
76
$ cat zoo.bin
77
1 9 10 12 15 16 18 21 23 25 27 28 30 34 38 40 43
78
1 9 10 12 15 16 18 20 23 25 27 28 30 34 39 40 43
79
4 8 10 13 14 16 19 21 23 25 26 28 31 32 39 40 42
80
1 9 10 12 15 16 18 21 23 25 27 28 30 34 38 40 43
81
1 9 10 12 15 16 18 21 23 25 27 28 30 34 39 40 43
82
1 9 10 12 15 16 18 20 23 25 27 28 30 34 39 40 43
83 1 François Rioult
1 9 10 12 15 16 18 20 23 25 27 28 30 34 39 41 43
84 3 François Rioult
...
85 1 François Rioult
</pre>
86 3 François Rioult
et le fichier de traduction :
87 1 François Rioult
<pre>
88 3 François Rioult
$ cat zoo.trad
89 1 François Rioult
#0
90
1 Class<=1
91
2 Class<=2
92
3 Class<=3
93
4 Class<=4
94
5 Class<=5
95
6 Class<=6
96
7 Class<=7
97
#1
98
8 hair<=0
99
9 hair<=1
100
#2
101
10 feathers<=0
102
11 feathers<=1
103
#3
104
12 eggs<=0
105
13 eggs<=1
106
#4
107
14 milk<=0
108
15 milk<=1
109 3 François Rioult
...
110 1 François Rioult
</pre>
111 3 François Rioult
112
h2. Un premier scénario de fouille avec paramètres
113
114
On extrait les règles sans exception (-d 0), de support minimal 10% (-s 0.1) :
115
<pre>
116
$ mvminer -s 0.1 -d 0 -i zoo.bin | more
117
</pre>
118
119
Même chose avec traduction des résultats :
120
<pre>
121
$ mvminer -s 0.1 -d 0 -i zoo.bin | translation zoo.trad | more
122
</pre>