Sunteți pe pagina 1din 59

Practical Data Mining Tutorial 1: Introduction to the WEKA Explorer

Mark Hall, Eibe Frank and Ian H. Witten May 5, 2011


c 2006-2012 University of Waikato

Getting started
Este tutorial presenta la interfaz gr aca de usuario principal para acceder a las instalaciones de WEKA, llamado Explorer WEKA. Vamos a trabajar con WEKA 3.6 (aunque casi todo es lo mismo con otras versiones), y suponemos que se ha instalado en su sistema. Invocar WEKA desde el men u INICIO de Windows (en Linux o Mac, haga doble clic en weka.jar o weka.app). Esto pone en marcha el GUI Chooser WEKA. Haga clic en el Explorer bot on para entrar en el WEKA Explorer. S olo en caso de que usted se est a preguntando sobre el resto de botones en la GUI Chooser: Experimenter es una interfaz de usuario para comparar el rendimiento predictivo de algoritmos de aprendizaje; KnowledgeFlow es una interfaz basada en componentes que tiene una funcionalidad similar a la de Explorer; y Simple CLI se abre un comando-l nea de interfaz que emula una terminal y le permite interactuar con WEKA de esta manera.

This tutorial introduces the main graphical user interface for accessing WEKAs facilities, called the WEKA Explorer. We will work with WEKA 3.6 (although almost everything is the same with other versions), and we assume that it is installed on your system. Invoke WEKA from the Windows START menu (on Linux or the Mac, double-click weka.jar or weka.app). This starts up the WEKA GUI Chooser. Click the Explorer button to enter the WEKA Explorer. Just in case you are wondering about the other buttons in the GUI Chooser: Experimenter is a user interface for comparing the predictive performance of learning algorithms; KnowledgeFlow is a component-based interface that has a similar functionality as the Explorer; and Simple CLI opens a command-line interface that emulates a terminal and lets you interact with WEKA in this fashion.

The panels in the Explorer


