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