Transcript Document
Machine Learning with
WEKA
WEKA: A Machine
Learning Toolkit
The Explorer
•
•
Eibe Frank
•
•
Department of Computer Science,
University of Waikato, New Zealand
•
Classification and
Regression
Clustering
Association Rules
Attribute Selection
Data Visualization
The Experimenter
The Knowledge
Flow GUI
Conclusions
http://maya.cs.depaul.edu/~classes/ect584/WEKA/index.html
http://archive.ics.uci.edu/ml/ DATASETS
WEKA: el pájaro
Copyright: Martin Kramer ([email protected])
7/17/2015
University of Waikato
2
WEKA: el programa
Software para máquinas de aprendizaje/minerías de datos en
Java (distribuido bajo GNU Public License)
Usado para investigación, educación y aplicaciones
Complementa el libro “Data Mining” by Witten & Frank
Principales características:
Abarca conjunto de herramientas para el preprocesamiento
de datos, algoritmos de aprendizaje y métodos de
evaluación.
Interfaces gráficas incluyendo visualización de datos
Posibilidad de comparar algoritmos de aprendizaje.
7/17/2015
University of Waikato
3
WEKA: versiones
Varias versiones de WEKA:
WEKA 3.0: “book version” compatible con la
descripción en el libro de minería de datos.
WEKA 3.2: “GUI version” con interfaces de usuario
gráficas.(la versión de libro esta orientada a linea
de comandos solamente)
WEKA 3.3: “versión de desarrollo” con muchas
mejoras
Estas presentaciones están basadas en
snapshots de WEKA 3.3 (WEKA 3.4, 3.5, 3.6)
7/17/2015
University of Waikato
4
WEKA solo trabaja con archivos
“planos”
@relation heart-disease-simplified
@attribute age numeric
@attribute sex { female, male}
@attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}
@attribute cholesterol numeric
@attribute exercise_induced_angina { no, yes}
@attribute class { present, not_present}
@data
63,male,typ_angina,233,no,not_present
67,male,asympt,286,yes,present
67,male,asympt,229,yes,present
38,female,non_anginal,?,no,not_present
...
7/17/2015
University of Waikato
5
WEKA solo trabaja con archivos
“planos
@relation heart-disease-simplified
@attribute age numeric
@attribute sex { female, male}
@attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}
@attribute cholesterol numeric
@attribute exercise_induced_angina { no, yes}
@attribute class { present, not_present}
@data
63,male,typ_angina,233,no,not_present
67,male,asympt,286,yes,present
67,male,asympt,229,yes,present
38,female,non_anginal,?,no,not_present
...
7/17/2015
University of Waikato
6
7/17/2015
University of Waikato
7
LINEA DE COMANDOS
7/17/2015
University of Waikato
8
7/17/2015
University of Waikato
9
Explorer: pre-procesamiento de datos
Los datos pueden ser importados de varios
formatos: ARFF, CSV, C4.5, binary
Los datos pueden ser leídos desde un URL o
desde una base de datos SQL (usando JDBC)
Las herramientas de preprocesamiento en WEKA
se llaman “filters”(filtros)
WEKA contiene filters para:
7/17/2015
Discretización, normalización, muestreo
(resampling), selección de atributos, transformación
y combinación de atributos, …
University of Waikato
10
7/17/2015
University of Waikato
11
7/17/2015
University of Waikato
12
7/17/2015
University of Waikato
13
7/17/2015
University of Waikato
14
7/17/2015
University of Waikato
15
7/17/2015
University of Waikato
16
7/17/2015
University of Waikato
17
7/17/2015
University of Waikato
18
7/17/2015
University of Waikato
19
7/17/2015
University of Waikato
20
7/17/2015
University of Waikato
21
7/17/2015
University of Waikato
22
7/17/2015
University of Waikato
23
7/17/2015
University of Waikato
24
7/17/2015
University of Waikato
25
7/17/2015
University of Waikato
26
7/17/2015
University of Waikato
27
7/17/2015
University of Waikato
28
7/17/2015
University of Waikato
29
7/17/2015
University of Waikato
30
7/17/2015
University of Waikato
31
Explorer: construcción de
“clasificadores”
Clasificadores en WEKA son modelos de
predicción con valores nominales o numéricos
Los esquemas de aprendizaje implementados
incluyen:
Listas y árboles de Decisión, clasificadores basados en
instancias, máquinas de soporte de vectores(SVM),
perceptrón multi-capa, regresión logística, redes de Bayes,
…
Incluye “Meta”-clasificadores:
7/17/2015
Bagging, boosting, stacking, códigos de correción de salida
de error, aprendizaje localmente evaluado…
University of Waikato
32
7/17/2015
University of Waikato
33
7/17/2015
University of Waikato
34
7/17/2015
University of Waikato
35
7/17/2015
University of Waikato
36
7/17/2015
University of Waikato
37
7/17/2015
University of Waikato
38
7/17/2015
University of Waikato
39
7/17/2015
University of Waikato
40
7/17/2015
University of Waikato
41
7/17/2015
University of Waikato
42
7/17/2015
University of Waikato
43
7/17/2015
University of Waikato
44
7/17/2015
University of Waikato
45
7/17/2015
University of Waikato
46
7/17/2015
University of Waikato
47
7/17/2015
University of Waikato
48
7/17/2015
University of Waikato
49
7/17/2015
University of Waikato
50
Kappa
Kappa Statistics: an index which compares
the agreement against that which might be
expected by chance. Kappa can be thought of
as the chance-corrected proportional
agreement, and possible values range from
+1 (perfect agreement) via 0 (no agreement
above that expected by chance) to -1
(complete disagreement).
Hypothetical Example: 29 patients are
examined by two independent doctors (see
Table). 'Yes' denotes the patient is diagnosed
with disease X by a doctor. 'No' denotes the
patient is classified as no disease X by a
doctor.
Doctor A
No
Yes
Total
No
10(34.5%)
7(24.1%)
17 (58.6%)
Yes
0(0%)
12 (41.4%)
12 (41.4%)
10(34.5%)
19 (65.5%)
29
Doctor B
Total
Kappa = (Observed agreement - Chance
agreement)/(1 - Chance agreement)
Observed agreement = (10 + 12)/29 = 0.76
Chance agreement = 0.586 * 0.345 + 0.655 *
0.414 = 0.474
Kappa = (0.76 - 0.474)/(1 - 0.474) = 0.54
7/17/2015
University of Waikato
51
Otros evaluadores
recall:
The number of correct but missed locations ina body of text or correct but
not returned search results for a user's query. Recall is also widely
used in evaluating other types of automatic systems. Typically
expressed as a fraction such that a recall of 0.7 means that seven in
ten of the possible correct answers were found.
F-measure:
The harmonic mean of precision and recall. F-measure is widely used to
evaluate the quality of automated systems. F-measure is a function of
confidence cutoff. To compute F-measure, one must first devise a
ground truth set of information against which the automated system's
output is compared.
7/17/2015
University of Waikato
52
7/17/2015
University of Waikato
53
7/17/2015
University of Waikato
54
7/17/2015
University of Waikato
55
7/17/2015
University of Waikato
56
7/17/2015
University of Waikato
57
7/17/2015
University of Waikato
58
7/17/2015
University of Waikato
59
7/17/2015
University of Waikato
60
7/17/2015
University of Waikato
61
7/17/2015
University of Waikato
62
7/17/2015
University of Waikato
63
7/17/2015
University of Waikato
64
7/17/2015
University of Waikato
65
7/17/2015
University of Waikato
66
7/17/2015
QuickTime™ and a TI FF (LZW) decompressor are needed t o see this picture.
University of Waikato
67
7/17/2015
QuickTime™ and a TI FF (LZW) decompressor are needed t o see this picture.
University of Waikato
68
7/17/2015
QuickTime™ and a TI FF (LZW) decompressor are needed t o see this picture.
University of Waikato
69
7/17/2015
University of Waikato
70
7/17/2015
University of Waikato
71
7/17/2015
University of Waikato
72
7/17/2015
University of Waikato
73
7/17/2015
University of Waikato
74
7/17/2015
University of Waikato
75
7/17/2015
University of Waikato
76
Qu i c k Ti m e™ and a TIF F (LZ W) d ec om pres s or a re ne eded to s ee th i s pi c ture.
7/17/2015
University of Waikato
77
7/17/2015
University of Waikato
78
7/17/2015
University of Waikato
79
7/17/2015
University of Waikato
80
7/17/2015
University of Waikato
81
QuickTime™ and a TIFF (LZW) decompressor are needed to see t his picture.
7/17/2015
University of Waikato
82
QuickTime™ and a TIFF (LZW) decompressor are needed to see t his picture.
7/17/2015
University of Waikato
83
7/17/2015
University of Waikato
84
QuickTime™ and a TIFF (LZW) decompressor are needed to see t his picture.
7/17/2015
University of Waikato
85
7/17/2015
University of Waikato
86
7/17/2015
University of Waikato
87
7/17/2015
University of Waikato
88
7/17/2015
University of Waikato
89
7/17/2015
University of Waikato
90
7/17/2015
University of Waikato
91
7/17/2015
University of Waikato
92
7/17/2015
University of Waikato
93
Explorer: clustering data
WEKA contiene “clusterers” para encontrar grupos
de instancias similares en un conjunto de datos
Esquemas implementados:
k-Means, EM, Cobweb, X-means, FarthestFirst
Los Clusters se pueden visualizar y comparar con
“true” clusters (si son dados)
Evaluación basada en “loglikelihood” si el
esquema de clustering produce una distribución
de probabilidad
7/17/2015
University of Waikato
94
7/17/2015
University of Waikato
95
7/17/2015
University of Waikato
96
7/17/2015
University of Waikato
97
7/17/2015
University of Waikato
98
7/17/2015
University of Waikato
99
7/17/2015
University of Waikato
100
7/17/2015
University of Waikato
101
7/17/2015
University of Waikato
102
7/17/2015
University of Waikato
103
7/17/2015
University of Waikato
104
7/17/2015
University of Waikato
105
7/17/2015
University of Waikato
106
7/17/2015
University of Waikato
107
7/17/2015
University of Waikato
108
7/17/2015
University of Waikato
109
Explorer: Encontrando asociaciones
WEKA contiene una implementación del algoritmo
Apriori para aprendizaje de reglas de asociación
Puede identificar dependencias estadísticas entre
grupos de atributos:
Trabaja solamente con datos discretos
milk, butter bread, eggs (con confianza 0.9 y
soporte de 2000)
Apriori puede calcular todas las reglas que tienen
un soporte mínimo y excedan una confianza dada.
7/17/2015
University of Waikato
110
Reglas de Asociación
If humedad=normal and viento=no Then clase=P 4/4
If humedad=normal and clase=P Then viento=no 4/6
If viento=no and clase=P Then humedad=normal 4/6
If humedad=normal Then viento=no and clase=P 4/7
If viento=no Then clase=P and humedad=normal 4/8
If clase=P Then viento=no and humedad=normal 4/9
If true Then humedad=normal and viento=no and clase=P 4/12
Si pensamos en 100% de éxito, entonces sólo la primera regla cumple.
7/17/2015
University of Waikato
111
De hecho existen 58 reglas considerando la tabla completa
que cubren al menos dos ejemplos con un 100% de
exactitud (exaccuracy).
El proceso es mas o menos el siguiente y sigue dos pasos
(Apriori, Agrawal et al. '94):
Genera todas los items sets con un elemento. Usa estos
para generar los de dos elementos, y así sucesivamente.
Se toman todos los posibles pares que cumplen con las
medidas mínimas de soporte. Esto permite ir eliminando
posibles combinaciones ya que no todas se tienen que
considerar.
Genera las reglas revisando que cumplan con el criterio
mínimo de confianza.
7/17/2015
University of Waikato
112
7/17/2015
University of Waikato
113
7/17/2015
University of Waikato
114
7/17/2015
University of Waikato
115
7/17/2015
University of Waikato
116
7/17/2015
University of Waikato
117
7/17/2015
University of Waikato
118
7/17/2015
University of Waikato
119
Explorer: Selección de atributos
El Panel puede ser usado para investigar cual o
cuales subconjuntos de atributos son los más
predictivos
Métodos de selección de atributos contienen dos
partes:
Un método de búsqueda: best-first, forward
selection, random, exhaustivo, algoritmos
genéticos, ranking
Un método de evaluación: basados en correlación,
wrapper, ganancia de información, chi-cuadrado, …
Flexible: WEKA permite (casi) combinaciones
arbitrarias de estas dos
7/17/2015
University of Waikato
120
7/17/2015
University of Waikato
121
7/17/2015
University of Waikato
122
7/17/2015
University of Waikato
123
7/17/2015
University of Waikato
124
7/17/2015
University of Waikato
125
7/17/2015
University of Waikato
126
7/17/2015
University of Waikato
127
7/17/2015
University of Waikato
128
Explorer: visualización de datos
Visualización muy útil : ayuda a determinar la
dificultad de un problema para el aprendizaje de
un problema
WEKA puede visualizar atributos simples en (1-d)
y pares de atributos en (2-d)
Para hacerlo: rotando en visualizaciones 3-d (estilo
Xgobi)
Valores de clases por color
“Jitter” opción para trabajar con atributos
nominales (y detectar puntos “escondidos”)
Función “Zoom-in”
7/17/2015
University of Waikato
129
Visualización
Muestra la distribución de todos los atributos en
2D
Representa en los ejes todos los posibles pares
de combinaciones de los atributos.
Este modo nos permite ver correlaciones y
asociaciones entre los atributos.
7/17/2015
University of Waikato
130
7/17/2015
University of Waikato
131
7/17/2015
University of Waikato
132
7/17/2015
University of Waikato
133
7/17/2015
University of Waikato
134
7/17/2015
University of Waikato
135
7/17/2015
University of Waikato
136
7/17/2015
University of Waikato
137
7/17/2015
University of Waikato
138
7/17/2015
University of Waikato
139
7/17/2015
University of Waikato
140
7/17/2015
University of Waikato
141
7/17/2015
University of Waikato
142
Realizando experimentos
El Experimentador hace fácil comparar el
comportamiento de los diferentes esquemas de
aprendizaje.
Problemas de clasificación y regresión
Los resultados pueden ser escritos a un archivo o
una base de datos
Opciones de evaluación: cross-validation, curvas
de aprendizaje, hold-out
Puede iterar al definirse diferentes parámetros
Prueba de significancia incorporada!
7/17/2015
University of Waikato
143
7/17/2015
University of Waikato
144
7/17/2015
University of Waikato
145
7/17/2015
University of Waikato
146
7/17/2015
University of Waikato
147
7/17/2015
University of Waikato
148
7/17/2015
University of Waikato
149
7/17/2015
University of Waikato
150
7/17/2015
University of Waikato
151
7/17/2015
University of Waikato
152
7/17/2015
University of Waikato
153
7/17/2015
University of Waikato
154
7/17/2015
University of Waikato
155
7/17/2015
University of Waikato
156
El flujo del conocimiento con GUI
Nueva interface gráfica para WEKA
interface basada en Java-Beans para definir,
ejecutar experimentos de máquinas de
aprendizaje.
Las pestañas Data sources, classifiers, etc. son
beans que se pueden conectar gráficamente
Digamos que los datos fluyen a través de los
componentes: e.g.,“data source” -> “filter” ->
“classifier” -> “evaluator”
Los experimentos pueden ser guardados y
cargados
7/17/2015
University of Waikato
157
7/17/2015
University of Waikato
158
7/17/2015
University of Waikato
159
7/17/2015
University of Waikato
160
7/17/2015
University of Waikato
161
7/17/2015
University of Waikato
162
7/17/2015
University of Waikato
163
7/17/2015
University of Waikato
164
7/17/2015
University of Waikato
165
7/17/2015
University of Waikato
166
7/17/2015
University of Waikato
167
7/17/2015
University of Waikato
168
7/17/2015
University of Waikato
169
7/17/2015
University of Waikato
170
7/17/2015
University of Waikato
171
7/17/2015
University of Waikato
172
7/17/2015
University of Waikato
173
7/17/2015
University of Waikato
174
7/17/2015
University of Waikato
175
7/17/2015
University of Waikato
176
7/17/2015
University of Waikato
177
Conclusion: try it yourself!
WEKA esta disponible en
http://www.cs.waikato.ac.nz/ml/weka
Se tienen una lista de proyectos basados en
WEKA
Quienes han contribuido WEKA :
Abdelaziz Mahoui, Alexander K. Seewald, Ashraf M. Kibriya, Bernhard
Pfahringer , Brent Martin, Peter Flach, Eibe Frank ,Gabi Schmidberger
,Ian H. Witten , J. Lindgren, Janice Boughton, Jason Wells, Len Trigg,
Lucio de Souza Coelho, Malcolm Ware, Mark Hall ,Remco Bouckaert ,
Richard Kirkby, Shane Butler, Shane Legg, Stuart Inglis, Sylvain Roy,
Tony Voyle, Xin Xu, Yong Wang, Zhihai Wang
7/17/2015
University of Waikato
178