La interfaz de usuario de la Explorer se compone de seis paneles, invocadas por las etiquetas en la parte superior de la ventana. El panel de Preprocess es la que est a abierta cuando la Explorer por primera vez. Este tutorial le introducir a a otros dos, as : Classify y Visualize. (Los otros tres paneles se explican en tutoriales m as tarde.) He aqu una breve descripci on de las funciones que estos tres grupos de realizar. Preprocess es donde puedes cargar los datos y preproceso. Una vez que un conjunto de datos se ha cargado, el panel muestra infor` El conjunto de datos puede maci on sobre Al. ser modicado, ya sea mediante la edici on de forma manual o mediante la aplicaci on de un ltro, y la versi on modicada se puede guardar. Como alternativa a la carga de un conjunto de datos pre-existentes, una articial se pueden crear mediante el uso de un generador. Tambi en es posible cargar datos desde una URL o desde una base de datos.

The user interface to the Explorer consists of six panels, invoked by the tabs at the top of the window. The Preprocess panel is the one that is open when the Explorer is rst started. This tutorial will introduce you to two others as well: Classify and Visualize. (The remaining three panels are explained in later tutorials.) Heres a brief description of the functions that these three panels perform. Preprocess is where you to load and preprocess data. Once a dataset has been loaded, the panel displays information about it. The dataset can be modied, either by editing it manually or by applying a lter, and the modied version can be saved. As an alternative to loading a pre-existing dataset, an articial one can be created by using a generator. It is also possible to load data from a URL or from a database.

Classify is where you invoke the classication methods in WEKA. Several options for the classication process can be set, and the result of the classication can be viewed. The training dataset used for classication is the one loaded (or generated) in the Preprocess panel.

Classify es donde se invoca a los m etodos de clasicaci on en WEKA. Varias opciones para el proceso de clasicaci on se puede establecer, y el resultado de la clasicaci on se puede ver. El conjunto de datos de entrenamiento utilizados para la clasicaci on es la carga (o generada) en el panel de Preprocess.

Visualize is where you can visualize the dataset loaded in the Preprocess panel as twodimensional scatter plots. You can select the attributes for the x and y axes.

Visualize es donde se puede visualizar el conjunto de datos cargados en el panel de Preprocess como diagramas de dispersi on de dos dimensiones. Puede seleccionar los atributos de los x y y ejes.

The Preprocess panel


Preprocess es el panel que se abre cuando el Explorer WEKA se ha iniciado.

Preprocess is the panel that opens when the WEKA Explorer is started.

3.1

Loading a dataset
Antes de cambiar a cualquier otro panel, el Explorer debe tener un conjunto de datos para trabajar. Para cargar una, haga clic en el bot on de Open le... en la esquina superior izquierda del panel. Mire a su alrededor para la carpeta que contiene los conjuntos de datos y busque un archivo llamado weather.nominal.arff (este archivo est a en el carpeta de data que se suministra cuando WEKA se instala). Este contiene la versi on nominal de la norma tiempo conjunto de datos. Abrir archivo. Ahora la pantalla se ver a como la Figure 1.

Before changing to any other panel, the Explorer must have a dataset to work with. To load one up, click the Open le... button in the top left corner of the panel. Look around for the folder containing datasets, and locate a le named weather.nominal.arff (this le is in the data folder that is supplied when WEKA is installed). This contains the nominal version of the standard weather dataset. Open this le. Now your screen will look like Figure 1.

The weather data is a small dataset with only 14 examples for learning. Because each row is an independent example, the rows/examples are called instances. The instances of the weather dataset have 5 attributes, with names outlook, temperature, humidity, windy and play. If you click on the name of an attribute in the left sub-panel, information about the selected attribute will be shown on the right. You can see the values of the attribute and how many times an instance in the dataset has a particular value. This information is also shown in the form of a histogram.

Los datos de clima es un conjunto de datos peque no con s olo 14 ejemplos para el aprendizaje. Debido a que cada la es un ejemplo independiente, las las/ejemplos son llamados casos. Los casos del conjunto de datos meteorol ogicos tienen 5 atributos, con perspectivas nombres , la temperatura, humedad, jugar con mucho viento y. Si hace clic en el nombre de un atributo en el sub-panel de la izquierda, la informaci on acerca del atributo seleccionado se muestra a la derecha. Usted puede ver los valores de los atributos y las veces que una instancia del conjunto de datos tiene un valor particular. Esta informaci on se muestra tambi en en la forma de un histograma.

Figure 1: The Explorers Preprocess panel. All attributes in this dataset are nominal, i.e. they have a predened nite set of values. Each instance describes a weather forecast for a particular day and whether to play a certain game on that day. It is not really clear what the game is, but let us assume that it is golf. The last attribute play is the class attributeit classies the instance. Its value can be yes or no. Yes means that the weather conditions are OK for playing golf, and no means they are not OK. Todos los atributos de este conjunto de datos son nominales, es decir, tienen un conjunto nito de valores predenidos. Cada instancia se describe un pron ostico del tiempo para un d a en particular y si a jugar un cierto juego en ese d a. No est a muy claro lo que el juego es, pero supongamos que es el golf. Jugar el u ltimo atributo es el atributo classque clasica la instancia. Su valor puede ser si o no. S signica que las condiciones clim aticas est an bien para jugar al golf, y no signica que no est an bien.

3.2

Exercises
Para familiarizarse con las funciones discutido hasta ahora, por favor, los dos ejercicios siguientes. Las soluciones a estos y otros ejercicios de este tutorial se dan al nal. Ex. 1: Cu ales son los valores que la temperatura el atributo puede tener?

To familiarize yourself with the functions discussed so far, please do the following two exercises. The solutions to these and other exercises in this tutorial are given at the end. Ex. 1: What are the values that the attribute temperature can have?

Ex. 2: Load a new dataset. Press the Open le button and select the le iris.arff. How many instances does this dataset have? How many attributes? What is the range of possible values of the attribute petallength ?

Ex. 2: Carga un nuevo conjunto de datos. Pulse el bot on Abrir el archivo y seleccione el archivo iris.arff. Cu antos casos se han esta base de datos? C omo muchos atributos? Cu al es el rango de valores posibles de petallength el atributo?

3.3

The dataset editor


Es posible ver y editar un conjunto de datos desde el interior de WEKA. Para experimentar con esto, cargar el archivo weather.nominal.arff nuevo. Haga clic en el bot on de Edit... de la la de botones en la parte superior del panel de Preprocess. Esto abre una nueva ventana llamada Viewer, que enumera todas las instancias de los datos meteorol ogicos (v ease la Figure 2).

It is possible to view and edit an entire dataset from within WEKA. To experiment with this, load the le weather.nominal.arff again. Click the Edit... button from the row of buttons at the top of the Preprocess panel. This opens a new window called Viewer, which lists all instances of the weather data (see Figure 2).

3.3.1

Exercises

Ex. 3: What is the function of the rst column in the Viewer?

Ex. 3: Cu al es la funci on de la primera columna de la Viewer?

Ex. 4: Considering the weather data, what is the class value of instance number 8?

Ex. 4: Teniendo en cuenta los datos meteorol ogicos, cu al es el valor de la clase de n umero de instancia 8?

Ex. 5: Load the iris data and open it in the editor. How many numeric and how many nominal attributes does this dataset have?

Ex. 5: Carga los datos de iris y abrirlo en el editor. C omo los atributos nominales muchas num erico y el n umero de este conjunto de datos se tienen?

3.4

Applying a lter
En WEKA, ltros son m etodos que se pueden utilizar para modicar bases de datos de manera sistem aticaes decir, son datos del proceso previo herramientas. WEKA tiene varios ltros para diferentes tareas. Actualizar el weather.nominal conjunto de datos, y vamos a eliminar un atributo de ella. El ltro adecuado se llama Remove, su nombre completo es:

In WEKA, lters are methods that can be used to modify datasets in a systematic fashionthat is, they are data preprocessing tools. WEKA has several lters for dierent tasks. Reload the weather.nominal dataset, and lets remove an attribute from it. The appropriate lter is called Remove; its full name is:

weka.filters.unsupervised.attribute.Remove

Figure 2: The data viewer. Examine this name carefully. Filters are organized into a hierarchical structure whose root is weka. Those in the unsupervised category dont require a class attribute to be set; those in the supervised category do. Filters are further divided into ones that operate primarily on attributes/columns (the attribute category) and ones that operate primarily on instances/rows (the instance category). Examine cuidadosamente este nombre. Los ltros est an organizados en una estructura jer arquica, cuya ra z es weka. Los que est an en la categor a de unsupervised no requieren un atributo de clase que se establece, los de la categor a supervised hacer. Los ltros se dividen en los que operan principalmente en los atributos/columnas (la categor a attribute) y los que operan principalmente en casos/las (la categor a instance). Si hace clic en el bot on Choose en el panel de Preprocess, se abre un editor jer arquico en el que se selecciona un ltro, siguiendo la ruta de acceso correspondiente a su nombre completo. Utilice la ruta dada en por encima del nombre completo para seleccionar el ltro de Remove. Una vez que se selecciona, el texto Eliminar aparecer a en el campo situado junto al bot on de Choose.

If you click the Choose button in the Preprocess panel, a hierarchical editor opens in which you select a lter by following the path corresponding to its full name. Use the path given in the full name above to select the Remove lter. Once it is selected, the text Remove will appear in the eld next to the Choose button.

Click on the eld containing this text. A window opens called the GenericObjectEditor, which is used throughout WEKA to set parameter values for all of the tools. It contains a short explanation of the Remove lterclick More to get a fuller description. Underneath there are two elds in which the options of the lter can be set. The rst option is a list of attribute numbers. The second optionInvertSelectionis a switch. If it is false, the specied attributes are removed; if it is true, these attributes are NOT removed.

Haga clic en el campo que contiene este texto. Se abre una ventana denominada GenericObjectEditor, que se utiliza en todo WEKA para establecer valores de los par ametros de todas las herramientas. Contiene una breve explicaci on del ltro de Removehaga clic More para obtener una descripci on m as completa. Debajo hay dos campos en los que las opciones del ltro se puede establecer. La primera opci on es una lista de n umeros de atributo. La segunda opci onInvertSelection es un interruptor. Si se trata de falsos, los atributos especicados se quitan, si es verdadero, estos atributos no se quitan. Ingrese 3 en el campo attributeIndices y haga clic en el bot on de OK. La ventana con las opciones de ltro se cierra. Ahora haga clic en el bot on de Apply a la derecha, es decir, los datos a trav es del ltro. El ltro elimina el atributo con el ndice 3 del conjunto de datos, y se puede ver que el conjunto de atributos se ha reducido. Este cambio no afecta al conjunto de datos en el archivo, s olo se aplica a los datos recogidos en la memoria. El conjunto de datos modicado se puede guardar en un archivo ARFF nuevo pulsando el bot on de Save... y entrar en un nombre de archivo. La acci on del ltro se puede deshacer pulsando el bot on de Undo. Una vez m as, esto se aplica a la versi on de los datos contenidos en la memoria. Lo que hemos descrito se muestra c omo los ltros en WEKA se aplican a los datos. Sin embargo, en el caso particular de Remove, hay una manera m as sencilla de lograr el mismo efecto. En lugar de invocar el Remove ltro, los atributos se pueden seleccionar con los cuadros peque nos en la Attributes sub-panel y eliminar con el bot on de Remove que aparece en la parte inferior, debajo de la lista de atributos.

Enter 3 into the attributeIndices eld and click the OK button. The window with the lter options closes. Now click the Apply button on the right, which runs the data through the lter. The lter removes the attribute with index 3 from the dataset, and you can see that the set of attributes has been reduced. This change does not aect the dataset in the le; it only applies to the data held in memory. The changed dataset can be saved to a new ARFF le by pressing the Save... button and entering a le name. The action of the lter can be undone by pressing the Undo button. Again, this applies to the version of the data held in memory.

What we have described illustrates how lters in WEKA are applied to data. However, in the particular case of Remove, there is a simpler way of achieving the same eect. Instead of invoking the Remove lter, attributes can be selected using the small boxes in the Attributes sub-panel and removed using the Remove button that appears at the bottom, below the list of attributes.

3.4.1

Exercises

Ex. 6: Ensure that the weather.nominal Ex. dataset is loaded. Use the lter weka.unsupervised.instance.RemoveWithValues to remove all instances in which the humidity attribute has the value high. To do this, rst make the eld next to the Choose button show the text RemoveWithValues. Then click on it to get the GenericObjectEditor window and gure out how to change the lter settings appropriately.

6: Aseg urese de que el weather.nominal conjunto de datos se carga. Utilice el ltro weka.unsupervised.instance.RemoveWithValues para eliminar todos los casos en los que el atributo humedad tiene el valor alto. Para ello, en primer lugar que el campo situado junto al bot on de Choose mostrar a el texto RemoveWithValues, a continuaci on, haga clic en ella para mostrar la ventana de GenericObjectEditor y encontrar la manera de cambiar la conguraci on del ltro adecuadamente.

Ex. 7: Undo the change to the dataset that you just performed, and verify that the data is back in its original state.

Ex. 7: Deshacer el cambio en el conjunto de datos que acaba de realizar, y vericar que los datos vuelve a su estado original.

The Visualize panel


Ahora eche un vistazo a las instalaciones de WEKA de visualizaci on de datos. Estos funcionan mejor con datos num ericos, por lo que utilizar los datos del iris. En primer lugar, la carga iris.arff. Estos datos contienen mediciones de ores. Cada caso se clasica como uno de tres tipos: setosa iris, iris versicolor y virginica iris. El conjunto de datos cuenta con 50 ejemplos de cada tipo: 150 casos en total. Haga clic en la cha Visualize para que aparezca el panel de visualizaci on. Muestra una cuadr cula que contiene 25 gr acos de dispersi on de dos dimensiones, con todas las combinaciones posibles de los cinco atributos de los datos del iris en los x y y ejes. Al hacer clic en la primera parcela en la segunda la se abre una ventana que muestra una trama ampliada con los ejes seleccionados. Las instancias se muestran como peque nas cruces cuyo color depende de la clase de cruz de la instancia. El eje x muestra el atributo sepallength, y petalwidth muestra el y eje. Al hacer clic en una de las cruces se abre una ventana de Instance Info, que enumera los valores de todos los atributos de la instancia seleccionada. Cierre la ventana de Instance Info de nuevo. Los campos de selecci on en la parte superior de la ventana que contiene el diagrama de dispersi on se puede utilizar para cambiar los atributos utilizados por los x y y ejes. Pruebe a cambiar el eje x a petalwidth y el y eje petallength. El campo muestra Color: clase (Num)se puede utilizar para cambiar el c odigo de colores. Cada una de las parcelas de colores poco como la barra a la derecha de la ventana del gr aco de dispersi on representa un u nico atributo. Haciendo clic en un bar que utiliza atributos para los x eje del diagrama de dispersi on. Derecho clic en un bar hace lo mismo con los y eje. Trate de cambiar los x y y ejes de nuevo a sepallength y petalwidth utilizando estas barras.

We now take a look at WEKAs data visualization facilities. These work best with numeric data, so we use the iris data.

First, load iris.arff. This data contains ower measurements. Each instance is classied as one of three types: iris-setosa, iris-versicolor and irisvirginica. The dataset has 50 examples of each type: 150 instances in all. Click the Visualize tab to bring up the visualization panel. It shows a grid containing 25 twodimensional scatter plots, with every possible combination of the ve attributes of the iris data on the x and y axes. Clicking the rst plot in the second row opens up a window showing an enlarged plot using the selected axes. Instances are shown as little crosses whose color cross depends on the instances class. The x axis shows the sepallength attribute, and the y axis shows petalwidth.

Clicking on one of the crosses opens up an Instance Info window, which lists the values of all attributes for the selected instance. Close the Instance Info window again. The selection elds at the top of the window that contains the scatter plot can be used to change the attributes used for the x and y axes. Try changing the x axis to petalwidth and the y axis to petallength. The eld showing Colour: class (Num) can be used to change the colour coding.

Each of the colorful little bar-like plots to the right of the scatter plot window represents a single attribute. Clicking a bar uses that attribute for the x axis of the scatter plot. Right -clicking a bar does the same for the y axis. Try to change the x and y axes back to sepallength and petalwidth using these bars.

The Jitter slider displaces the cross for each instance randomly from its true position, and can reveal situations where instances lie on top of one another. Experiment a little by moving the slider.

El control deslizante Jitter desplaza la cruz por cada instancia al azar de su verdadera posici on, y puede revelar las situaciones en que casos se encuentran en la parte superior de uno al otro. Experimente un poco moviendo la barra deslizante. El bot on de Select Instance y Reset, Clear, y Save los botones le permiten cambiar el conjunto de datos. Algunos casos se pueden seleccionar y eliminar los dem as. Pruebe la opci on Rectangle: seleccionar un area por la izquierda haciendo clic y arrastrando el rat on. El Reset bot on ahora se transforma en un bot on de Submit. Haga clic en el, y todos los casos fuera del rect angulo se eliminan. Usted podr a utilizar Save para guardar el conjunto de datos modicados en un archivo, mientras que Reset restaura el conjunto de datos original.

The Select Instance button and the Reset, Clear and Save buttons let you change the dataset. Certain instances can be selected and the others removed. Try the Rectangle option: select an area by left-clicking and dragging the mouse. The Reset button now changes into a Submit button. Click it, and all instances outside the rectangle are deleted. You could use Save to save the modied dataset to a le, while Reset restores the original dataset.

The Classify panel


Ahora usted sabe c omo cargar un conjunto de datos de un archivo y visualizarlo como parcelas de dos dimensiones. En esta secci on se aplica un algoritmo de clasicaci ondenominado clasicador en WEKAa los datos. El clasicador se basa (aprende) un modelo de clasicaci on de los datos. En WEKA, todos los esquemas para predecir el valor de un atributo u nico, basado en los valores de algunos atributos de otros se llaman clasicadores, incluso si se utilizan para predecir un objetivo num ericomientras que otras personas a menudo describen situaciones tales como num erica predicci on o regresi on. La raz on es que, en el contexto de aprendizaje de m aquina, la predicci on num erica hist oricamente ha sido llamada la clasicaci on con clases continuas. Antes de empezar, carga la informaci on del tiempo nuevo. Ir al panel de Preprocess, haga clic en el bot on de Open le, y seleccione weather.nominal.arff desde el directorio de datos. Luego cambiar a la mesa de clasicaci on, haga clic en la cha Classify en la parte superior de la ventana. El resultado se muestra en la Figura 3.

Now you know how to load a dataset from a le and visualize it as two-dimensional plots. In this section we apply a classication algorithmcalled a classier in WEKAto the data. The classier builds (learns) a classication model from the data.

In WEKA, all schemes for predicting the value of a single attribute based on the values of some other attributes are called classiers, even if they are used to predict a numeric targetwhereas other people often describe such situations as numeric prediction or regression. The reason is that, in the context of machine learning, numeric prediction has historically been called classication with continuous classes.

Before getting started, load the weather data again. Go to the Preprocess panel, click the Open le button, and select weather.nominal.arff from the data directory. Then switch to the classication panel by clicking the Classify tab at the top of the window. The result is shown in Figure 3.

Figure 3: The Classify panel.

5.1

Using the C4.5 classier


Una m aquina popular m etodo de aprendizaje para la miner a de datos se denomina el algoritmo C4.5, y construye arboles de decisi on. En WEKA, se implementa en un clasicador llamado J48. Seleccione el clasicador J48 haciendo clic en el bot on de Choose en la parte superior de la cha Classier. Una ventana de di alogo aparece mostrando los diferentes tipos de clasicadores. Haga clic en la entrada trees a revelar sus subentradas, y haga clic en J48 elegir el clasicador J48. Tenga en cuenta que los clasicadores, como los ltros, est an organizados en una jerarqu a: J48 tiene el nombre completo weka.classifiers.trees.J48.

A popular machine learning method for data mining is called the C4.5 algorithm, and builds decision trees. In WEKA, it is implemented in a classier called J48. Choose the J48 classier by clicking the Choose button near the top of the Classier tab. A dialogue window appears showing various types of classier. Click the trees entry to reveal its subentries, and click J48 to choose the J48 classier. Note that classiers, like lters, are organized in a hierarchy: J48 has the full name weka.classifiers.trees.J48.

The classier is shown in the text box next to the Choose button: it now reads J48 C 0.25 M 2. The text after J48 gives the default parameter settings for this classier. We can ignore these, because they rarely require changing to obtain good performance from C4.5.

El clasicador se muestra en el cuadro de texto junto al bot on Choose: J48 C 0.25 M 2 se sustituir a por el texto. El texto despu es de J48 da la conguraci on de los par ametros por defecto para este clasicador. Podemos ignorar esto, ya que rara vez se requieren cambios para obtener un buen rendimiento de C4.5.

Decision trees are a special type of classication model. Ideally, models should be able to predict the class values of new, previously unseen instances with high accuracy. In classication tasks, accuracy is often measured as the percentage of correctly classied instances. Once a model has been learned, we should test it to see how accurate it is when classifying instances.

Los arboles de decisi on son un tipo especial de modelo de clasicaci on. Idealmente, los modelos deben ser capaces de predecir los valores de la clase de nuevo, no visto previamente casos con gran precisi on. En las tareas de clasicaci on, la precisi on se mide como el porcentaje de casos clasicados correctamente. Una vez que un modelo que se ha aprendido, hay que probarlo para ver c omo es exacto es la hora de clasicar los casos. Una opci on en WEKA es evaluar el rendimiento en el conjunto de entrenamientolos datos que se utiliz o para construir el clasicador. Esto no es generalmente una buena idea porque conduce a las estimaciones de rendimiento irrealmente optimista. Usted puede obtener el 100% de precisi on en los datos de entrenamiento por el aprendizaje de memoria sencillo, pero esto no nos dice nada sobre el rendimiento de los nuevos datos que se pueden encontrar cuando el modelo se aplica en la pr actica. No obstante, a t tulo ilustrativo es instructivo considerar el rendimiento de los datos de entrenamiento. En WEKA, los datos que se carga mediante el panel de Preprocess es el datos de entrenamiento. Para evaluar el conjunto de entrenamiento, elegir Use training set desde el panel de Test options en el panel Classify. Una vez que la estrategia de prueba se ha establecido, el clasicador se construye y se evalu o con el bot on Start. Este proceso conjunto de entrenamiento utilizando el algoritmo seleccionado aprendizaje, C4.5 en este caso. Luego se clasica a todas las instancias en los datos de entrenamientoporque esta es la opci on de evaluaci on que se ha elegido y estad sticas de resultados de desempe no. Estos se muestran en la Figure 4.

One option in WEKA is to evaluate performance on the training setthe data that was used to build the classier. This is NOT generally a good idea because it leads to unrealistically optimistic performance estimates. You can easily get 100% accuracy on the training data by simple rote learning, but this tells us nothing about performance on new data that might be encountered when the model is applied in practice. Nevertheless, for illustrative purposes it is instructive to consider performance on the training data.

In WEKA, the data that is loaded using the Preprocess panel is the training data. To evaluate on the training set, choose Use training set from the Test options panel in the Classify panel. Once the test strategy has been set, the classier is built and evaluated by pressing the Start button. This processes the training set using the currently selected learning algorithm, C4.5 in this case. Then it classies all the instances in the training databecause this is the evaluation option that has been chosenand outputs performance statistics. These are shown in Figure 4.

5.2

Interpreting the output


El resultado de la formaci on y la prueba aparece en el cuadro de Classier output a la derecha. Puede desplazarse por el texto para examinarla. En primer lugar, busque en la parte que describe el arbol de decisi on que se ha generado:

The outcome of training and testing appears in the Classier output box on the right. You can scroll through the text to examine it. First, look at the part that describes the decision tree that was generated: J48 pruned tree -----------------outlook = sunny | humidity = high: no (3.0) | humidity = normal: yes (2.0) outlook = overcast: yes (4.0) outlook = rainy | windy = TRUE: no (2.0) | windy = FALSE: yes (3.0) 10

Figure 4: Output after building and testing the classier.

Number of Leaves Size of the tree :

: 8

This represents the decision tree that was built, including the number of instances that fall under each leaf. The textual representation is clumsy to interpret, but WEKA can generate an equivalent graphical representation. You may have noticed that each time the Start button is pressed and a new classier is built and evaluated, a new entry appears in the Result List panel in the lower left corner of Figure 4. To see the tree, right-click on the trees.J48 entry that has just been added to the result list, and choose Visualize tree. A window pops up that shows the decision tree in the form illustrated in Figure 5. Right-click a blank spot in this window to bring up a new menu enabling you to auto-scale the view, or force the tree to t into view. You can pan around by dragging the mouse.

Esto representa el arbol de decisi on que fue construido, incluyendo el n umero de casos que corresponden a cada hoja. La representaci on textual es torpe de interpretar, pero WEKA puede generar una representaci on gr aca equivalente. Puede haber notado que cada vez que el bot on se pulsa Start y un clasicador de nueva construcci on y se evalu o, una nueva entrada aparece en el panel de Result List en la esquina inferior izquierda de la Figure 4. Para ver el arbol, haga clic en la entrada trees.J48 que acaba de ser a nadido a la lista de resultados, y elija Visualize tree. Aparece una ventana que muestra el arbol de decisi on en la forma ilustrada en la Figure 5. Haga clic en un punto en blanco en esta ventana para que aparezca un nuevo men u que le permite auto-escala de la vista, o la fuerza del arbol para ajustarse a la vista. Puede desplazarse por arrastrando el rat on.

11

Figure 5: The decision tree that has been built. This tree is used to classify test instances. The rst condition is the one in the so-called root node at the top. In this case, the outlook attribute is tested at the root node and, depending on the outcome, testing continues down one of the three branches. If the value is overcast, testing ends and the predicted class is yes. The rectangular nodes are called leaf nodes, and give the class that is to be predicted. Returning to the root node, if the outlook attribute has value sunny, the humidity attribute is tested, and if outlook has value rainy, the windy attribute is tested. No paths through this particular tree have more than two tests. Now let us consider the remainder of the information in the Classier output area. The next two parts of the output report on the quality of the classication model based on the testing option we have chosen. The following states how many and what proportion of test instances have been correctly classied: Este arbol se utiliza para clasicar los casos de prueba. La primera condici on es la de la llamada ra z del nodo en la parte superior. En este caso, el atributo perspectivas se prueba en el nodo ra z y, dependiendo del resultado, la prueba contin ua por una de las tres ramas. Si el valor es cubierto, naliza las pruebas y la clase predicha es s . Los nodos rectangulares se denominan hojas nodos, y dar la clase que se predijo. Volviendo al nodo ra z, si el atributo perspectivas tiene un valor sol, el atributo humedad se prueba, y si perspectivas tiene un valor de lluvias, el atributo viento se prueba. No hay caminos a trav es de este arbol en particular tiene m as de dos pruebas. Consideremos ahora el resto de la informaci on en el area de Classier output. Las dos siguientes partes del informe de salida en la calidad del modelo de clasicaci on basado en la opci on de prueba que hemos elegido. Los siguientes estados cu antos y qu e proporci on de casos de prueba han sido correctamente clasicados: 100%

Correctly Classified Instances

14

12

This is the accuracy of the model on the data used for testing. It is completely accurate (100%), which is often the case when the training set is used for testing. There are some other performance measures in the text output area, which we wont discuss here. At the bottom of the output is the confusion matrix: === Confusion Matrix === a b <-- classified as 9 0 | a = yes 0 5 | b = no Each element in the matrix is a count of instances. Rows represent the true classes, and columns represent the predicted classes. As you can see, all 9 yes instances have been predicted as yes , and all 5 no instances as no .

Esta es la precisi on del modelo sobre los datos utilizados para la prueba. Es totalmente preciso (100%), que es a menudo el caso cuando el conjunto de entrenamiento se utiliza para la prueba. Hay algunas medidas de desempe no en la zona de salida de texto, que no vamos a discutir aqu . En la parte inferior de la salida es la matriz de confusi on:

Cada elemento de la matriz es un recuento de los casos. Las las representan las clases de verdad, y las columnas representan las clases previsto. Como puede ver, todos los 9 s casos se han previsto como s , y los 5 no casos como no.

5.2.1

Exercise

Ex 8: How would the following instance be classied using the decision tree? outlook = sunny, temperature = cool, humidity = high, windy = TRUE

Ex. 8: C omo ser a la siguiente instancia se clasicar an con el arbol de decisi on? perspectivas = soleado, temperatura = fria, humedad = viento, alta = TRUE

5.3

Setting the testing method


Cuando el bot on se pulsa Start, el algoritmo de aprendizaje seleccionadas se inicia y el conjunto de datos que se carg o en el panel de Preprocess se utiliza para entrenar a un modelo. Un modelo construido a partir del conjunto de entrenamiento completo se imprime en el area de Classier output: esto puede implicar que ejecuta el algoritmo de aprendizaje por u ltima vez. El resto de la producci on en el area de Classier output depende del protocolo de prueba que fue elegido con Test options. El cuadro de Test options da varias posibilidades para la evaluaci on de los clasicadores:

When the Start button is pressed, the selected learning algorithm is started and the dataset that was loaded in the Preprocess panel is used to train a model. A model built from the full training set is then printed into the Classier output area: this may involve running the learning algorithm one nal time.

The remainder of the output in the Classier output area depends on the test protocol that was chosen using Test options. The Test options box gives several possibilities for evaluating classiers:

13

Use training set Uses the same dataset that was used for training (the one that was loaded in the Preprocess panel). This is the option we used above. It is generally NOT recommended because it gives over-optimistic performance estimates.

Usar el conjunto de la formacion Utiliza el mismo conjunto de datos que se utiliz o para la formaci on (la que se carg o en el panel de Preprocess). Esta es la opci on que usamos anteriormente. Por lo general, no se recomienda porque da estimaciones de rendimiento demasiado optimistas.

Supplied test set Lets you select a le containing a separate dataset that is used exclusively for testing.

prueba suministrados conjunto Permite seleccionar un archivo que contiene un conjunto de datos independiente que se utiliza exclusivamente para la prueba.

Cross-validation This is the default option, and the most commonly-used one. It rst splits the training set into disjoint subsets called folds. The number of subsets can be entered in the Folds eld. Ten is the default, and in general gives better estimates than other choices. Once the data has been split into folds of (approximately) equal size, all but one of the folds are used for training and the remaining, left-out, one is used for testing. This involves building a new model from scratch from the corresponding subset of data and evaluating it on the letout fold. Once this has been done for the rst test fold, a new fold is selected for testing and the remaining folds used for training. This is repeated until all folds have been used for testing. In this way each instance in the full dataset is used for testing exactly once, and an instance is only used for testing when it is not used for training. WEKAs cross-validation is a stratied cross-validation, which means that the class proportions are preserved when dividing the data into folds: each class is represented by roughly the same number of instances in each fold. This gives slightly improved performance estimates compared to unstratied cross-validation.

La validacion cruzada Esta es la opci on por defecto, y el m as com unmente utilizado. En primer lugar, se divide el conjunto de entrenamiento en subconjuntos disjuntos llamados pliegues. El n umero de subconjuntos se pueden introducir en el campo Folds. Diez es el valor predeterminado, y en general proporciona mejores estimaciones que otras opciones. Una vez que los datos se ha dividido en los pliegues de (aproximadamente) igual tama no, todos menos uno de los pliegues se utilizan para la formaci on y el restante a cabo, a la izquierda-, uno se utiliza para la prueba. Esto implica la construcci on de un nuevo modelo a partir de cero desde el subconjunto de datos correspondientes y la evaluaci on que sobre la que-a veces. Una vez que esto se ha hecho para la primera prueba doble, una nueva tapa est a seleccionado para las pruebas y los pliegues restante utilizado para el entrenamiento. Esto se repite hasta que todos los pliegues se han utilizado para la prueba. De esta manera, cada instancia del conjunto de datos completo se utiliza para probar una sola vez, y una instancia s olo se utiliza para la prueba cuando no se utiliza para el entrenamiento. WEKA cruz de la validaci on es una stratied crossvalidation, lo que signica que las proporciones de clase se conservan al dividir los datos en los pliegues: cada clase est a representada por aproximadamente el mismo n umero de casos en cada pliegue. Esto proporciona un rendimiento mejorado ligeramente en comparaci on con las estimaciones sin estraticar la validaci on cruzada.

14

Percentage split Shues the data randomly and then splits it into a training and a test set according to the proportion specied. In practice, this is a good alternative to crossvalidation if the size of the dataset makes cross-validation too slow.

Shues Porcentaje dividir los datos al azar y luego se divide en un entrenamiento y un conjunto de pruebas de acuerdo a la proporci on especicada. En la pr actica, esta es una buena alternativa a la validaci on cruzada si el tama no del conjunto de datos hace que la validaci on cruzada demasiado lento. Los dos primeros m etodos de prueba, la evaluaci on en el conjunto de entrenamiento y el uso de una unidad de prueba suministrada, implicar a la construcci on de un modelo de una sola vez. La validaci on cruzada consiste en la construcci on de un modelo de N + 1 veces, donde N es el n umero elegido de los pliegues. Los primeros N veces, una fracci on (N 1)/N (90% de diez veces la validaci on cruzada) de los datos se utiliza para el entrenamiento y el tiempo nal del conjunto de datos completo se utiliza. El m etodo de dividir el porcentaje implica la construcci on del modelo en dos ocasiones, una vez en el conjunto de datos reducidos y de nuevo en el conjunto de datos completo.

The rst two testing methods, evaluation on the training set and using a supplied test set, involve building a model only once. Cross-validation involves building a model N +1 times, where N is the chosen number of folds. The rst N times, a fraction (N 1)/N (90% for ten-fold cross-validation) of the data is used for training, and the nal time the full dataset is used. The percentage split method involves building the model twice, once on the reduced dataset and again on the full dataset.

5.3.1

Exercise

Ex 9: Load the iris data using the Preprocess panel. Evaluate C4.5 on this data using (a) the training set and (b) cross-validation. What is the estimated percentage of correct classications for (a) and (b)? Which estimate is more realistic?

Ex. 9 carga los datos del iris mediante el panel de Preprocess. Evaluar C4.5 en estos datos utilizando (a) el conjunto de entrenamiento y (b) la validaci on cruzada. Cu al es el porcentaje estimado de clasicaciones correctas para (a) y (b)? Que estiman es m as realista?

5.4

Visualizing classication errors


Panel de WEKA de Classify proporciona una manera de visualizar los errores de clasicaci on. Para ello, haga clic en la entrada trees.J48 en la lista de resultados y elegir Visualize classier errors. Una ventana gr aca de dispersi on aparece. Casos que han sido clasicados correctamente marcadas por peque nas cruces, mientras que los que han sido clasicados incorrectamente est an marcados por peque nos cuadrados.

WEKAs Classify panel provides a way of visualizing classication errors. To do this, right-click the trees.J48 entry in the result list and choose Visualize classier errors. A scatter plot window pops up. Instances that have been classied correctly are marked by little crosses; whereas ones that have been classied incorrectly are marked by little squares.

5.4.1

Exercise

15

Ex 10: Use the Visualize classier errors function to nd the wrongly classied test instances for the cross-validation performed in Exercise 9. What can you say about the location of the errors?

Ex. 10: Utilice la funci on de Visualize classier errors para encontrar las instancias de prueba de mal clasicadas para la validaci on cruzada realizada en el ejercicio 9. Qu e puede decir acerca de la ubicaci on de los errores?

16

Answers To Exercises

1. Hot, mild and cool.

1. caliente, suave y fresco.

2. The iris dataset has 150 instances and 5 attributes. So far we have only seen nominal values, but the attribute petallength is a numeric attribute and contains numeric values. In this dataset the values for this attribute lie between 1.0 and 6.9 (see Minimum and Maximum in the right panel).

2. El conjunto de datos del iris tiene 150 casos y atributos 5. Hasta ahora s olo hemos visto los valores de nominal, pero petallength el atributo es un atributo de numeric y contiene valores num ericos. En este conjunto de datos los valores de este atributo se encuentran entre 1.0 y 6.9 (v ease Minimum Maximum y en el panel derecho).

3. The rst column is the number given to an instance when it is loaded from the ARFF le. It corresponds to the order of the instances in the le.

3. La primera columna es el n umero dado en una instancia cuando se carga desde el archivo ARFF. Se corresponde con el orden de las instancias en el archivo.

4. The class value of this instance is no. The row with the number 8 in the rst column is the instance with instance number 8.

4. El valor de la clase de esta instancia es no. La la con el n umero 8 en la primera columna es la instancia con el n umero de instancia

5. This can be easily seen in the Viewer window. The iris dataset has four numeric and one nominal attribute. The nominal attribute is the class attribute.

5. Esto puede verse f acilmente en la ventana de Viewer. El conjunto de datos del iris tiene cuatro num erico y un atributo nominal. El atributo nominal es el atributo de clase.

6. Select the RemoveWithValues lter after clicking the Choose button. Click on the eld that is located next to the Choose button and set the eld attributeIndex to 3 and the eld nominalIndices to 1. Press OK and Apply.

6. Seleccione el RemoveWithValues ltro despu es de hacer clic en el bot on de Choose. Haga clic en el campo que se encuentra al lado del bot on de Choose y establezca el campo attributeIndex a 3 y el campo nominalIndices a 1. Pulse OK y Apply.

7. Click the Undo button.

7. Haga clic en el bot on de Undo.

8. The test instance would be classied as no.

8. La instancia de prueba ser a clasicado como no.

17

9. Percent correct on the training data is 98%. Percent correct under cross-validation is 96%. The cross-validation estimate is more realistic.

9. porcentaje correcto en los datos de entrenamiento es de 98%. Porcentaje de respuestas correctas en la validaci on cruzada es del 96%. La estimaci on de la validaci on cruzada es m as realista.

10. The errors are located at the class boundaries.

10. Los errores se encuentran en los l mites de clase.

18

Practical Data Mining Tutorial 2: Nearest Neighbor Learning and Decision Trees

Eibe Frank and Ian H. Witten May 5, 2011


c 2006-2012 University of Waikato

Introduction
En este tutorial podr as experimentar con la clasicaci on m as cercano vecino y arbol de decisi on aprendizaje. Para la mayor a de los que usamos un mundo real forenses conjunto de datos de clasicaci on de vidrio. Empezamos por echar un vistazo preliminar a esta base de datos. A continuaci on, examinamos el efecto de la selecci on de atributos diferentes para la clasicaci on del vecino m as cercano. A continuaci on se estudia el ruido de clase y su impacto en el rendimiento predictivo del m etodo del vecino m as cercano. Despu es de que variar el tama no del conjunto de la formaci on, tanto para la clasicaci on del vecino m as cercano y el arbol de decisi on aprendizaje. Por u ltimo, se le pide para construir de forma interactiva un arbol de decisi on para un conjunto de datos de segmentaci on de la imagen. Antes de continuar con este tutorial es necesario que revise en su mente algunos aspectos de la tarea de clasicaci on: C omo es la precisi on de un clasicador de medir?

In this tutorial you will experiment with nearest neighbor classication and decision tree learning. For most of it we use a real-world forensic glass classication dataset.

We begin by taking a preliminary look at this dataset. Then we examine the eect of selecting dierent attributes for nearest neighbor classication. Next we study class noise and its impact on predictive performance for the nearest neighbor method. Following that we vary the training set size, both for nearest neighbor classication and decision tree learning. Finally, you are asked to interactively construct a decision tree for an image segmentation dataset.

Before continuing with this tutorial you should review in your mind some aspects of the classication task: How is the accuracy of a classier measured?

What are irrelevant attributes in a data set, and can additional attributes be harmful?

Cu ales son los atributos irrelevantes en un conjunto de datos y atributos adicionales pueden ser perjudiciales?

What is class noise, and how would you measure its eect on learning?

Cu al es el ruido de clase, y c omo medir su efecto en el aprendizaje?

What is a learning curve?

Qu e es una curva de aprendizaje?

If you, personally, had to invent a decision tree classier for a particular dataset, how would you go about it?

Si usted, personalmente, ten a que inventar un clasicador de arbol de decisi on para un conjunto de datos particular, c omo hacerlo?

The glass dataset


El conjunto de datos de cristal glass.arff de los EE.UU. Servicio de Ciencias Forenses contiene datos sobre los seis tipos de vidrio. El vidrio es descrito por su ndice de refracci on y los elementos qu micos que contiene, y el objetivo es clasicar los diferentes tipos de vidrio sobre la base de estas caracter sticas. Este conjunto de datos se ha tomado de los conjuntos de datos de la UCI, que han sido recogidos por la Universidad de California en Irvine y est an disponibles libremente en la World Wide Web. A menudo se utilizan como referencia para comparar los algoritmos de miner a de datos. Encontrar el conjunto de datos glass.arff y cargarlo en la Explorer WEKA. Para su propia informaci on, conteste las siguientes preguntas, que el material objeto de examen en el Tutorial 1. Ex. 1: C omo los atributos con los que cuenta el conjunto de datos de cristal? Cu ales son sus nombres? Cu al es el atributo de la clase? Ejecutar el algoritmo de clasicaci on IBK (weka.classifiers.lazy.IBk). Utilice la validaci on cruzada para probar su funcionamiento, dejando el n umero de pliegues en el valor predeterminado de 10. Recuerde que usted puede examinar las opciones del clasicador en la ventana de GenericObjectEditor que aparece al hacer clic en el texto junto al bot on Choose. El valor por defecto del campo KNN es una: este establece el n umero de casos de vecinos a utilizar en la clasicaci on. Ex. 2: Qu e es la exactitud de IBk (que guran en el cuadro de Classier output)? Ejecutar IBK otra vez, pero aumentar el n umero de casos de vecinos a k = 5 por entrar en este valor en el campo KNN. Aqu ya lo largo de este tutorial, seguir utilizando la validaci on cruzada como el m etodo de evaluaci on. Ex. 3: Qu e es la exactitud de IBk con 5 casos de vecinos (k = 5)?

The glass dataset glass.arff from the US Forensic Science Service contains data on six types of glass. Glass is described by its refractive index and the chemical elements it contains, and the aim is to classify dierent types of glass based on these features. This dataset is taken from the UCI data sets, which have been collected by the University of California at Irvine and are freely available on the World Wide Web. They are often used as a benchmark for comparing data mining algorithms.

Find the dataset glass.arff and load it into the WEKA Explorer. For your own information, answer the following questions, which review material covered in Tutorial 1. Ex. 1: How many attributes are there in the glass dataset? What are their names? What is the class attribute? Run the classication algorithm IBk (weka.classifiers.lazy.IBk). Use crossvalidation to test its performance, leaving the number of folds at the default value of 10. Recall that you can examine the classier options in the GenericObjectEditor window that pops up when you click the text beside the Choose button. The default value of the KNN eld is 1: this sets the number of neighboring instances to use when classifying.

Ex. 2: What is the accuracy of IBk (given in the Classier output box)? Run IBk again, but increase the number of neighboring instances to k = 5 by entering this value in the KNN eld. Here and throughout this tutorial, continue to use cross-validation as the evaluation method. Ex. 3: What is the accuracy of IBk with 5 neighboring instances (k = 5)?

Attribute selection for glass classication


Ahora nos encontramos con lo subconjunto de los atributos produce la exactitud de la clasicaci on mejor validaci on cruzada para el algoritmo de vecino m as cercano IBk con k = 1 en el conjunto de datos de vidrio. WEKA contiene automatizado instalaciones para la selecci on de atributos, que se examinan m as adelante en un tutorial, pero es instructivo para hacerlo manualmente. Realizaci on de una b usqueda exhaustiva sobre todos los posibles subconjuntos de los atributos no es factible (por qu e?), por lo que aplicar un procedimiento llamado al rev es de selecci on. Para ello, en primer lugar considerar abandonar cada atributo individual del conjunto de datos completa que consiste en nueve atributos (adem as de la clase), y ejecutar una validaci on cruzada para cada versi on reducida. Una vez que haya determinado el conjunto de datos m as de 8 atributo, repita el procedimiento con este conjunto de datos reduce a encontrar el mejor conjunto de datos 7-atributo, y as sucesivamente. Ex. 4: Registro en la Table 1 el mejor conjunto de atributos y la mayor precisi on obtenida en cada iteraci on.

Now we nd what subset of attributes produces the best cross-validated classication accuracy for the IBk nearest neighbor algorithm with k = 1 on the glass dataset. WEKA contains automated attribute selection facilities, which we examine in a later tutorial, but it is instructive to do this manually.

Performing an exhaustive search over all possible subsets of the attributes is infeasible (why?), so we apply a procedure called backwards selection. To do this, rst consider dropping each attribute individually from the full dataset consisting of nine attributes (plus the class), and run a cross-validation for each reduced version. Once you have determined the best 8-attribute dataset, repeat the procedure with this reduced dataset to nd the best 7-attribute dataset, and so on.

Ex. 4: Record in Table 1 the best attribute set and the greatest accuracy obtained in each iteration.

Table 1: Accuracy obtained using IBk, for dierent attribute subsets Subset size 9 attributes 8 attributes 7 attributes 6 attributes 5 attributes 4 attributes 3 attributes 2 attributes 1 attribute 0 attributes Attributes in best subset Classication accuracy

The best accuracy obtained in this process is quite a bit higher than the accuracy obtained on the full dataset. Ex. 5: Is this best accuracy an unbiased estimate of accuracy on future data? Be sure to explain your answer.

La mejor precisi on obtenida en este proceso es un poco mayor que la precisi on obtenida en el conjunto de datos completo. Ex. 5: Es esto mejor precisi on una estimaci on no sesgada de precisi on en los datos de futuro? Aseg urese de explicar su respuesta.

(Hint: to obtain an unbiased estimate of accuracy on future data, we must not look at the test data at all when producing the classication model for which we want to obtain the estimate.)

(Sugerencia: para obtener una estimaci on objetiva de la exactitud en los datos de futuro, no debemos mirar el at all datos de prueba cuando se produce el modelo de clasicaci on para la que queremos obtener la estimaci on.)

Class noise and nearest-neighbor learning


Aprendizaje m as cercana al vecino, al igual que otras t ecnicas, es sensible al ruido en los datos de entrenamiento. En esta secci on se inyectan cantidades variables de class noise en los datos de entrenamiento y observar el efecto en el rendimiento de la clasicaci on. Puede invertir un cierto porcentaje de las etiquetas de clase en los datos a un valor escogido de forma aleatoria otras mediante un atributo sin supervisi on ltro llamado AddNoise, en weka.filters.unsupervised.attribute. Sin embargo, para nuestro experimento es importante que los datos de prueba no se ve afectado por el ruido de la clase. Filtrado de los datos de entrenamiento sin ltrar los datos de prueba es un requisito com un, y se realiza con un meta clasicador denominado FilteredClassier, en weka.classifiers.meta. Este clasicador meta debe estar congurado para utilizar como IBk AddNoise el clasicador y el ltro. El FilteredClassier se aplica el ltro a los datos antes de ejecutar el algoritmo de aprendizaje. Esto se hace en dos tandas: en primer lugar los datos de entrenamiento y, a continuaci on los datos de prueba. El AddNoise ltro s olo hac a que el primer lote de datos que encuentra, lo que signica que los datos de prueba pasa a trav es de cambios.

Nearest-neighbor learning, like other techniques, is sensitive to noise in the training data. In this section we inject varying amounts of class noise into the training data and observe the eect on classication performance.

You can ip a certain percentage of class labels in the data to a randomly chosen other value using an unsupervised attribute lter called AddNoise, in weka.filters.unsupervised.attribute. However, for our experiment it is important that the test data remains unaected by class noise.

Filtering the training data without ltering the test data is a common requirement, and is achieved using a meta classier called FilteredClassier, in weka.classifiers.meta. This meta classier should be congured to use IBk as the classier and AddNoise as the lter. The FilteredClassier applies the lter to the data before running the learning algorithm. This is done in two batches: rst the training data and then the test data. The AddNoise lter only adds noise to the rst batch of data it encounters, which means that the test data passes through unchanged.

Table 2: Eect of class noise on IBk, for dierent neighborhood sizes Percent noise 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% k=1 k=3 k=5

Ex. 6: Reload the original glass dataset, and record in Table 2 the cross-validated accuracy estimate of IBk for 10 dierent percentages of class noise and neighborhood sizes k = 1, k = 3, k = 5 (determined by the value of k in the k-nearest-neighbor classier).

Ex. 6: Actualizar el conjunto de datos de vidrio original, y registrar en la Table 2 la exactitud validaci on cruzada estimaci on de IBk por 10 diferentes porcentajes de ruido de la clase y el barrio tama nos k = 1, k = 3, k = 5 (determinado por el valor de k en el clasicador k vecino m as cercano).

Ex. 7: What is the eect of increasing the amount of class noise?

Ex. 7: Cu al es el efecto de aumentar la cantidad de ruido de clase?

Ex. 8: What is the eect of altering the value of k?

Ex. 8: Qu e elemento es el efecto de modicar el valor de k ?

Varying the amount of training data


En esta secci on tenemos en cuenta las curvas de aprendizaje, que muestran el efecto de aumentar gradualmente la cantidad de datos de entrenamiento. Una vez m as se utilizan los datos de vidrio, pero esta vez con dos IBk y la decisi on C4.5 alumno arbol, implementado en WEKA como J48. Para obtener las curvas de aprendizaje, el uso de la FilteredClassier, esta vez en relaci on con el weka.filters.unsupervised.instance.Resample, que extrae un porcentaje especicado de un conjunto de datos y devuelve el conjunto de datos reducidos.2 Una vez m as esto se hace s olo para el primer grupo al que se aplica el ltro, por lo que los datos de prueba pasa sin modicar a trav es de la FilteredClassier antes que alcanza el clasicador.

In this section we consider learning curves, which show the eect of gradually increasing the amount of training data. Again we use the glass data, but this time with both IBk and the C4.5 decision tree learner, implemented in WEKA as J48. To obtain learning curves, use the FilteredClassier again, this time in conjunction with weka.filters.unsupervised.instance.Resample, which extracts a certain specied percentage of a given dataset and returns the reduced dataset.1 Again this is done only for the rst batch to which the lter is applied, so the test data passes unmodied through the FilteredClassier before it reaches the classier.

Ex. 9: Record in Table 3 the data for learning curves for both the one-nearest-neighbor classier (i.e., IBk with k = 1) and J48.

Ex. 9: Registro en la Table 3 los datos de las curvas de aprendizaje tanto para el unoclasicador del vecino m as cercano (es decir, IBk con k = 1) y J48.

lter performs sampling with replacement, rather than sampling without replacement, but the eect is minor and we will ignore it here. 2 Este ltro realiza el muestreo con reemplazo, en lugar de muestreo sin reemplazo, pero el efecto es menor y se lo ignora aqu .

1 This

Table 3: Eect of training set size on IBk and J48 Percentage of training set 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% IBk J48

Ex. 10: What is the eect of increasing the amount of training data?

Ex. 10: Cu al es el efecto de aumentar la cantidad de datos de entrenamiento?

Ex. 11: Is this eect more pronounced for IBk or J48?

Ex. 11: Es este tema efecto m as pronunciado para IBk o J48?

Interactive decision tree construction


Uno de los clasicadores WEKA es interactiva: permite que el usuarioes decir, queconstruir su propio clasicador. Aqu hay una competencia: a ver qui en puede construir un clasicador con mayor precisi on de predicci on! Cargar el archivo segment-challenge.arff (en la carpeta de datos que viene con la distribuci on de WEKA). Este conjunto de datos cuenta con 20 atributos y las clases 7. Se trata de un problema de segmentaci on de la imagen, y la tarea consiste en clasicar las im agenes en siete grupos diferentes basados en las propiedades de los p xeles. Ajuste el clasicador a UserClassier, en el weka.classifiers.trees paquete. Vamos a utilizar una unidad de prueba suministrada (realizar la validaci on cruzada con el clasicador de usuario es muy aburrido!). En el cuadro de Test options, seleccione la opci on de Supplied test set y haga clic en el bot on de Set.... Aparecer a una peque na ventana en la que usted elija el equipo de prueba. Haga clic en Open le... y busque el archivo segment-test.arff (tambi en en la carpeta de datos de la distribuci on de WEKA). Al hacer clic en Open, las actualizaciones peque na ventana para mostrar el n umero de casos (810) y atributos (20), ci errelo.

One of WEKAs classiers is interactive: it lets the useri.e., you!construct your own classier. Heres a competition: lets see who can build a classier with the highest predictive accuracy!

Load the le segment-challenge.arff (in the data folder that comes with the WEKA distribution). This dataset has 20 attributes and 7 classes. It is an image segmentation problem, and the task is to classify images into seven dierent groups based on properties of the pixels.

Set the classier to UserClassier, in the weka.classifiers.trees package. We will use a supplied test set (performing cross-validation with the user classier is incredibly tedious!). In the Test options box, choose the Supplied test set option and click the Set... button. A small window appears in which you choose the test set. Click Open le... and browse to the le segment-test.arff (also in the WEKA distributions data folder). On clicking Open, the small window updates to show the number of instances (810) and attributes (20); close it.

Click Start. The behaviour of UserClassier differs from all other classiers. A special window appears and WEKA waits for you to use it to build your own classier. The tabs at the top of the window switch between two views of the classier. The Tree visualizer view shows the current state of your tree, and the nodes give the number of class values there. The aim is to come up with a tree where the leaf nodes are as pure as possible. To begin with, the tree has just one nodethe root nodecontaining all the data. More nodes will appear when you proceed to split the data in the Data visualizer view.

Haga clic en Start. El comportamiento de UserClassier se diferencia de todos los otros clasicadores. Una ventana especial aparece y WEKA espera a que se utilizar para construir su propio clasicador. Las pesta nas en la parte superior del interruptor de la ventana entre dos puntos de vista del clasicador. El punto de vista Tree visualizer muestra el estado actual de su arbol, y los nodos dar el n umero de valores de clase all . El objetivo es llegar a un arbol donde los nodos hoja son tan puros como sea posible. Para empezar, el arbol tiene un solo nodoel nodo ra zque contiene todos los datos. M as nodos aparecer a cuando se procede a dividir los datos en la vista de Data visualizer. Haga clic en la cha Data visualizer para ver un gr aco 2D en el que los puntos de datos est an codicados por colores seg un la clase. Puede cambiar los atributos utilizados para los ejes, ya sea con la X e Y men us desplegables en la parte superior, o presionando el bot on izquierdo (para X) o el bot on derecho del rat on (para Y) las tiras horizontales a la derecha del area de trazado . Estas tiras muestran la propagaci on de casos a lo largo de cada atributo en particular. Tendr a que probar diferentes combinaciones de ejes X e Y para obtener la m as clara la separaci on que se encuentran entre los colores. Cuando exista una buena separaci on, a continuaci on, deber a seleccionar una regi on en la trama: esto crear a una rama en el arbol. Aqu est a una sugerencia para comenzar: parcela region-centroid-row en el eje X y intensity-media en el eje. Usted ver a que la clase de color rojo (cielo) est a muy bien separado del resto de las clases en la parte superior de la parcela. Existen tres herramientas para la selecci on de las regiones en el gr aco, elegidos mediante el men u desplegable debajo del selector de eje: 1. Rectangle le permite seleccionar los puntos arrastrando un rect angulo alrededor de ellos.

Click the Data visualizer tab to see a 2D plot in which the data points are colour coded by class. You can change the attributes used for the axes either with the X and Y drop-down menus at the top, or by left-clicking (for X) or right-clicking (for Y) the horizontal strips to the right of the plot area. These strips show the spread of instances along each particular attribute.

You need to try dierent combinations of X and Y axes to get the clearest separation you can nd between the colours. Having found a good separation, you then need to select a region in the plot: this will create a branch in your tree. Here is a hint to get you started: plot region-centroid-row on the X-axis and intensity-mean on the Y-axis. You will see that the red class (sky) is nicely separated from the rest of the classes at the top of the plot.

There are three tools for selecting regions in the graph, chosen using the drop-down menu below the Y-axis selector: 1. Rectangle allows you to select points by dragging a rectangle around them.

2. Polygon allows you to select points by drawing a free-form polygon. Left-click to add vertices; right-click to complete the polygon. The polygon will be closed o by connecting the rst and last points.

2. Polygon le permite seleccionar los puntos dibujando un pol gono de forma libre. Haga clic izquierdo para a nadir v ertices, haga clic para completar el pol gono. El pol gono se cierran mediante la conexi on de los puntos primero y el u ltimo.

3. Polyline allows you to select points by drawing a free-form polyline. Left-click to add vertices; right-click to complete the shape. The resulting shape is open, as opposed to the polygon which is closed.

3. Polyline le permite seleccionar los puntos dibujando una polil nea de forma libre. Haga clic izquierdo para a nadir v ertices, haga clic para completar la forma. La forma resultante es abierto, en comparaci on con el pol gono que est a cerrado. Cuando haya seleccionado un area usando cualquiera de estas herramientas, que se vuelve gris. Al hacer clic en el bot on Clear cancela la selecci on sin afectar el clasicador. Cuando usted est a satisfecho con la selecci on, haga clic en Submit. Esto crea dos nuevos nodos en el arbol, una celebraci on de todos los casos cubiertos por la selecci on y el otro posee la totalidad de los casos restantes. Estos nodos se corresponden a una divisi on binaria que realiza la prueba geom etrica elegida. Cambie de nuevo a la vista de Tree visualizer para examinar el cambio en el arbol. Al hacer clic en los nodos diferentes altera el subconjunto de los datos que se muestra en la secci on de Data visualizer. Contin ue a nadiendo nodos hasta obtener una buena separaci on de las claseses decir, los nodos hoja en el arbol son en su mayor a puro. Sin embargo, recuerde que usted no desea sobreajuste de los datos, ya que el arbol ser a evaluado en un conjunto de prueba independiente. Cuando est e satisfecho con el arbol, haga clic en cualquier espacio en blanco en la vista Tree visualizer y elija Accept The Tree. WEKA eval ua el arbol contra el equipo de prueba y las estad sticas de resultados que muestran lo bien que hizo. Usted est a compitiendo por la mejor puntuaci on de exactitud de una mano-construido UserClassier conjunto de datos producidos en el segmentchallenge y de prueba en el set del segment-test. Trate tantas veces como quieras. Un buen resultado es algo cercano a 90% de aciertos o mejor. Ejecutar J48 en los datos para ver qu e tan bien un estudiante de arbol de decisi on autom atica realiza la tarea. Ex. 12: Cuando usted piensa que tiene un buen puntaje, haga clic en la entrada correspondiente en la Result list, guardar el resultado con Save result buer, y copiarlo en su respuesta para este tutorial.

When you have selected an area using any of these tools, it turns gray. Clicking the Clear button cancels the selection without aecting the classier. When you are happy with the selection, click Submit. This creates two new nodes in the tree, one holding all the instances covered by the selection and the other holding all remaining instances. These nodes correspond to a binary split that performs the chosen geometric test.

Switch back to the Tree visualizer view to examine the change in the tree. Clicking on dierent nodes alters the subset of data that is shown in the Data visualizer section. Continue adding nodes until you obtain a good separation of the classes that is, the leaf nodes in the tree are mostly pure. Remember, however, that you do not want to overt the data, because your tree will be evaluated on a separate test set.

When you are satised with the tree, right-click any blank space in the Tree visualizer view and choose Accept The Tree. WEKA evaluates your tree against the test set and outputs statistics that show how well you did. You are competing for the best accuracy score of a hand-built UserClassier produced on the segment-challenge dataset and tested on the segment-test set. Try as many times as you like. A good score is anything close to 90% correct or better. Run J48 on the data to see how well an automatic decision tree learner performs on the task.

Ex. 12: When you think you have a good score, right-click the corresponding entry in the Result list, save the output using Save result buer, and copy it into your answer for this tutorial.

Practical Data Mining Tutorial 3: Classication Boundaries

Eibe Frank and Ian H .Witten May 5, 2011


c 2008-2012 University of Waikato

Introduction
En este tutorial se ver a en los l mites de clasicaci on que son producidas por diferentes tipos de modelos. Para ello, utilizamos BoundaryVisualizer de WEKA. Esto es no parte del Explorador de WEKA que hemos estado utilizando hasta ahora. Poner en marcha el GUI Chooser WEKA como de costumbre en el men u INICIO de Windows (en Linux o Mac, haga doble clic en weka.jar o weka.app). En el men u Visualization en la parte superior, seleccione BoundaryVisualizer. El visualizador muestra los l mites parcelas de dos dimensiones de los datos, y es m as adecuado para conjuntos de datos con dos atributos num ericos. Vamos a utilizar una versi on de los datos del iris, sin los dos primeros atributos. Para crear esta partir de los datos del iris est andar, la puesta en marcha del Explorer, la carga iris.arff usando el bot on de Open le y quite los dos primeros atributos (sepallength y sepalwidth), seleccionando y haciendo clic en el bot on que Remove aparece en la parte inferior. A continuaci on, guarde el conjunto de datos modicados en un archivo (usando Save) llamado, por ejemplo, iris.2D.arff. Ahora deja el Explorer y abrir este archivo para la visualizaci on mediante el visualizador de Fronteras bot on Open File.... Inicialmente, la trama s olo muestra los datos en el conjunto de datos.2

In this tutorial you will look at the classication boundaries that are produced by dierent types of models. To do this, we use WEKAs BoundaryVisualizer. This is not part of the WEKA Explorer that we have been using so far. Start up the WEKA GUI Chooser as usual from the Windows START menu (on Linux or the Mac, double-click weka.jar or weka.app). From the Visualization menu at the top, select BoundaryVisualizer.

The boundary visualizer shows two-dimensional plots of the data, and is most appropriate for datasets with two numeric attributes. We will use a version of the iris data without the rst two attributes. To create this from the standard iris data, start up the Explorer, load iris.arff using the Open le button and remove the rst two attributes (sepallength and sepalwidth) by selecting them and clicking the Remove button that appears at the bottom. Then save the modied dataset to a le (using Save) called, say, iris.2D.arff.

Now leave the Explorer and open this le for visualization using the boundary visualizers Open File... button. Initially, the plot just shows the data in the dataset.1

Visualizing 1R
S olo gracar los datos no es nada nuevo. El verdadero prop osito del visualizador l mite es mostrar la predicciones de un modelo determinado para cada lugar en el espacio. Los puntos que representan los datos est an codicados por colores basados en la predicci on del modelo genera. Vamos a utilizar esta funcionalidad para investigar los l mites de la decisi on que los clasicadores diferentes para generar el conjunto de datos del iris reducida.

Just plotting the data is nothing new. The real purpose of the boundary visualizer is to show the predictions of a given model for each location in space. The points representing the data are color coded based on the prediction the model generates. We will use this functionality to investigate the decision boundaries that dierent classiers generate for the reduced iris dataset.

is a bug in the initial visualization. To get a true plot of the data, select a dierent attribute for either the x or y axis by clicking the appropriate button. 2 No es un error en la visualizaci on inicial. Para obtener una verdadera trama de los datos, seleccione un atributo diferente, ya sea para los x o y eje haciendo clic en el bot on correspondiente.

1 There

We start with the 1R rule learner. Use the Choose button of the boundary visualizer to select weka.classifiers.rules.OneR . Make sure you tick Plot training data, otherwise only the predictions will be plotted. Then hit the Start button. The program starts plotting predictions in successive scan lines. Hit the Stop button once the plot has stabilizedas soon as you like, in this caseand the training data will be superimposed on the boundary visualization.

Empezamos con el aprendiz regla 1R. Utilice el bot on de Choose del visualizador l mite para seleccionar weka.classifiers.rules.OneR. Aseg urese de que usted marque Plot training data, de lo contrario s olo las predicciones se trazan. A continuaci on, pulse el bot on Start. El programa comienza a las predicciones de conspirar en las sucesivas l neas de exploraci on. Pulse el bot on de Stop, una vez la trama se ha estabilizadotan pronto como quiera, en este casoy los datos de entrenamiento se superpone a la visualizaci on de frontera. Ex. 1: Explicar el argumento basado en lo que sabe sobre 1R. (Sugerencia: usar el Explorer a mirar el conjunto de reglas que 1R genera para estos datos.)

Ex. 1: Explain the plot based on what you know about 1R. (Hint: use the Explorer to look at the rule set that 1R generates for this data.)

Ex. 2: Study the eect of the minBucketSize parameter on the classier by regenerating the plot with values of 1, and then 20, and then some critical values in between. Describe what you see, and explain it. (Hint: you could speed things up by using the Explorer to look at the rule sets.)

Ex. 2: Estudiar el efecto del par ametro minBucketSize en el clasicador por la regeneraci on de la parcela con valores de 1, y luego 20 y, a continuaci on algunos valores cr ticos en el medio. Describe lo que ves, y explicarlo. (Sugerencia: puede acelerar las cosas mediante el Explorer a ver algunos de los conjuntos de reglas.)

Visualizing nearest-neighbor learning


Ahora nos jamos en los l mites de clasicaci on creado por el m etodo del vecino m as cercano. Utilice el bot on de visualizador l mite de Choose... para seleccionar el clasicador IBk (weka.classifiers.lazy.IBk) y la trama de sus l mites de decisi on para reducir los datos del iris.

Now we look at the classication boundaries created by the nearest neighbor method. Use the boundary visualizers Choose... button to select the IBk classier (weka.classifiers.lazy.IBk) and plot its decision boundaries for the reduced iris data.

In WEKA, OneRs predictions are categorical: for each instance they predict one of the three classes. In contrast, IBk outputs probability estimates for each class, and these are used to mix the colors red, green, and blue that correspond to the three classes. IBk estimates class probabilities by counting the number of instances of each class in the set of nearest neighbors of a test case and uses the resulting relative frequencies as probability estimates. With k = 1, which is the default value, you might expect there to be only one instance in the set of nearest neighbors of each test case (i.e. pixel location). Looking at the plot, this is indeed almost always the case, because the estimated probability is one for almost all pixels, resulting in a pure color. There is no mixing of colors because one class gets probability one and the others probability zero.

En WEKA, las predicciones OneR son categ oricos: para cada instancia que predicen una de las tres clases. Por el contrario, las salidas IBk estimaciones de probabilidad para cada clase, y estas se utilizan para mezclar los colores rojo, verde y azul, que corresponden a las tres clases. IBk estimaciones de probabilidades de clase contando el n umero de casos de cada clase en el conjunto de los vecinos m as cercanos de un caso de prueba y utiliza las frecuencias resultantes relativa como las estimaciones de probabilidad. Con k = 1, que es el valor por defecto, es de esperar que haya una sola instancia en el conjunto de vecinos m as cercanos de cada caso de prueba (es decir, lugar de p xeles). En cuanto a la trama, esto es de hecho casi siempre el caso, ya que la probabilidad estimada es uno de casi todos los p xeles, dando como resultado un color puro. No hay mezcla de colores, porque una clase recibe una probabilidad y la probabilidad de los dem as cero. Ex. 3: Sin embargo, hay una peque na area de la parcela en la que dos colores son en realidad mixta. Explique esto. (Sugerencia: mirar cuidadosamente los datos mediante el panel Visualizar en el Explorer.)

Ex. 3: Nevertheless, there is a small area in the plot where two colors are in fact mixed. Explain this. (Hint: look carefully at the data using the Visualize panel in the Explorer.)

Ex. 4: Experiment with dierent values for k , say 5 and 10. Describe what happens as k increases.

Ex. 4: Experimente con diferentes valores de k , por ejemplo 5 y 10. Describir lo que sucede cuando aumenta k .

Visualizing naive Bayes


Paso ahora a los ingenuos clasicador de Bayes. Esto supone que los atributos son condicionalmente independientes dado un valor de clase especial. Esto signica que la probabilidad de clase global se obtiene simplemente multiplicando por el atributo de probabilidades condicionales juntos. En otras palabras, con dos atributos, no s e si las probabilidades de clase a lo largo del eje X ya lo largo del eje, se puede calcular el valor de cualquier punto del espacio multiplicando juntos. Esto es m as f acil de entender si la visualizan como una parcela de contorno.

Turn now to the naive Bayes classier. This assumes that attributes are conditionally independent given a particular class value. This means that the overall class probability is obtained by simply multiplying the per-attribute conditional probabilities together. In other words, with two attributes, if you know the class probabilities along the x-axis and along the y-axis, you can calculate the value for any point in space by multiplying them together. This is easier to understand if you visualize it as a boundary plot.

Plot the predictions of naive Bayes. But rst, you need to discretize the attribute values. By default, NaiveBayes assumes that the attributes are normally distributed given the class (i.e., they follow a bell-shaped distribution). You should override this by setting useSupervisedDiscretization to true using the GenericObjectEditor. This will cause NaiveBayes to discretize the numeric attributes in the data using a supervised discretization technique.3

Parcela las predicciones de Bayes ingenuo. Pero primero, tiene que discretizar los valores de atributo. De forma predeterminada, NaiveBayes asume que los atributos tienen una distribuci on normal habida cuenta de la clase (es decir, que siguen una distribuci on en forma de campana). Usted debe cambiar este ajuste de useSupervisedDiscretization a true utilizando el GenericObjectEditor. Esto har a que NaiveBayes para discretizar los atributos num ericos de los datos mediante una t ecnica de discretizaci on supervisado.4 En casi todas las aplicaciones pr acticas de la NaiveBayes, discretizaci on supervisado es m as ecaz que el m etodo por defecto, y es por eso que lo consideramos aqu . Tambi en produce una visualizaci on m as comprensible. Ex. 5: La trama que se genera mediante la visualizaci on de las probabilidades de clase previsto de Bayes ingenuo para cada posici on de p xel es muy diferente de todo lo que hemos visto hasta ahora. Explicar los patrones en ella.

In almost all practical applications of NaiveBayes, supervised discretization works better than the default method, and that is why we consider it here. It also produces a more comprehensible visualization. Ex. 5: The plot that is generated by visualizing the predicted class probabilities of naive Bayes for each pixel location is quite dierent from anything we have seen so far. Explain the patterns in it.

Visualizing decision trees and rule sets


Los arboles de decisi on y conjuntos de reglas son similares a los del vecino m as pr oximo de aprendizaje en el sentido de que son tambi en casi universal: en principio, se puede aproximar cualquier l mite de la decisi on arbitraria de cerca. En esta secci on, nos jamos en los l mites generados por JRip y J48. Generar una parcela de JRip, con las opciones predeterminadas. Ex. 6: Qu e ves? La trama a la salida de las normas que se obtiene al procesar los datos en la Explorer.

Decision trees and rule sets are similar to nearestneighbor learning in the sense that they are also quasi-universal: in principle, they can approximate any decision boundary arbitrarily closely. In this section, we look at the boundaries generated by JRip and J48.

Generate a plot for JRip, with default options.

Ex. 6: What do you see? Relate the plot to the output of the rules that you get by processing the data in the Explorer.

Ex. 7: The JRip output assumes that the rules will be executed in the correct sequence. Write down an equivalent set of rules that achieves the same eect regardless of the order in which they are executed.
3 The

Ex. 7: La salida JRip asume que las normas se ejecutar a en el orden correcto. Escriba un conjunto equivalente de las normas que logra el mismo efecto sin importar el orden en que se ejecutan.

technique used is supervised because it takes the class labels of the instances into account to nd good split points for the discretization intervals. 4 La t ecnica utilizada es supervisada, porque tiene las etiquetas de clase de las instancias en cuenta para encontrar buenos puntos de partido para los intervalos de discretizaci on.

Generate a plot for J48, with default options.

Generar una parcela de J48, con las opciones predeterminadas. Ex. 8: Qu e ves? La trama a la salida del arbol que se obtiene al procesar los datos en la Explorer. Una forma de controlar la cantidad de poda J48 realiza antes de que los resultados de su arbol es para ajustar el n umero m nimo de casos necesarios en una hoja, minNumbObj. Ex. 9: Supongamos que desea generar arboles con 3, 2 y 1 respectivamente nodos de la hoja. Cu ales son los rangos de los valores exactos de minNumObj que lograr este objetivo, los valores por defecto para todos los otros par ametros?

Ex. 8: What do you see? Relate the plot to the output of the tree that you get by processing the data in the Explorer. One way to control how much pruning J48 performs before it outputs its tree is to adjust the minimum number of instances required in a leaf, minNumbObj. Ex. 9: Suppose you want to generate trees with 3, 2, and 1 leaf nodes respectively. What are the exact ranges of values for minNumObj that achieve this, given default values for all other parameters?

Messing with the data


Con el BoundaryVisualizer se pueden modicar los datos, a nadiendo o quitando puntos. Ex. 10: Introducir algunos ruidos en los datos y estudiar el efecto sobre los algoritmos de aprendizaje que vimos anteriormente. Qu e tipo de comportamiento no se observa para cada algoritmo como introducir m as ruido?

With the BoundaryVisualizer you can modify the data by adding or removing points. Ex. 10: Introduce some noise into the data and study the eect on the learning algorithms we looked at above. What kind of behavior do you observe for each algorithm as you introduce more noise?

1R revisited
Volver al alumno regla 1R en el iris reducido conjunto de datos utilizado en la Secci on 2 (no la versi on ruidosa que acaba de crear). Las siguientes preguntas le exigir a que pensar en el funcionamiento interno de 1R. (Sugerencia: es probable que sea m as r apido utilizar el Explorer a ver algunos de los conjuntos de reglas.) Ex. 11: Se vio en la Secci on 2 que la trama siempre tiene tres regiones. Pero por qu e no hay m as para las dimensiones de cubo peque no (por ejemplo, 1)? Usa lo que sabes sobre 1R para explicar esta aparente anomal a.

Return to the 1R rule learner on the reduced iris dataset used in Section 2 (not the noisy version you just created). The following questions will require you to think about the internal workings of 1R. (Hint: it will probably be fastest to use the Explorer to look at the rule sets.)

Ex. 11: You saw in Section 2 that the plot always has three regions. But why arent there more for small bucket sizes (e.g., 1)? Use what you know about 1R to explain this apparent anomaly.

Ex. 12: Can you set minBucketSize to a value that results in less than three regions? What is the smallest possible number of regions? What is the smallest value for minBucketSize that gives you this number of regions? Explain the result based on what you know about the iris data.

Ex. 12: Se puede congurar minBucketSize a un valor que los resultados en menos de tres regiones? Cu al es el menor n umero posible de regiones? Cu al es el valor m as peque no de minBucketSize que le da este n umero de regiones? Explicar el resultado sobre la base de lo que sabe acerca de los datos del iris.

Practical Data Mining Tutorial 4: Preprocessing and Parameter Tuning

Eibe Frank and Ian H. Witten May 5, 2011


c 2008-2012 University of Waikato

Introduction
Preprocesamiento de datos es a menudo necesario para obtener los datos listos para el aprendizaje. Tambi en puede mejorar el resultado del proceso de aprendizaje y dar lugar a modelos m as precisos y concisos. Lo mismo es cierto para los m etodos de ajuste de par ametros. En este tutorial vamos a ver algunas de las t ecnicas de preprocesamiento u til, que se aplican como ltros de WEKA, as como un m etodo para el ajuste autom atico de los par ametros.

Data preprocessing is often necessary to get data ready for learning. It may also improve the outcome of the learning process and lead to more accurate and concise models. The same is true for parameter tuning methods. In this tutorial we will look at some useful preprocessing techniques, which are implemented as WEKA lters, as well as a method for automatic parameter tuning.

Discretization
los atributos num ericos se pueden convertir en los discretos mediante el fraccionamiento de sus areas de distribuci on en intervalos num ericos, un proceso conocido como discretizaci on. Hay dos tipos de t ecnicas de discretizaci on: sin supervisi on los que son de clase ciego, y una supervisi on, que tienen el valor de clase de las instancias en cuenta al crear intervalos. El objetivo con las t ecnicas de supervisi on es la creaci on de intervalos que sean tan coherentes como sea posible con respecto a las etiquetas de clase. El principal t ecnica unsupervisada para discretizar los atributos num ericos en WEKA es weka.filters.unsupervised.attribute. Discretize. Se implementa dos m etodos sencillos: la igualdad de ancho y discretizaci on de igual frecuencia. El primero, simplemente se divide el rango num erico en intervalos iguales. El segundo opta por la amplitud de los intervalos para que los mismos contienen (aproximadamente) el mismo n umero de casos. El valor por defecto es usar la misma anchura. Encontrar el conjunto de datos de cristal glass.arff y cargarlo en la Explorer. Aplicar el ltro de discretizaci on sin supervisi on en las dos modalidades anteriormente expuestas. Ex. 1: Qu e observa al comparar los histogramas obtenidos? Por qu e es la discretizaci on de la igualdad de frecuencia muy sesgada de algunos atributos?

Numeric attributes can be converted into discrete ones by splitting their ranges into numeric intervals, a process known as discretization. There are two types of discretization techniques: unsupervised ones, which are class blind., and supervised one, which take the class value of the instances into account when creating intervals. The aim with supervised techniques is to create intervals that are as consistent as possible with respect to the class labels.

The main unsupervised technique for discretizing numeric attributes in WEKA is weka.filters.unsupervised.attribute. Discretize. It implements two straightforward methods: equal-width and equal-frequency discretization. The rst simply splits the numeric range into equal intervals. The second chooses the width of the intervals so that they contain (approximately) the same number of instances. The default is to use equal width.

Find the glass dataset glass.arff and load it into the Explorer. Apply the unsupervised discretization lter in the two dierent modes discussed above. Ex. 1: What do you observe when you compare the histograms obtained? Why is the one for equal-frequency discretization quite skewed for some attributes?

The main supervised technique for discretizing numeric attributes in WEKA is weka.filters.supervised.attribute. Discretize. Locate the iris data, load it in, apply the supervised discretization scheme, and look at the histograms obtained. Supervised discretization attempts to create intervals such that the class distributions dier between intervals but are consistent within intervals.

El principal supervisado t ecnica para discretizar los atributos num ericos en WEKA es weka.filters.supervised.attribute. Discretize. Busque los datos del iris, se carga en, aplicar el esquema de discretizaci on supervisado, y ver los histogramas obtenidos. Encuadramiento intentos de discretizaci on para crear intervalos de tal manera que las distribuciones dieren entre los intervalos de clase, pero son coherentes dentro de los intervalos. Ex. 2: Con base en los histogramas obtenidos, que de los atributos discretizados se tiene en cuenta los m as predictivo? Actualizar los datos de vidrio y aplicar discretizaci on supervisada a la misma. Ex. 3: S olo hay una sola barra en los histogramas de algunos de los atributos. Qu e signica eso? Atributos discretizado normalmente codicados como atributos nominales, con un valor por rango. Sin embargo, debido a los rangos est an ordenados, un atributo discretizado es en realidad en una escala ordinal. Ambos ltros tambi en tienen la capacidad de crear los atributos binarios en lugar de los m ultiples valores, mediante el establecimiento de la makeBinary opci on de verdad. Ex. 4: Elegir un de los ltros y aplicarlo para crear atributos binarios. Compare con el resultado generado cuando makeBinary es falsa. Qu e signican los atributos binarios representan?

Ex. 2: Based on the histograms obtained, which of the discretized attributes would you consider the most predictive ones? Reload the glass data and apply supervised discretization to it. Ex. 3: There is only a single bar in the histograms for some of the attributes. What does that mean? Discretized attributes are normally coded as nominal attributes, with one value per range. However, because the ranges are ordered, a discretized attribute is actually on an ordinal scale. Both lters also have the ability to create binary attributes rather than multi-valued ones, by setting the option makeBinary to true.

Ex. 4: Choose one of the lters and apply it to create binary attributes. Compare to the output generated when makeBinary is false. What do the binary attributes represent?

More on Discretization
Aqu se examina el efecto de la discretizaci on en la construcci on de un arbol de decisi on J48 para los datos de ionosphere.arff. Este conjunto de datos contiene informaci on acerca de las se nales de radar de regresar de la ionosfera. Bueno son las muestras que presenten indicios de alg un tipo de estructura de la ionosfera, mientras que para los malos las se nales pasan directamente a trav es de la ionosfera. Para obtener m as informaci on, visita los comentarios en el archivo ARFF. Comience con discretizaci on sin supervisi on.

Here we examine the eect of discretization when building a J48 decision tree for the data in ionosphere.arff. This dataset contains information about radar signals returned from the ionosphere. Good samples are those showing evidence of some type of structure in the ionosphere, while for bad ones the signals pass directly through the ionosphere. For more details, take a look the comments in the ARFF le. Begin with unsupervised discretization.

Ex. 5: Compare the cross-validated accuracy of J48 and the size of the trees generated for (a) the raw data, (b) data discretized by the unsupervised discretization method in default mode, (c) data discretized by the same method with binary attributes.

Ex. 5: Comparaci on de la precisi on validaci on cruzada de J48 y el tama no de los arboles generados por (a) los datos en bruto, (b) los datos discretizados por el m etodo de discretizaci on sin supervisi on en el modo por defecto, (c) los datos discretizados por el mismo m etodo con atributos binarios. Ahora pasa a la discretizaci on supervisado. Aqu surge una cuesti on sutil. Si nos limitamos a repetir el ejercicio anterior utilizando un m etodo de discretizaci on supervisado, el resultado ser a demasiado optimista. En efecto, ya que la validaci on cruzada se utiliza para la evaluaci on, los datos en el conjunto de pruebas se ha tenido en cuenta para determinar los intervalos de discretizaci on. Esto no da una estimaci on razonable de rendimiento en nuevos datos. Para evaluar discretizaci on supervisado de manera justa, se utiliza el FilteredClassier de meta de WEKA-clasicadores. Esto se basa el modelo de ltro de los datos de entrenamiento solamente, antes de evaluar que en los datos de prueba mediante los intervalos de discretizaci on calculados para los datos de entrenamiento. Despu es de todo, que es como se tendr a que procesar los datos frescos en la pr actica. Ex. 6: Comparaci on de la precisi on validaci on cruzada y el tama no de los arboles generados con el FilteredClassier y J48 para (d) discretizaci on supervisado en su modo normal, (e) discretizaci on de supervisi on de los atributos binarios.

Now turn to supervised discretization. Here a subtle issue arises. If we simply repeated the previous exercise using a supervised discretization method, the result would be over-optimistic. In eect, since cross-validation is used for evaluation, the data in the test set has been taken into account when determining the discretization intervals. This does not give a fair estimate of performance on fresh data.

To evaluate supervised discretization in a fair fashion, we use the FilteredClassier from WEKAs meta-classiers. This builds the lter model from the training data only, before evaluating it on the test data using the discretization intervals computed for the training data. After all, that is how you would have to process fresh data in practice.

Ex. 6: Compare the cross-validated accuracy and the size of the trees generated using the FilteredClassier and J48 for (d) supervised discretization in default mode, (e) supervised discretization with binary attributes.

Ex. 7: Compare these with the results for the raw data ((a) above). Can you think of a reason of why decision trees generated from discretized data can potentially be more accurate predictors than those built from raw numeric data?

Ex. 7: Compare estos datos con los resultados de los datos en bruto ((a) anterior). Puedes pensar en una raz on de por qu e los arboles de decisi on generados a partir de datos discretos pueden ser potencialmente predictores m as ables que las construye a partir de datos num ericos en bruto?

Automatic Attribute Selection


En la mayor a de las aplicaciones pr acticas de aprendizaje supervisado, no todos los atributos son igualmente u tiles para predecir el destino. Dependiendo de la actividad de aprendizaje empleados, redundantes y/o atributos irrelevantes pueden dar lugar a modelos menos precisos generando. La tarea de identicar manualmente los atributos u tiles en un conjunto de datos puede ser tedioso, ya que hemos visto en el segundo tutorialpero hay m etodos autom aticos de selecci on de atributos que se pueden aplicar. Pueden dividirse en aquellos que se clasican los atributos individuales (por ejemplo, sobre la base de su ganancia de informaci on) y los de b usqueda que para un subconjunto de los atributos de buena considerando el efecto combinado de los atributos en el subconjunto. Estos m etodos se pueden dividir en los llamados ltro y contenedor m etodos. m etodos de aplicar un ltro eciente computacionalmente heur stica para medir la calidad de un subconjunto de los atributos. m etodos Wrapper medir la calidad de un subconjunto de atributos mediante la construcci on y evaluaci on de un modelo de clasicaci on real de ella, generalmente se basa en la validaci on cruzada. Esto es m as caro, pero a menudo ofrece un rendimiento superior. En el Explorer WEKA, puede utilizar el panel de Select attributes de aplicar un m etodo de selecci on de atributos en un conjunto de datos. El valor predeterminado es CfsSubsetEval. Sin embargo, si queremos clasicar los atributos individuales, tenemos que recurrir a un evaluador de atributos en vez de un subgrupo evaluador, por ejemplo, la InfoGainAttributeEval. evaluadores de atributos deben ser aplicados con un especial de b usqueda m etodo, a saber, la Ranker. Ex. 8: Aplicar esta t ecnica para las negociaciones laborales de datos en labor.arff. Cu ales son los cuatro atributos m as importantes basadas en el aumento de la informaci on?2

In most practical applications of supervised learning not all attributes are equally useful for predicting the target. Depending on the learning scheme employed, redundant and/or irrelevant attributes can result in less accurate models being generated. The task of manually identifying useful attributes in a dataset can be tedious, as you have seen in the second tutorialbut there are automatic attribute selection methods that can be applied.

They can be broadly divided into those that rank individual attributes (e.g., based on their information gain) and those that search for a good subset of attributes by considering the combined eect of the attributes in the subset. The latter methods can be further divided into so-called lter and wrapper methods. Filter methods apply a computationally ecient heuristic to measure the quality of a subset of attributes. Wrapper methods measure the quality of an attribute subset by building and evaluating an actual classication model from it, usually based on cross-validation. This is more expensive, but often delivers superior performance.

In the WEKA Explorer, you can use the Select attributes panel to apply an attribute selection method on a dataset. The default is CfsSubsetEval. However, if we want to rank individual attributes, we need to use an attribute evaluator rather than a subset evaluator, e.g., the InfoGainAttributeEval. Attribute evaluators need to be applied with a special search method, namely the Ranker.

Ex. 8: Apply this technique to the labour negotiations data in labor.arff. What are the four most important attributes based on information gain?1

1 Note that most attribute evaluators, including InfoGainAttributeEval, discretize numeric attributes using WEKAs supervised discretization method before they are evaluated. This is also the case for CfsSubsetEval. 2 Nota que la mayor a de los evaluadores de atributos, incluyendo InfoGainAttributeEval, discretizar los atributos num ericos mediante el m etodo de discretizaci on supervisado WEKA antes de que se eval uan. Este es tambi en el caso de CfsSubsetEval.

WEKAs default attribute selection method, CfsSubsetEval, uses a heuristic attribute subset evaluator in a lter search method. It aims to identify a subset of attributes that are highly correlated with the target while not being strongly correlated with each other. By default, it searches through the space of possible attribute subsets for the best one using the BestFirst search method.3 You can choose others, like a genetic algorithm or even an exhaustive search. In fact, choosing GreedyStepwise and setting searchBackwards to true gives backwards selection, the search method you used manually in the second tutorial.

WEKA atributo por defecto el m etodo de selecci on, CfsSubsetEval, utiliza un subconjunto de atributos evaluador heur stica en un m etodo de ltro de b usqueda. Su objetivo es identicar un subconjunto de los atributos que est an muy correlacionados con el objetivo sin ser fuertemente correlacionados entre s . De forma predeterminada, se busca a trav es del espacio de subconjuntos de atributos posibles para el mejor con el m etodo de b usqueda BestFirst.4 Usted puede elegir otros, como un algoritmo gen etico o incluso una exhaustiva b usqueda. De hecho, la elecci on de GreedyStepwise searchBackwards y el establecimiento de verdad da al rev es de selecci on, el m etodo de b usqueda que usa manualmente en el segundo tutorial. Para utilizar el m etodo de envoltura en vez de un m etodo de ltro como CfsSubsetEval, es necesario seleccionar WrapperSubsetEval. Puede congurar esta eligiendo un algoritmo de aprendizaje de aplicar. Tambi en puede establecer el n umero de pliegues para la validaci on cruzada que se utiliza para evaluar el modelo en cada subconjunto de atributos. Ex. 9: En los mismos datos, CfsSubsetEval correr para la selecci on basada en la correlaci on, mediante la b usqueda de BestFirst. A continuaci on, ejecute el m etodo de envoltura con J48 como el aprendiz de base, utilizando de nuevo la b usqueda BestFirst. Examinar los subconjuntos de atributos que se emiten. Qu e atributos son seleccionados por ambos m etodos? C omo se relacionan con el resultado generado por el aumento de clasicaci on de informaci on utiliza?

To use the wrapper method rather than a lter method like CfsSubsetEval, you need to select WrapperSubsetEval. You can congure this by choosing a learning algorithm to apply. You can also set the number of folds for the cross-validation that is used to evaluate the model on each subset of attributes.

Ex. 9: On the same data, run CfsSubsetEval for correlation-based selection, using BestFirst search. Then run the wrapper method with J48 as the base learner, again using BestFirst search. Examine the attribute subsets that are output. Which attributes are selected by both methods? How do they relate to the output generated by ranking using information gain?

More on Automatic Attribute Selection


El panel de Select attribute nos permite profundizar en un conjunto de datos mediante la aplicaci on de m etodos de selecci on de atributos de un conjunto de datos. Sin embargo, utilizar esta informaci on para reducir un conjunto de datos se convierte en un problema si utilizamos algunos de los datos reducidos para probar el modelo (como en la validaci on cruzada).

The Select attribute panel allows us to gain insight into a dataset by applying attribute selection methods to a dataset. However, using this information to reduce a dataset becomes problematic if we use some of the reduced data for testing the model (as in cross-validation).

3 This 4 Este

is a standard search method from AI. es un m etodo de b usqueda est andar de la inuenza aviar.

The reason is that, as with supervised discretization, we have actually looked at the class labels in the test data while selecting attributesthe best attributes were chosen by peeking at the test data. As we already know (see Tutorial 2), using the test data to inuence the construction of a model biases the accuracy estimates obtained: measured accuracy is likely to be greater than what will be obtained when the model is deployed on fresh data. To avoid this, we can manually divide the data into training and test sets and apply the attribute selection panel to the training set only.

La raz on es que, al igual que con discretizaci on supervisado, que se han mirado en las etiquetas de clase en los datos de prueba, mientras que la selecci on de los atributosla mejor los atributos fueron elegidos por espiar a los datos de prueba. Como ya sabemos (ver Tutorial 2), utilizando los datos de prueba para inuir en la construcci on de un modelo de los sesgos de la exactitud estimaciones obtenidas: La precisi on de medida es probable que sea mayor de lo que se obtiene cuando el modelo se implementa en nuevos datos. Para evitar esto, se puede dividir manualmente los datos en conjuntos de entrenamiento y de prueba y aplicar el comit e de selecci on de atributos al conjunto de entrenamiento solamente. Un m etodo m as conveniente es utilizar el AttributeSelectedClassifer, uno de los metaclasicadores de WEKA. Esto nos permite especicar un m etodo de selecci on de atributos y un algoritmo de aprendizaje como parte de un esquema de clasicaci on. El AttributeSelectedClassier asegura que el conjunto seleccionado de atributos se selecciona bas andose en los datos de entrenamiento solamente, a n de dar estimaciones insesgadas precisi on. Ahora ponemos a prueba los m etodos de selecci on de atributos diferentes probado anteriormente en relaci on con NaiveBayes. Bayesiano asume (condicional) la independencia de los atributos, por lo que puede verse afectado si los atributos son redundantes, y la selecci on de atributos puede ser muy u til. Usted puede ver el efecto de los atributos redundantes en Bayes ingenuo mediante la adici on de copias de un atributo existente a un conjunto de datos utilizando la clase de ltro sin supervisi on weka.filters.unsupervised.attribute.Copy en el panel de Preprocess. Cada copia es, obviamente, una correlaci on perfecta con el original. Ex. 10: carga los datos de clasicaci on de la diabetes diabetes.arff y comenzar a agregar copias de la primera cualidad de los datos, medir el rendimiento de Bayes naive (con useSupervisedDiscretization encendido) con validaci on cruzada despu es de haber agregado cada copia. Qu e observa? Vamos ahora a comprobar si los tres m etodos de selecci on de atributos de arriba, se utiliza junto con AttributeSelectedClassier y NaiveBayes, con exito eliminar los atributos redundantes. Los m etodos son:

A more convenient method is to use the AttributeSelectedClassifer, one of WEKAs meta-classiers. This allows us to specify an attribute selection method and a learning algorithm as part of a classication scheme. The AttributeSelectedClassier ensures that the chosen set of attributes is selected based on the training data only, in order to give unbiased accuracy estimates.

Now we test the various attribute selection methods tested above in conjunction with NaiveBayes. Naive Bayes assumes (conditional) independence of attributes, so it can be aected if attributes are redundant, and attribute selection can be very helpful.

You can see the eect of redundant attributes on naive Bayes by adding copies of an existing attribute to a dataset using the unsupervised lter class weka.filters.unsupervised.attribute.Copy in the Preprocess panel. Each copy is obviously perfectly correlated with the original.

Ex. 10: Load the diabetes classication data in diabetes.arff and start adding copies of the rst attribute in the data, measuring the performance of naive Bayes (with useSupervisedDiscretization turned on) using cross-validation after you have added each copy. What do you observe? Let us now check whether the three attribute selection methods from above, used in conjunction with AttributeSelectedClassier and NaiveBayes, successfully eliminate the redundant attributes. The methods are:

InfoGainAttributeEval with Ranker (8 attributes)

InfoGainAttributeEval con Ranker (8 atributos)

CfsSubsetEval with BestFirst

CfsSubsetEval con BestFirst

WrapperSubsetEval with NaiveBayes and BestFirst. Run each method from within AttributeSelectedClassier to see the eect on cross-validated accuracy and check the attribute subset selected by each method. Note that you need to specify the number of ranked attributes to use for the Ranker method. Set this to eight, because the original diabetes data contains eight attributes (excluding the class). Note also that you should specify NaiveBayes as the classier to be used inside the wrapper method, because this is the classier that we want to select a subset for.

WrapperSubsetEval con NaiveBayes y BestFirst. Ejecutar cada m etodo dentro de AttributeSelectedClassier para ver el efecto en la cruzvalidado la exactitud y vericar el subconjunto de atributos seleccionados por cada m etodo. Tenga en cuenta que es necesario especicar el n umero de atributos clasic o a utilizar para el m etodo de Ranker. Ponga esto a ocho, porque los datos de la diabetes original contiene ocho atributos (con exclusi on de la clase). Tenga en cuenta tambi en que debe especicar NaiveBayes como el clasicador para ser utilizado en el m etodo de envoltura, porque este es el clasicador que desea seleccionar un subconjunto de. Ex. 11: Qu e puede decir respecto al rendimiento de los tres m etodos de selecci on de atributos? No tienen exito en la eliminaci on de las copias redundantes? Si no, por qu e no?

Ex. 11: What can you say regarding the performance of the three attribute selection methods? Do they succeed in eliminating redundant copies? If not, why not?

Automatic parameter tuning


Muchos algoritmos de aprendizaje tienen par ametros que pueden afectar los resultados del aprendizaje. Por ejemplo, el arbol de decisi on C4.5 alumno (J48 en WEKA) tiene dos par ametros que inuyen en la cantidad de la poda que hace (hemos visto a uno, el n umero m nimo de casos necesarios en una hoja, en el u ltimo tutorial). El k -clasicador del vecino m as pr oximo IBk tiene uno que establece el tama no de la vecindad. Pero manualmente modicando los ajustes de par ametros es tedioso, al igual que los atributos seleccionar manualmente, y presenta el mismo problema: los datos de prueba no debe ser utilizado cuando los par ametros de selecci onlo contrario las estimaciones de rendimiento se har a con preferencia.

Many learning algorithms have parameters that can aect the outcome of learning. For example, the decision tree learner C4.5 (J48 in WEKA) has two parameters that inuence the amount of pruning that it does (we saw one, the minimum number of instances required in a leaf, in the last tutorial). The k -nearest-neighbor classier IBk has one that sets the neighborhood size. But manually tweaking parameter settings is tedious, just like manually selecting attributes, and presents the same problem: the test data must not be used when selecting parametersotherwise the performance estimates will be biased.

WEKA has a meta classier, CVParameterSelection, that automatically searches for the best parameter settings by optimizing cross-validated accuracy on the training data. By default, each setting is evaluated using 10-fold cross-validation. The parameters to optimize re specied using the CVParameters eld in the GenericObjectEditor. For each one, we need to give (a) a string that names it using its letter code, (b) a numeric range of values to evaluate, and (c) the number of steps to try in this range (Note that the parameter is assumed to be numeric.) Click on the More button in the GenericObjectEditor for more information, and an example.

WEKA tiene una meta clasicador, CVParameterSelection, que busca autom aticamente los mejores valores de los par ametros mediante la optimizaci on de cruzvalidado la exactitud de los datos de entrenamiento. De forma predeterminada, cada ajuste se evalu o utilizando 10 veces la validaci on cruzada. Los par ametros para volver a optimizar el uso especicado en el campo CVParameters GenericObjectEditor. Para cada uno de ellos, tenemos que dar (a) una cadena que le asigna el nombre utilizando su c odigo de letras, (b) una serie de valores num ericos para evaluar, y (c) el n umero de medidas para tratar en este rango de (Tenga en cuenta que el par ametro se supone que es num erico.) Haga clic en el bot on de More en la GenericObjectEditor para obtener m as informaci on, y un ejemplo. Para los datos de la diabetes utilizados en la secci on anterior, el uso CVParameterSelection IBk en conjunto con el n de seleccionar la mejor valor para el tama no de la vecindad, que van desde 1 a 10 en diez pasos. El c odigo de letras para el tama no de esta zona: K . La precisi on de validaci on cruzada de la versi on par ametro anado de IBk es directamente comparable con la precisi on con la conguraci on predeterminada, ya que ajuste se realiza mediante la aplicaci on de interior validaci on cruzada se ejecuta para encontrar el mejor ajuste de par ametros para cada conjunto de entrenamiento se producen en el exterior validaci on cruzaday los rendimientos de este u ltimo la estimaci on nal de ejecuci on. Ex. 12: Qu e precisi on se obtiene en cada caso? Qu e valor se selecciona para la versi on par ametro anado sobre la base de la validaci on cruzada en el conjunto de entrenamiento completo? (Nota: este valor es la producci on en el area de texto Classier de salida.) Ahora considere ajuste de par ametros de J48. Podemos utilizar CVParameterSelection para realizar una b usqueda de la rejilla en ambos par ametros al mismo tiempo de poda mediante la adici on de varias cadenas de par ametros en el campo CVParameters. El c odigo de letras para el par ametro de la conanza de la poda es de C , y usted debe evaluar los valores de 0,1 a 0,5 en cinco pasos. El c odigo de letras para el par ametro de hoja de tama no m nimo es de M , y se deben evaluar los valores de 1 a 10 en diez pasos.

For the diabetes data used in the previous section, use CVParameterSelection in conjunction with IBk to select the best value for the neighborhood size, ranging from 1 to 10 in ten steps. The letter code for the neighborhood size is K . The cross-validated accuracy of the parameter-tuned version of IBk is directly comparable with its accuracy using default settings, because tuning is performed by applying inner cross-validation runs to nd the best parameter setting for each training set occuring in the outer cross-validationand the latter yields the nal performance estimate.

Ex. 12: What accuracy is obtained in each case? What value is selected for the parametertuned version based on cross-validation on the full training set? (Note: this value is output in the Classier output text area.)

Now consider parameter tuning for J48. We can use CVParameterSelection to perform a grid search on both pruning parameters simultaneously by adding multiple parameter strings in the CVParameters eld. The letter code for the pruning condence parameter is C , and you should evaluate values from 0.1 to 0.5 in ve steps. The letter code for the minimum leaf size parameter is M , and you should evaluate values from 1 to 10 in ten steps.

Ex. 13: Run CVParameterSelection to nd the best parameter values in the resulting grid. Compare the output you get to that obtained from J48 with default parameters. Has accuracy changed? What about tree size? What parameter values were selected by CVParameterSelection for the model built from the full training set?

Ex. 13: Ejecutar CVParameterSelection para encontrar los mejores valores de par ametros en la red resultante. Comparar la salida se llega a la obtenida de J48 con los par ametros por defecto. Tiene una precisi on cambiado? Qu e pasa con el tama no del arbol? Qu e valores de los par ametros han sido seleccionados por CVParameterSelection para el modelo construido a partir del conjunto de entrenamiento completo?

Practical Data Mining Tutorial 5: Document Classication

Eibe Frank and Ian H. Witten May 5, 2011


c 2008-2012 University of Waikato

Introduction
Clasicaci on de texto es una aplicaci on popular de aprendizaje autom atico. Puede que incluso lo han utilizado: los ltros de spam de correo electr onico son los clasicadores que dividen a los mensajes de correo electr onico, que son documentos poco menos, en dos grupos: basura y no deseado. Los llamados Bayesiano ltros de spam son entrenados en los mensajes que han sido etiquetados de forma manual, tal vez por su puesta en carpetas correspondientes (por ejemplo, jam on vs spam). En este tutorial vamos a ver c omo llevar a cabo la clasicaci on de documentos usando herramientas en WEKA. Los datos en bruto es de texto, pero la mayor a de algoritmos de aprendizaje autom atico esperar ejemplos que se describen mediante un conjunto jo de atributos. Por lo tanto, primero convertir los datos de texto en una forma adecuada para el aprendizaje. Esto suele hacerse mediante la creaci on de un diccionario de t erminos de todos los documentos en el corpus de entrenamiento y haciendo un atributo num erico de cada t ermino. Entonces, para un documento particular, el valor de cada atributo se basa en la frecuencia del t ermino correspondiente en el documento. tambi en existe el atributo de clase, lo que da la etiqueta del documento.

Text classication is a popular application of machine learning. You may even have used it: email spam lters are classiers that divide email messages, which are just short documents, into two groups: junk and not junk. So-called Bayesian spam lters are trained on messages that have been manually labeled, perhaps by putting them into appropriate folders (e.g. ham vs spam).

In this tutorial we look at how to perform document classication using tools in WEKA. The raw data is text, but most machine learning algorithms expect examples that are described by a xed set of attributes. Hence we rst convert the text data into a form suitable for learning. This is usually done by creating a dictionary of terms from all the documents in the training corpus and making a numeric attribute for each term. Then, for a particular document, the value of each attribute is based on the frequency of the corresponding term in the document. There is also the class attribute, which gives the documents label.

Data with string attributes


Atributo sin supervisi on WEKA el ltro StringToWordVector se puede utilizar para convertir el texto en bruto en los atributos plazo basado en la frecuencia. El ltro se supone que el texto de los documentos se almacena en un atributo de tipo String, que es un atributo nominal sin un conjunto previamente especicado de valores. En los datos ltrados, este atributo de cadena se sustituye por un conjunto jo de atributos num ericos, y el atributo de la clase se pone al principio, como el primer atributo. Para realizar la clasicaci on de documentos, primero tenemos que crear un archivo de ARFF con un atributo de cadena que contiene texto de los documentosdeclarado en el encabezado del archivo ARFF mediante @attribute document string, donde document es el nombre del atributo. tambi en necesitamos un atributo nominal que contiene la clasicaci on del documento.

WEKAs unsupervised attribute lter StringToWordVector can be used to convert raw text into term-frequency-based attributes. The lter assumes that the text of the documents is stored in an attribute of type String, which is a nominal attribute without a pre-specied set of values. In the ltered data, this string attribute is replaced by a xed set of numeric attributes, and the class attribute is put at the beginning, as the rst attribute.

To perform document classication, we rst need to create an ARFF le with a string attribute that holds the documents text declared in the header of the ARFF le using @attribute document string, where document is the name of the attribute. We also need a nominal attribute that holds the documents classication.

Document text The price of crude oil has increased signicantly Demand of crude oil outstrips supply Some people do not like the avor of olive oil The food was very oily Crude oil is in short supply Use a bit of cooking oil in the frying pan Table 1: Training documents. Document text Oil platforms extract crude oil Canola oil is supposed to be healthy Iraq has signicant oil reserves There are dierent types of cooking oil Table 2: Test documents.

Classication yes yes no no yes no

Classication Unknown Unknown Unknown Unknown

Ex. 1: To get a feeling for how this works, make an ARFF le from the labeled minidocuments in Table 1 and run StringToWordVector with default options on this data. How many attributes are generated? Now change the value of the option minTermFreq to 2. What attributes are generated now?

Ex. 1: Para tener una idea de c omo funciona esto, hacer un archivo ARFF de la etiqueta mini documentos en la Table 1 y ejecutar StringToWordVector con las opciones predeterminadas en estos datos. C omo se generan muchos atributos? Ahora cambia el valor de la opci on de minTermFreq 2. Qu eatributos se generan ahora?

Ex. 2: Build a J48 decision tree from the last version of the data you generated. Give the tree in textual form. Usually, the purpose of a classier is to classify new documents. Lets classify the ones given in Table 2, based on the decision tree generated from the documents in Table 1. To apply the same lter to both training and test documents, we can use the FilteredClassier, specifying the StringToWordVector lter and the base classier that we want to apply (i.e., J48).

Ex. 2: Construir un arbol de decisi on J48 de la u ltima versi on de los datos que generan. Dar el arbol en forma textual. Por lo general, el objetivo de un clasicador para clasicar los documentos nuevos. Vamos a clasicar a las dadas en la Table 2, basado en el arbol de decisi on de los documentos generados en la Table 1. Para aplicar el mismo ltro a los dos documentos de entrenamiento y prueba, podemos usar el FilteredClassier, especicando el ltro StringToWordVector y el clasicador base que queremos aplicar (es decir, J48). Ex. 3: Crear un archivo de ARFF de la Table 2, con signos de interrogaci on para las etiquetas de clase perdido. Congurar el FilteredClassier utilizando las opciones predeterminadas para StringToWordVector y J48, y especicar el archivo ARFF nuevo el equipo de prueba. Aseg urese de que selecciona Output predictions en More options... Classify en el panel. Mira el modelo y las predicciones que genera, y vericar que sean compatibles. Cu ales son las predicciones (en el orden en que los documentos son enumerados en la Table 2)?

Ex. 3: Create an ARFF le from Table 2, using question marks for the missing class labels. Congure the FilteredClassier using default options for StringToWordVector and J48, and specify your new ARFF le as the test set. Make sure that you select Output predictions under More options... in the Classify panel. Look at the model and the predictions it generates, and verify that they are consistent. What are the predictions (in the order in which the documents are listed in Table 2)?

Classifying actual short text documents


No es una colecci on est andar de los art culos agencia de noticias que es ampliamente utilizado para la evaluaci on de los clasicadores de documentos. ReutersCorn-train.arff y ReutersGrain-train.arff son conjuntos de datos de aprendizaje derivados de esta colecci on; ReutersCorn-test.arff y ReutersGrain-test.arff son correspondientes unidades de prueba. Los documentos reales en los datos de ma z y el grano son las mismas, s olo las etiquetas son diferentes. En el primer conjunto de datos, art culos que hablan de temas relacionados con el ma z tiene un valor de la clase de 1 y el resto a 0, el objetivo es construir un clasicador que se puede utilizar para identicar los art culos que hablan de ma z. En el segundo, el etiquetado similar se realiza con respecto a cuestiones relacionadas con granos, y el objetivo es identicar estos art culos en el equipo de prueba. Ex. 4: Construir clasicadores de documentos para los dos conjuntos de formaci on mediante la aplicaci on de la FilteredClassier StringToWordVector con el uso (a) J48 y (b) NaiveBayesMultinomial, en cada caso a la evaluaci on en el sistema de la prueba correspondiente. Qu e porcentaje de clasicaciones correctas se obtiene en los cuatro escenarios? Con base en sus resultados, que clasicador elegir as? El porcentaje de clasicaciones correctas no es la m etrica de evaluaci on utilizado para la clasicaci on de documentos. WEKA incluye varias otras estad sticas de evaluaci on por cada clase que se utilizan con frecuencia para evaluar los sistemas de recuperaci on de informaci on como los motores de b usqueda. Estos son tabulados en Detailed Accuracy By Class en el area de texto Classier output. Se basan en el n umero de verdaderos positivos (VP), el n umero de falsos positivos (FP), el n umero de verdaderos negativos (VN), y el n umero de falsos negativos (FN) en los datos de prueba. A positivos true es un ejemplo de prueba que est a clasicado correctamente como pertenecientes a la clase de destino en cuesti on, mientras que un falsos positivos es un ejemplo (negativo) que est a mal asignado a la clase de destino. FN y TN se dene de manera similar. La salida de las estad sticas por WEKA se calculan de la siguiente manera: TP Precio: TP / (TP + FN)

There is a standard collection of newswire articles that is widely used for evaluating document classiers. ReutersCorn-train.arff and ReutersGrain-train.arff are sets of training data derived from this collection; ReutersCorn-test.arff and ReutersGrain-test.arff are corresponding test sets. The actual documents in the corn and grain data are the same; just the labels dier. In the rst dataset, articles that talk about corn-related issues have a class value of 1 and the others have 0; the aim is to build a classier that can be used to identify articles that talk about corn. In the second, the analogous labeling is performed with respect to grain-related issues, and the aim is to identify these articles in the test set.

Ex. 4: Build document classiers for the two training sets by applying the FilteredClassier with StringToWordVector using (a) J48 and (b) NaiveBayesMultinomial, in each case evaluating them on the corresponding test set. What percentage of correct classications is obtained in the four scenarios? Based on your results, which classier would you choose?

The percentage of correct classications is not the only evaluation metric used for document classication. WEKA includes several other per-class evaluation statistics that are often used to evaluate information retrieval systems like search engines. These are tabulated under Detailed Accuracy By Class in the Classier output text area. They are based on the number of true positives (TP), number of false positives (FP), number of true negatives (TN), and number of false negatives (FN) in the test data. A true positive is a test instance that is classied correctly as belonging to the target class concerned, while a false positive is a (negative) instance that is incorrectly assigned to the target class. FN and TN are dened analogously. The statistics output by WEKA are computed as follows:

TP Rate: TP / (TP + FN)

FP Rate: FP / (FP + TN)

FP Precio: FP / (FP + TN)

Precision: TP / (TP + FP)

Precisi on: TP / (TP + FP)

Recall: TP / (TP + FN)

Recuperaci on: TP / (TP + FN)

F-Measure: the harmonic mean of precision and recall (2/F = 1/precision + 1/recall).

F-Medida: la media arm onica de precisi on y recuperaci on (2/F = 1/precisi on +1/recuperaci on).

Ex. 5: Based on the formulas, what are the best possible values for each of the statistics in this list? Describe in English when these values are attained. The Classier Output table also gives the ROC area, which diers from the other statistics because it is based on ranking the examples in the test data according to how likely they are to belong to the positive class. The likelihood is given by the class probability that the classier predicts. (Most classiers in WEKA can produce probabilities in addition to actual classications.) The ROC area (which is also known as AUC) is the probability that a randomly chosen positive instance in the test data is ranked above a randomly chosen negative instance, based on the ranking produced by the classier.

Ex. 5: Con base en las f ormulas, Cu ales son los mejores valores posibles para cada una de las estad sticas en esta lista? Describa en Ingl es cuando estos valores se alcanzan. En la tabla Classier Output tambi en da la ROC area, que diere de las estad sticas de otros porque se basa en el ranking de los ejemplos de los datos de prueba de acuerdo a la probabilidad que existe de pertenecer a la positivo clase. La posibilidad est a dada por la probabilidad de clase que el clasicador predice. (La mayor a de los clasicadores en WEKA pueden producir probabilidades, adem as de las clasicaciones actuales.) La zona de la Rep ublica de China (que tambi en se conoce como AUC) es la probabilidad de que un ejemplo elegido al azar positivo en los datos de prueba se clasica por encima de un ejemplo elegido al azar negativas, sobre la base de la clasicaci on producido por el clasicador. El mejor resultado es que todos los ejemplos positivos se sit ua por encima de todos los ejemplos negativos. En ese caso las AUC es uno. En el peor de los casos es cero. En el caso de que la clasicaci on es esencialmente al azar, las AUC es de 0,5. Por lo tanto queremos una AUC, que es al menos 0,5, de lo contrario nuestro clasicador no ha aprendido nada de los datos de entrenamiento. Ex. 6: Cu al de los dos clasicadores utilizados anterior produce los mejores AUC para los dos conjuntos de datos de Reuters? Compare esto con los resultados de porcentaje de respuestas correctas. Qu esignican los diferentes resultados?

The best outcome is that all positive examples are ranked above all negative examples. In that case the AUC is one. In the worst case it is zero. In the case where the ranking is essentially random, the AUC is 0.5. Hence we want an AUC that is at least 0.5, otherwise our classier has not learned anything from the training data.

Ex. 6: Which of the two classiers used above produces the best AUC for the two Reuters datasets? Compare this to the outcome for percent correct. What do the dierent outcomes mean?

Ex. 7: Interpret in your own words the dierence between the confusion matrices for the two classiers. There is a close relationship between ROC Area and the ratio TP Rate/FP Rate. Rather than just obtaining a single pair of values for the true and false positive rates, a whole range of value pairs can be obtained by imposing dierent classication thresholds on the probabilities predicted by the classier. By default, an instance is classied as positive if the predicted probability for the positive class is greater than 0.5; otherwise it is classied as negative. (This is because an instance is more likely to be positive than negative if the predicted probability for the positive class is greater than 0.5.) Suppose we change this threshold from 0.5 to some other value between 0 and 1, and recompute the ratio TP Rate/FP Rate. Repeating this with different thresholds produces what is called an ROC curve. You can show it in WEKA by right-clicking on an entry in the result list and selecting Visualize threshold curve.

Ex. 7: Interpretar en sus propias palabras la diferencia entre las matrices de confusi on para los dos clasicadores. Existe una relaci on estrecha entre ROC Area y la relaci on de TP Rate/FP Rate. En lugar de simplemente obtener un solo par de valores para las tasas de positivos verdaderos y falsos, toda una serie de pares de valores se puede obtener mediante la imposici on de diferentes umbrales de clasicaci on de las probabilidades predichas por el clasicador. De forma predeterminada, una instancia se clasica como positivo si la probabilidad predicha para la clase positivo es superior a 0,5, de lo contrario se clasica como negativa. (Esto se debe a un caso es m as probable que sea positivo que negativo si la probabilidad predicha para la clase positivo es superior a 0.5.) Supongamos que el cambio de este umbral de 0,5 a alg un otro valor entre 0 y 1, y volver a calcular la proporci on de TP Rate/FP Rate. Repetir esto con diferentes umbrales produce lo que se llama ROC curve. Se puede mostrar en WEKA haciendo clic derecho sobre una entrada en la lista de resultados y la selecci on de Visualize threshold curve. Al hacer esto, se obtiene una parcela con FP Rate en el eje x y TP Rate en el y eje. En funci on del clasicador que usa, esta parcela puede ser muy suave, o puede ser bastante discretos. Lo interesante es que si se conecta los puntos de muestra en el gr aco por las l neas, y calcular el area bajo la curva resultante, se obtiene el ROC Area discutido arriba! Ah es donde la AUC acrnimo de la Area de la ROC viene de: Area bajo la curva. Ex. 8: Para el conjunto de datos producidos a Reuters que la diferencia m as extrema en el ejercicio 6 anterior, visita las curvas ROC para la clase 1. Hacer una estimaci on muy aproximada del area debajo de cada curva, y explicarlo con palabras.

When you do this, you get a plot with FP Rate on the x axis and TP Rate on the y axis. Depending on the classier you use, this plot can be quite smooth, or it can be fairly discrete. The interesting thing is that if you connect the dots shown in the plot by lines, and you compute the area under the resulting curve, you get the ROC Area discussed above! That is where the acronym AUC for the ROC Area comes from: Area Under the Curve. Ex. 8: For the Reuters dataset that produced the most extreme dierence in Exercise 6 above, look at the ROC curves for class 1. Make a very rough estimate of the area under each curve, and explain it in words.

Ex. 9: What does the ideal ROC curve corresponding to perfect performance look like (a rough sketch, or a description in words, is sucient)?

Ex. 9: Qu ehace el ideal de la curva ROC correspondiente a buscar un rendimiento perfecto como (un boceto o una descripci on verbal, es suciente)?

Using the threshold curve GUI, you can also plot other types of curves, e.g. a precision/recall curve, with Recall on the x axis and Precision on the y axis. This plots precision against recall for each probability threshold evaluated.

Utilizando la curva de umbral de interfaz gr aca de usuario, tambi en puede trazar otros tipos de curvas, por ejemplo, una precisi on/recuperaci on curva, con Recall en el eje x y Precision en el y eje. Este gr aco de precisi on contra el recuerdo de cada umbral de probabilidad evaluada. Ex. 10: Cambiar los ejes para obtener una precisi on/recuperaci on curva. Qu eforma tiene la ideal precisi on/recuperaci on curva que corresponde a un rendimiento perfecto que (de nuevo un croquis o descripci on verbal es suciente)?

Ex. 10: Change the axes to obtain a precision/recall curve. What shape does the ideal precision/recall curve corresponding to perfect performance have (again a rough sketch or verbal description is sucient)?

Exploring the StringToWordVector lter


De forma predeterminada, el ltro de StringToWordVector, simplemente hace que el valor del atributo en el conjunto de datos transformados 1 o 0 para todos los t erminos primas de una sola palabra, dependiendo de si la palabra aparece en el documento o no. Sin embargo, hay muchas opciones que se pueden cambiar, por ejemplo: outputWordCounts causas palabra real cuenta de la salida.

By default, the StringToWordVector lter simply makes the attribute value in the transformed dataset 1 or 0 for all raw single-word terms, depending on whether the word appears in the document or not. However, there are many options that can be changed, e.g:

outputWordCounts causes actual word counts to be output.

IDFTransform and TFTransform: when both are set to true, term frequencies are transformed into so-called T F IDF values that are popular for representing documents in information retrieval applications.

IDFTransform y TFTransform: cuando ambos se ponen a true, las frecuencias plazo se transforman en los llamados T F F DI valores que son populares para la representaci on de documentos en aplicaciones de recuperaci on de informaci on.

stemmer allows you to choose from dierent word stemming algorithms that attempt to reduce words to their stems.

stemmer le permite elegir entre diferentes palabras derivadas algoritmos que tratan de reducir las palabras a sus tallos.

useStopList allows you determine whether or not stop words are deleted. Stop words are uninformative common words (e.g. a, the).

useStopList le permite determinar si se detiene se suprimir an las palabras. Las palabras vac as son poco informativos palabras comunes (por ejemplo, a, la).

tokenizer allows you to choose a dierent tokenizer for generating terms, e.g. one that produces word n-grams instead of single words.

tokenizer le permite elegir un analizador de t erminos diferentes para generar, por ejemplo, que produce la palabra n-gramos en lugar de palabras sueltas.

There are several other useful options. For more information, click on More in the GenericObjectEditor. Ex. 11: Experiment with the options that are available. What options give you a good AUC value for the two datasets above, using NaiveBayesMultinomial as the classier? (Note: an exhaustive search is not required.)

Hay varias opciones u tiles. Para obtener m as informaci on, haga clic en More en la GenericObjectEditor. Ex. 11: Experimento con las opciones que est an disponibles. Qu eopciones le dan un buen valor de AUC para los dos conjuntos de datos anterior, con NaiveBayesMultinomial en el clasicador? (Nota: una b usqueda exhaustiva no es necesario.) A menudo, no todos los atributos (es decir, t erminos) son importantes para la clasicaci on de documentos, ya que muchas palabras pueden ser irrelevantes para determinar el tema de un art culo. Podemos utilizar AttributeSelectedClassier WEKA, utilizando ranking con InfoGainAttributeEval Ranker y la b usqueda, para tratar de eliminar los atributos que no son tan u tiles. Al igual que antes tenemos que utilizar el FilteredClassier para transformar los datos antes de que se pasa al AttributeSelectedClassier. Ex. 12: Experimento con esta puesta en marcha, utilizando las opciones predeterminadas para StringToWordVector y NaiveBayesMultinomial en el clasicador. Variar el n umero de los atributos m as informativo que se seleccionan de la clasicaci on de informaci on de ganancia basado en cambiar el valor del campo en el numToSelect Ranker. Registre los valores del AUC de obtener. Qu en umero de atributos que ofrece la mejor AUC para los dos conjuntos de datos anteriores? Qu evalores AUC son los mejores que logran obtener? (De nuevo, una b usqueda exhaustiva no es necesario.)

Often, not all attributes (i.e., terms) are important when classifying documents, because many words may be irrelevant for determining the topic of an article. We can use WEKAs AttributeSelectedClassier, using ranking with InfoGainAttributeEval and the Ranker search, to try and eliminate attributes that are not so useful. As before we need to use the FilteredClassier to transform the data before it is passed to the AttributeSelectedClassier.

Ex. 12: Experiment with this set-up, using default options for StringToWordVector and NaiveBayesMultinomial as the classier. Vary the number of most-informative attributes that are selected from the infogain-based ranking by changing the value of the numToSelect eld in the Ranker. Record the AUC values you obtain. What number of attributes gives you the best AUC for the two datasets above? What AUC values are the best you manage to obtain? (Again, an exhaustive search is not required.)

Practical Data Mining Tutorial 6: Mining Association Rules

Eibe Frank and Ian H. Witten May 5, 2011


c 2008-2012 University of Waikato

Introduction
La miner a de reglas de asociaci on es una de las t ecnicas de miner a de datos m as destacados. En este tutorial, vamos a trabajar con Apriorila regla de asociaci on algoritmo de miner a de datos que lo empez o todo. Como se ver a, no es f acil de extraer informaci on u til con la miner a de reglas de asociaci on.

Association rule mining is one of the most prominent data mining techniques. In this tutorial, we will work with Apriorithe association rule mining algorithm that started it all. As you will see, it is not straightforward to extract useful information using association rule mining.

Association rule mining in WEKA


En Explorer WEKA, t ecnicas para la extracci on de reglas de asociaci on se accede mediante el panel de Associate. Debido a que esta es una t ecnica de miner a de datos puramente exploratoria, no hay opciones de evaluaci on, y la estructura del panel es simple. El m etodo predeterminado es Apriori, que utilizamos en este tutorial. WEKA contiene un par de otras t ecnicas para el aprendizaje de las asociaciones de los datos, pero son probablemente m as interesante para los investigadores de los profesionales. Para tener una idea de c omo aplicar Apriori, empezamos por las normas de la miner a de la weather.nominal.arff datos que se utiliz o en el Tutorial 1. Tenga en cuenta que este algoritmo espera de datos que es puramente nominal: los atributos num ericos deben ser discretos en primer lugar. Despu es de cargar los datos en el panel de Preprocess, pulsa el bot on Start en el panel de Associate para ejecutar Apriori con las opciones predeterminadas. Hace salir diez reglas, ordenadas de acuerdo a la medida de conanza entre par entesis despu es de cada uno. El n umero siguiente antecedente de una regla se muestra c omo muchos casos cumplen el antecedente, el n umero despu es de la conclusi on muestra cu antas instancias satisfacer toda la regla (esta es la regla de apoyo). Debido a que ambos n umeros son iguales para todas las diez reglas, la conanza de cada regla es exactamente uno.

In WEKAs Explorer, techniques for association rule mining are accessed using the Associate panel. Because this is a purely exploratory data mining technique, there are no evaluation options, and the structure of the panel is simple. The default method is Apriori, which we use in this tutorial. WEKA contains a couple of other techniques for learning associations from data, but they are probably more interesting to researchers than practitioners.

To get a feel for how to apply Apriori, we start by mining rules from the weather.nominal.arff data that we used in Tutorial 1. Note that this algorithm expects data that is purely nominal: numeric attributes must be discretized rst. After loading the data in the Preprocess panel, hit the Start button in the Associate panel to run Apriori with default options. It outputs ten rules, ranked according to the condence measure given in parentheses after each one. The number following a rules antecedent shows how many instances satisfy the antecedent; the number following the conclusion shows how many instances satisfy the entire rule (this is the rules support). Because both numbers are equal for all ten rules, the condence of every rule is exactly one.

In practice, it is tedious to nd minimum support and condence values that give satisfactory results. Consequently WEKAs Apriori runs the basic algorithm several times. It uses same userspecied minimum condence value throughout, given by the minMetric parameter. The support level is expressed as a proportion of the total number of instances (14 in the case of the weather data), as a ratio between 0 and 1. The minimum support level starts at a certain value (upperBoundMinSupport, which should invariably be left at 1.0 to include the entire set of instances). In each iteration the support is decreased by a xed amount (delta, default 0.05, 5% of the instances) until either a certain number of rules has been generated (numRules, default 10 rules) or the support reaches a certain minimum minimum level (lowerBoundMinSupport, default 0.1typically rules are uninteresting if they apply to only 10% of the dataset or less). These four values can all be specied by the user.

En la pr actica, es tedioso para encontrar un apoyo m nimo y los valores de la conanza que dan resultados satisfactorios. En consecuencia WEKAs Apriori corre el algoritmo b asico en varias ocasiones. Utiliza el mismo valor m nimo especicado por el usuario a trav es de la conanza, dado por el par ametro minMetric. El nivel de soporte se expresa como un porcentaje del n umero total de casos (14 en el caso de los datos meteorol ogicos), como una relaci on entre 0 y 1. El nivel m nimo de apoyo se inicia en un determinado valor (upperBoundMinSupport, que invariablemente se debe dejar en 1.0 para incluir todo el conjunto de casos). En cada iteraci on el apoyo se reduce en una cantidad ja (delta, por defecto 0.05, 5% de los casos) hasta que un cierto n umero de reglas se ha generado (numRules, por defecto 10 normas) o el apoyo llega a un cierto m nimo m nimo nivel (lowerBoundMinSupport, por defecto 0.1normalmente reglas son poco interesantes si se aplican a s olo el 10% del conjunto de datos o menos). Estos cuatro valores pueden ser especicados por el usuario. Esto suena bastante complicado, as que vamos a examinar lo que sucede en los datos meteorol ogicos. Desde la salida en el area de texto Associator output, vemos que el algoritmo de gesti on para generar diez reglas. Esto se basa en un nivel de conanza m nimo de 0.9, que es el predeterminado, y tambi en se muestra en la salida. El Number of cycles performed, que se muestra como 17, nos dice que Apriori era en realidad ejecuta 17 veces para generar estas normas, con 17 valores diferentes de la ayuda m nima. El coste nal, que corresponde a la salida que se ha generado, es de 0,15 (que corresponde a 0.15 14 2 instances). Al mirar las opciones de la GenericObjectEditor, podemos ver que el valor inicial de la ayuda m nima (upperBoundMinSupport) es 1 por defecto, y que delta es de 0,05. Ahora, 1170.05 = 0, 15, as que esto explica por qu e un valor m nimo de apoyo de 0,15 que se lleg o despu es de 17 iteraciones. Tenga en cuenta que upperBoundMinSupport delta es disminuido por antes de la base Apriori algoritmo se ejecuta por primera vez.

This sounds pretty complicated, so let us examine what happens on the weather data. From the output in the Associator output text area, we see that the algorithm managed to generate ten rules. This is based on a minimum condence level of 0.9, which is the default, and is also shown in the output. The Number of cycles performed, which is shown as 17, tells us that Apriori was actually run 17 times to generate these rules, with 17 different values for the minimum support. The nal value, which corresponds to the output that was generated, is 0.15 (corresponding to 0.15 14 2 instances).

By looking at the options in the GenericObjectEditor, we can see that the initial value for the minimum support (upperBoundMinSupport) is 1 by default, and that delta is 0.05. Now, 1 17 0.05 = 0.15, so this explains why a minimum support value of 0.15 is reached after 17 iterations. Note that upperBoundMinSupport is decreased by delta before the basic Apriori algorithm is run for the rst time.

Minimum condence 0.9 0.9 0.9 0.8 0.8 0.8 0.7 0.7 0.7

Minimum support 0.3 0.2 0.1 0.3 0.2 0.1 0.3 0.2 0.1

Number of rules

Table 1: Total number of rules for dierent values of minimum condence and support The Associator output text area also shows the number of frequent item sets that were found, based on the last value of the minimum support that was tried (i.e. 0.15 in this example). We can see that, given a minimum support of two instances, there are 12 item sets of size one, 47 item sets of size two, 39 item sets of size three, and 6 item sets of size four. By setting outputItemSets to true before running the algorithm, all those different item sets and the number of instances that support them are shown. Try this. El area de texto Associator output tambi en muestra el n umero de conjuntos de tems frecuentes que se encontraron, con base en el u ltimo valor de la ayuda m nima que fue juzgado (es decir, 0.15 en este ejemplo). Podemos ver que, dado un apoyo m nimo de dos casos, hay 12 conjuntos de punto del tama no de una, 47 conjuntos de punto del tama no de dos, 39 conjuntos de punto del tama no de tres, y seis conjuntos de punto del tama no de cuatro. Al establecer outputItemSets a true antes de ejecutar el algoritmo, todos los conjuntos de tems diferentes y el n umero de casos que los apoyan se muestran. Pruebe esto. Ex. 1: Sobre la base de la salida, lo que es el soporte del tema conjunto perspectivas=lluvias humedad=normal ventoso=FALSO jugar=s` ?

Ex. 1: Based on the output, what is the support of the item set outlook=rainy humidity=normal windy=FALSE play=yes?

Ex. 2: Suppose we want to generate all rules with a certain condence and minimum support. This can be done by choosing appropriate values for minMetric, lowerBoundMinSupport, and numRules. What is the total number of possible rules for the weather data for each combination of values in Table 1?

Ex. 2: Supongamos que desea generar todas las reglas con cierta conanza y el apoyo m nimo. Esto se puede hacer eligiendo valores adecuados para minMetric, lowerBoundMinSupport, y numRules. Cu al es el n umero total de posibles reglas para los datos del tiempo para cada combinaci on de valores de la Table 1?

Apriori has some further parameters. If significanceLevel is set to a value between zero and one, the association rules are ltered based on a 2 test with the chosen signicance level. However, applying a signicance test in this context is problematic because of the so-called multiple comparison problem: if we perform a test hundreds of times for hundreds of association rules, it is likely that a signicant eect will be found just by chance (i.e., an association seems to be statistically signicant when really it is not). Also, the 2 test is inaccurate for small sample sizes (in this context, small support values).

Apriori tiene algunos par ametros m as. Si significanceLevel se establece en un valor entre cero y uno, las reglas de asociaci on se ltran sobre la base de un 2 la prueba con el nivel de signicaci on elegido. Sin embargo, la aplicaci on de una prueba de signicaci on en este contexto es problem atico debido a los llamados problemas de comparaci on m ultiple: si realizamos una prueba cientos de veces por cientos de reglas de asociaci on, es probable que un efecto signicativo se encuentran s olo por casualidad (es decir, una asociaci on parece ser estad sticamente signicativa, cuando en realidad no lo es). Adem as, el 2 la prueba es inexacto para peque nos tama nos de muestra (en este contexto, los valores de apoyar a los peque nos). Hay medidas alternativas para las reglas de clasicaci on. Adem as de Condence, Apriori Lift apoya, Leverage y Conviction. Estos pueden ser seleccionados con metricType. M as informaci on est a disponible haciendo clic More en el GenericObjectEditor. Ex. 3: Ejecutar Apriori en la informaci on del tiempo con cada uno de los cuatro indicadores regla de clasicaci on, y la conguraci on por defecto de otra manera. Cu al es la primera regla de clasicaci on que se emite para cada m etrica?

There are alternative measures for ranking rules. As well as Condence, Apriori supports Lift, Leverage, and Conviction. These can be selected using metricType. More information is available by clicking More in the GenericObjectEditor. Ex. 3: Run Apriori on the weather data with each of the four rule ranking metrics, and default settings otherwise. What is the topranked rule that is output for each metric?

Mining a real-world dataset


Consideremos ahora un conjunto de datos del mundo real, vote.arff, lo que da los votos de 435 congresistas EE.UU. el 16 de cuestiones clave se reunieron a mediados de los a nos 80, y tambi en incluye su aliaci on a un partido como un atributo binario. Se trata de un conjunto de datos puramente nominal con algunos valores que faltan (de hecho, abstenciones). Normalmente se trata como un problema de clasicaci on, la tarea que para predecir aliaci on a un partido basado en los patrones de voto. Sin embargo, tambi en podemos aplicar la miner a de reglas de asociaci on a estos datos y buscar asociaciones interesantes. M as informaci on sobre los datos aparecen en los comentarios en el archivo ARFF. Ex. 4: Ejecutar Apriori en estos datos con la conguraci on predeterminada. Opina sobre las reglas que se generan. Varios de ellos son bastante similares. C omo son su apoyo y conanza de los valores asociados?

Now consider a real-world dataset, vote.arff, which gives the votes of 435 U.S. congressmen on 16 key issues gathered in the mid-80s, and also includes their party aliation as a binary attribute. This is a purely nominal dataset with some missing values (actually, abstentions). It is normally treated as a classication problem, the task being to predict party aliation based on voting patterns. However, we can also apply association rule mining to this data and seek interesting associations. More information on the data appears in the comments in the ARFF le.

Ex. 4: Run Apriori on this data with default settings. Comment on the rules that are generated. Several of them are quite similar. How are their support and condence values related?

Ex. 5: It is interesting to see that none of the rules in the default output involve Class=republican. Why do you think that is?

Ex. 5: Es interesante ver que ninguna de las reglas en la salida predeterminada implican Clase=republicana. Por qu e crees que es?

Market basket analysis


Una aplicaci on popular de la miner a de reglas de asociaci on es el an alisis de la cestaanalizar los h abitos de compra de los clientes mediante la b usqueda de asociaciones en los productos que compran al visitar una tienda. Para hacer an alisis de la cesta de WEKA, cada transacci on se codica como una instancia cuyos atributos representan los art culos de la tienda. Cada atributo tiene un u nico valor: si una transacci on en particular no lo contiene (es decir, el cliente no comprar ese art culo en particular), esto se codica como un valor que falta. Su trabajo consiste en extraer datos supermercado para las asociaciones. Los datos de supermarket.arff se obtuvo de un verdadero supermercado de Nueva Zelanda. Echa un vistazo a este archivo utilizando un editor de texto para comprobar que entender la estructura. El punto principal de este ejercicio es mostrar lo dif cil que es encontrar cualquier patrones interesantes en este tipo de datos! Ex. 6: Experimente con Apriori e investigar el efecto de la diversos parmetros discutidos anteriormente. Escriba un breve informe en su investigacin y las conclusiones principales.

A popular application of association rule mining is market basket analysisanalyzing customer purchasing habits by seeking associations in the items they buy when visiting a store. To do market basket analysis in WEKA, each transaction is coded as an instance whose attributes represent the items in the store. Each attribute has only one value: if a particular transaction does not contain it (i.e., the customer did not buy that particular item), this is coded as a missing value.

Your job is to mine supermarket checkout data for associations. The data in supermarket.arff was collected from an actual New Zealand supermarket. Take a look at this le using a text editor to verify that you understand the structure. The main point of this exercise is to show you how difcult it is to nd any interesting patterns in this type of data!

Ex. 6: Experiment with Apriori and investigate the eect of the various parameters discussed above. Write a brief report on your investigation and the main ndings.

S-ar putea să vă placă și