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

1

Getting started
Este tutorial presenta la interfaz gr´ afica 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 WEKA’s 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.

2

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 modificado, ya sea mediante la edici´ on de forma manual o mediante la aplicaci´ on de un filtro, y la versi´ on modificada se puede guardar. Como alternativa a la carga de un conjunto de datos pre-existentes, una artificial 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 first started. This tutorial will introduce you to two others as well: Classify and Visualize. (The remaining three panels are explained in later tutorials.) Here’s 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 modified, either by editing it manually or by applying a filter, and the modified version can be saved. As an alternative to loading a pre-existing dataset, an artificial one can be created by using a generator. It is also possible to load data from a URL or from a database.

1

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

Classify es donde se invoca a los m´ etodos de clasificaci´ on en WEKA. Varias opciones para el proceso de clasificaci´ on se puede establecer, y el resultado de la clasificaci´ on se puede ver. El conjunto de datos de entrenamiento utilizados para la clasificaci´ 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.

3

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 file... 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 file... button in the top left corner of the panel. Look around for the folder containing datasets, and locate a file named weather.nominal.arff (this file is in the data folder that is supplied when WEKA is installed). This contains the nominal version of the standard “weather” dataset. Open this file. 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 fila es un ejemplo independiente, las filas/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.

2

Figure 1: The Explorer’s Preprocess panel. All attributes in this dataset are “nominal,” i.e. they have a predefined finite 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” attribute—it classifies 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 finito de valores predefinidos. 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 “class”—que clasifica la instancia. Su valor puede ser ‘si’ o ‘no’. S´ ı significa que las condiciones clim´ aticas est´ an bien para jugar al golf, y no significa 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 final. 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?

3

Ex. 2: Load a new dataset. Press the ‘Open file’ button and select the file 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 fila 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 file 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 first 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 filter
En WEKA, “filtros” son m´ etodos que se pueden utilizar para modificar bases de datos de manera sistem´ atica—es decir, son datos del proceso previo herramientas. WEKA tiene varios filtros para diferentes tareas. Actualizar el weather.nominal conjunto de datos, y vamos a eliminar un atributo de ella. El filtro adecuado se llama Remove, su nombre completo es:

In WEKA, “filters” are methods that can be used to modify datasets in a systematic fashion—that is, they are data preprocessing tools. WEKA has several filters for different tasks. Reload the weather.nominal dataset, and let’s remove an attribute from it. The appropriate filter is called Remove; its full name is:

weka.filters.unsupervised.attribute.Remove

4

Use the path given in the full name above to select the Remove filter. a hierarchical editor opens in which you select a filter by following the path corresponding to its full name. cuya ra´ ız es weka. se abre un editor jer´ arquico en el que se selecciona un filtro. Examine cuidadosamente este nombre. If you click the Choose button in the Preprocess panel. Los filtros se dividen en los que operan principalmente en los atributos/columnas (la categor´ ıa attribute) y los que operan principalmente en casos/filas (la categor´ ıa instance). Those in the unsupervised category don’t require a class attribute to be set. Los filtros est´ an organizados en una estructura jer´ arquica. those in the supervised category do. Si hace clic en el bot´ on Choose en el panel de Preprocess. Utilice la ruta dada en por encima del nombre completo para seleccionar el filtro de Remove.Figure 2: The data viewer. 5 . siguiendo la ruta de acceso correspondiente a su nombre completo. Examine this name carefully. 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). Filters are organized into a hierarchical structure whose root is weka. the text “Remove” will appear in the field next to the Choose button. los de la categor´ ıa supervised hacer. Una vez que se selecciona. el texto “Eliminar” aparecer´ a en el campo situado junto al bot´ on de Choose. Once it is selected. Los que est´ an en la categor´ ıa de unsupervised no requieren un atributo de clase que se establece.

attributes can be selected using the small boxes in the Attributes sub-panel and removed using the Remove button that appears at the bottom. En lugar de invocar el Remove filtro. This change does not affect the dataset in the file. there is a simpler way of achieving the same effect. What we have described illustrates how filters in WEKA are applied to data. Se abre una ventana denominada GenericObjectEditor. The window with the filter options closes. Haga clic en el campo que contiene este texto. The action of the filter can be undone by pressing the Undo button. haga clic en ella para mostrar la ventana de GenericObjectEditor y encontrar la manera de cambiar la configuraci´ on del filtro adecuadamente.instance. Ingrese “3” en el campo attributeIndices y haga clic en el bot´ on de OK. en el caso particular de Remove. However. Use the filter weka.nominal Ex. Para ello.unsupervised. esto se aplica a la versi´ on de los datos contenidos en la memoria. Now click the Apply button on the right. El conjunto de datos modificado se puede guardar en un archivo ARFF nuevo pulsando el bot´ on de Save. y se puede ver que el conjunto de atributos se ha reducido. Si se trata de ‘falsos’. 6: Aseg´ urese de que el weather. this applies to the version of the data held in memory. these attributes are NOT removed. hay una manera m´ as sencilla de lograr el mismo efecto. Again. La segunda opci´ on—InvertSelection— es un interruptor. Underneath there are two fields in which the options of the filter can be set. Este cambio no afecta al conjunto de datos en el archivo. 6 . 3. To do this. los datos a trav´ es del filtro. Utilice el filtro weka. The second option—InvertSelection—is a switch. La ventana con las opciones de filtro se cierra.. The changed dataset can be saved to a new ARFF file by pressing the Save. Enter “3” into the attributeIndices field and click the OK button. Instead of invoking the Remove filter. es decir. Ahora haga clic en el bot´ on de Apply a la derecha.1 Exercises Ex. Sin embargo. which runs the data through the filter. 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. s´ olo se aplica a los datos recogidos en la memoria.instance.RemoveWithValues to remove all instances in which the ‘humidity’ attribute has the value ‘high’. Lo que hemos descrito se muestra c´ omo los filtros en WEKA se aplican a los datos. the specified attributes are removed. The first option is a list of attribute numbers. dataset is loaded. y entrar en un nombre de archivo. and you can see that the set of attributes has been reduced. it only applies to the data held in memory. estos atributos no se quitan.. button and entering a file name. La primera opci´ on es una lista de n´ umeros de atributo.unsupervised. A window opens called the GenericObjectEditor. Una vez m´ as. en primer lugar que el campo situado junto al bot´ on de Choose mostrar´ a el texto ‘RemoveWithValues’. 6: Ensure that the weather.nominal conjunto de datos se carga. si es ‘verdadero’. if it is ‘true’. which is used throughout WEKA to set parameter values for all of the tools. first make the field next to the Choose button show the text ‘RemoveWithValues’. los atributos especificados se quitan.4. The filter removes the attribute with index 3 from the dataset. Then click on it to get the GenericObjectEditor window and figure out how to change the filter settings appropriately. que se utiliza en todo WEKA para establecer valores de los par´ ametros de todas las herramientas.RemoveWithValues para eliminar todos los casos en los que el atributo ‘humedad’ tiene el valor ‘alto’. below the list of attributes. debajo de la lista de atributos. El filtro elimina el atributo con el ´ ındice 3 del conjunto de datos. If it is ‘false’. It contains a short explanation of the Remove filter—click More to get a fuller description. Contiene una breve explicaci´ on del filtro de Remove—haga clic More para obtener una descripci´ on m´ as completa. a continuaci´ on. in the particular case of Remove..Click on the field containing this text. La acci´ on del filtro se puede deshacer pulsando el bot´ on de Undo.. Debajo hay dos campos en los que las opciones del filtro se puede establecer.

with every possible combination of the five attributes of the iris data on the x and y axes. so we use the iris data. We now take a look at WEKA’s data visualization facilities. Muestra una cuadr´ ıcula que contiene 25 gr´ aficos de dispersi´ on de dos dimensiones. Clicking on one of the crosses opens up an Instance Info window. Cada caso se clasifica como uno de tres tipos: setosa iris. The dataset has 50 examples of each type: 150 instances in all.Ex. 4 The Visualize panel Ahora eche un vistazo a las instalaciones de WEKA de visualizaci´ on de datos. The field showing “Colour: class (Num)” can be used to change the colour coding. iris versicolor y virginica iris.arff. Click the Visualize tab to bring up the visualization panel. El eje x muestra el atributo ‘sepallength’. 7 . Estos funcionan mejor con datos num´ ericos. Clicking a bar uses that attribute for the x axis of the scatter plot. Cada una de las parcelas de colores poco como la barra a la derecha de la ventana del gr´ afico de dispersi´ on representa un u ´nico atributo. 7: Deshacer el cambio en el conjunto de datos que acaba de realizar. Haciendo clic en un bar que utiliza atributos para los x eje del diagrama de dispersi´ on. Each of the colorful little bar-like plots to the right of the scatter plot window represents a single attribute. 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. Try changing the x axis to ‘petalwidth’ and the y axis to ‘petallength’. Clicking the first plot in the second row opens up a window showing an enlarged plot using the selected axes. This data contains flower measurements. and the y axis shows ‘petalwidth’. por lo que utilizar los datos del iris. Try to change the x and y axes back to ‘sepallength’ and ‘petalwidth’ using these bars. y ‘petalwidth’ muestra el y eje. Al hacer clic en la primera parcela en la segunda fila se abre una ventana que muestra una trama ampliada con los ejes seleccionados. Al hacer clic en una de las cruces se abre una ventana de Instance Info. These work best with numeric data. con todas las combinaciones posibles de los cinco atributos de los datos del iris en los x y y ejes. which lists the values of all attributes for the selected instance. Close the Instance Info window again. Derecho clic en un bar hace lo mismo con los y eje. Haga clic en la ficha Visualize para que aparezca el panel de visualizaci´ on. load iris. Instances are shown as little crosses whose color cross depends on the instance’s class. En primer lugar. iris-versicolor and irisvirginica. The x axis shows the ‘sepallength’ attribute. Trate de cambiar los x y y ejes de nuevo a ‘sepallength’ y ‘petalwidth’ utilizando estas barras. Pruebe a cambiar el eje x a ‘petalwidth’ y el y eje ‘petallength’. El conjunto de datos cuenta con 50 ejemplos de cada tipo: 150 casos en total. El campo muestra “Color: clase (Num)”se puede utilizar para cambiar el c´ odigo de colores. It shows a grid containing 25 twodimensional scatter plots. and verify that the data is back in its original state. Each instance is classified as one of three types: iris-setosa. First. la carga iris. que enumera los valores de todos los atributos de la instancia seleccionada. Las instancias se muestran como peque˜ nas cruces cuyo color depende de la clase de cruz de la instancia. Right -clicking a bar does the same for the y axis.arff. The selection fields 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. Ex. 7: Undo the change to the dataset that you just performed. y verificar que los datos vuelve a su estado original. Estos datos contienen mediciones de flores.

En WEKA. and all instances outside the rectangle are deleted. Luego cambiar a la mesa de clasificaci´ on. Certain instances can be selected and the others removed. The Reset button now changes into a Submit button. 8 . mientras que Reset restaura el conjunto de datos original. carga la informaci´ on del tiempo nuevo. Try the Rectangle option: select an area by left-clicking and dragging the mouse. El resultado se muestra en la Figura 3. 5 The Classify panel Ahora usted sabe c´ omo cargar un conjunto de datos de un archivo y visualizarlo como parcelas de dos dimensiones. Click it. y todos los casos fuera del rect´ angulo se eliminan. and select weather.The Jitter slider displaces the cross for each instance randomly from its true position. El Reset bot´ on ahora se transforma en un bot´ on de Submit. In this section we apply a classification algorithm—called a “classifier” in WEKA—to the data. El bot´ on de Select Instance y Reset. incluso si se utilizan para predecir un objetivo num´ erico—mientras que otras personas a menudo describen situaciones tales como “num´ erica predicci´ on” o “regresi´ on”.” even if they are used to predict a numeric target—whereas other people often describe such situations as “numeric prediction” or “regression. haga clic en la ficha Classify en la parte superior de la ventana. En esta secci´ on se aplica un algoritmo de clasificaci´ on—denominado “clasificador” en WEKA—a los datos.arff desde el directorio de datos. load the weather data again. en el contexto de aprendizaje de m´ aquina. Haga clic en ´ el. The Select Instance button and the Reset. El control deslizante Jitter desplaza la cruz por cada instancia al azar de su verdadera posici´ on. la predicci´ on num´ erica hist´ oricamente ha sido llamada “la clasificaci´ on con clases continuas.nominal. El clasificador se basa (“aprende”) un modelo de clasificaci´ on de los datos. Go to the Preprocess panel. y Save los botones le permiten cambiar el conjunto de datos.” Before getting started. Pruebe la opci´ on Rectangle: seleccionar un ´ area por la izquierda haciendo clic y arrastrando el rat´ on.nominal. y seleccione weather.” Antes de empezar.” The reason is that. The result is shown in Figure 3. Experimente un poco moviendo la barra deslizante. Algunos casos se pueden seleccionar y eliminar los dem´ as. and can reveal situations where instances lie on top of one another. Clear. in the context of machine learning. Clear and Save buttons let you change the dataset. The classifier builds (“learns”) a classification model from the data. Ir al panel de Preprocess. Now you know how to load a dataset from a file and visualize it as two-dimensional plots. numeric prediction has historically been called “classification with continuous classes. while Reset restores the original dataset. todos los esquemas para predecir el valor de un atributo u ´nico. basado en los valores de algunos atributos de otros se llaman “clasificadores”. You could use Save to save the modified dataset to a file.arff from the data directory. y puede revelar las situaciones en que casos se encuentran en la parte superior de uno al otro. Usted podr´ ıa utilizar Save para guardar el conjunto de datos modificados en un archivo. Experiment a little by moving the slider. In WEKA. haga clic en el bot´ on de Open file. all schemes for predicting the value of a single attribute based on the values of some other attributes are called “classifiers. Then switch to the classification panel by clicking the Classify tab at the top of the window. La raz´ on es que. click the Open file button.

classifiers. because they rarely require changing to obtain good performance from C4. it is implemented in a classifier called “J48. se implementa en un clasificador llamado “J48”.1 Using the C4. are organized in a hierarchy: J48 has the full name weka. 5. Haga clic en la entrada trees a revelar sus subentradas. We can ignore these. Podemos ignorar esto. Una ventana de di´ alogo aparece mostrando los diferentes tipos de clasificadores. como los filtros. En WEKA.5. 9 . Seleccione el clasificador J48 haciendo clic en el bot´ on de Choose en la parte superior de la ficha Classifier.trees.” Choose the J48 classifier by clicking the Choose button near the top of the Classifier tab.5 algorithm. A dialogue window appears showing various types of classifier. A popular machine learning method for data mining is called the C4. like filters. In WEKA. El texto despu´ es de “J48” da la configuraci´ on de los par´ ametros por defecto para este clasificador.classifiers. El clasificador se muestra en el cuadro de texto junto al bot´ on Choose: J48 –C 0. y haga clic en J48 elegir el clasificador J48. The text after “J48” gives the default parameter settings for this classifier. Click the trees entry to reveal its subentries.Figure 3: The Classify panel. and click J48 to choose the J48 classifier. Note that classifiers. est´ an organizados en una jerarqu´ ıa: J48 tiene el nombre completo weka. Tenga en cuenta que los clasificadores.5. The classifier is shown in the text box next to the Choose button: it now reads J48 –C 0.5 classifier Una m´ aquina popular m´ etodo de aprendizaje para la miner´ ıa de datos se denomina el algoritmo C4.25 –M 2 se sustituir´ a por el texto.J48. ya que rara vez se requieren cambios para obtener un buen rendimiento de C4. and builds decision trees.J48.trees.5.25 –M 2. y construye ´ arboles de decisi´ on.

la precisi´ on se mide como el porcentaje de casos clasificados correctamente. Idealmente. choose Use training set from the Test options panel in the Classify panel. Nevertheless. Estos se muestran en la Figure 4. 5. previously unseen instances with high accuracy. Una opci´ on en WEKA es evaluar el rendimiento en el conjunto de entrenamiento—los datos que se utiliz´ o para construir el clasificador.2 Interpreting the output El resultado de la formaci´ on y la prueba aparece en el cuadro de Classifier output a la derecha.” To evaluate on the training set. En WEKA. hay que probarlo para ver c´ omo es exacto es la hora de clasificar los casos. You can scroll through the text to examine it. the data that is loaded using the Preprocess panel is the “training data. No obstante. Usted puede obtener el 100% de precisi´ on en los datos de entrenamiento por el aprendizaje de memoria sencillo. One option in WEKA is to evaluate performance on the training set—the data that was used to build the classifier. Este proceso conjunto de entrenamiento utilizando el algoritmo seleccionado aprendizaje. Once the test strategy has been set. Una vez que la estrategia de prueba se ha establecido. we should test it to see how accurate it is when classifying instances. for illustrative purposes it is instructive to consider performance on the training data. In WEKA. busque en la parte que describe el ´ arbol de decisi´ on que se ha generado: The outcome of training and testing appears in the Classifier output box on the right.5 en este caso.0) outlook = rainy | windy = TRUE: no (2. Once a model has been learned. In classification tasks. En las tareas de clasificaci´ on.5 in this case. Ideally. These are shown in Figure 4. elegir Use training set desde el panel de Test options en el panel Classify.0) 10 . Los ´ arboles de decisi´ on son un tipo especial de modelo de clasificaci´ on. Luego se clasifica a todas las instancias en los datos de entrenamiento—porque esta es la opci´ on de evaluaci´ on que se ha elegido— y estad´ ısticas de resultados de desempe˜ no.0) | humidity = normal: yes (2. You can easily get 100% accuracy on the training data by simple rote learning. the classifier is built and evaluated by pressing the Start button. Then it classifies all the instances in the training data—because this is the evaluation option that has been chosen—and outputs performance statistics. Esto no es generalmente una buena idea porque conduce a las estimaciones de rendimiento irrealmente optimista.0) outlook = overcast: yes (4. a t´ ıtulo ilustrativo es instructivo considerar el rendimiento de los datos de entrenamiento.0) | windy = FALSE: yes (3. models should be able to predict the class values of new. First. los datos que se carga mediante el panel de Preprocess es el “datos de entrenamiento. look at the part that describes the decision tree that was generated: J48 pruned tree -----------------outlook = sunny | humidity = high: no (3. C4. This processes the training set using the currently selected learning algorithm. Una vez que un modelo que se ha aprendido. no visto previamente casos con gran precisi´ on. accuracy is often measured as the percentage of correctly classified instances. Puede desplazarse por el texto para examinarla. los modelos deben ser capaces de predecir los valores de la clase de nuevo. el clasificador se construye y se evalu´ o con el bot´ on Start. but this tells us nothing about performance on new data that might be encountered when the model is applied in practice. En primer lugar.Decision trees are a special type of classification model. This is NOT generally a good idea because it leads to unrealistically optimistic performance estimates.” Para evaluar el conjunto de entrenamiento. 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. C4.

J48 que acaba de ser a˜ nadido a la lista de resultados. pero WEKA puede generar una representaci´ on gr´ afica equivalente. una nueva entrada aparece en el panel de Result List en la esquina inferior izquierda de la Figure 4. right-click on the trees. To see the tree. Number of Leaves Size of the tree : : 8 5 This represents the decision tree that was built. and choose Visualize tree.J48 entry that has just been added to the result list. including the number of instances that fall under each leaf. Puede haber notado que cada vez que el bot´ on se pulsa Start y un clasificador de nueva construcci´ on y se evalu´ o. but WEKA can generate an equivalent graphical representation. Esto representa el ´ arbol de decisi´ on que fue construido. haga clic en la entrada trees. La representaci´ on textual es torpe de interpretar. The textual representation is clumsy to interpret. Puede desplazarse por arrastrando el rat´ on. You can pan around by dragging the mouse. Aparece una ventana que muestra el ´ arbol de decisi´ on en la forma ilustrada en la Figure 5. or force the tree to fit into view. 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. Right-click a blank spot in this window to bring up a new menu enabling you to auto-scale the view. incluyendo el n´ umero de casos que corresponden a cada hoja. You may have noticed that each time the Start button is pressed and a new classifier is built and evaluated. 11 . o la fuerza del ´ arbol para ajustarse a la vista. a new entry appears in the Result List panel in the lower left corner of Figure 4. Para ver el ´ arbol.Figure 4: Output after building and testing the classifier. A window pops up that shows the decision tree in the form illustrated in Figure 5. y elija Visualize tree.

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

3 Setting the testing method Cuando el bot´ on se pulsa Start. humedad = viento. windy = TRUE Ex. and all 5 ‘no’ instances as no . Como puede ver. 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. que no vamos a discutir aqu´ ı. Hay algunas medidas de desempe˜ no en la zona de salida de texto. y las columnas representan las clases previsto. temperature = cool. which is often the case when the training set is used for testing. A model built from the full training set is then printed into the Classifier output area: this may involve running the learning algorithm one final time. El resto de la producci´ on en el ´ area de Classifier output depende del protocolo de prueba que fue elegido con Test options. all 9 ‘yes’ instances have been predicted as yes . que es a menudo el caso cuando el conjunto de entrenamiento se utiliza para la prueba. At the bottom of the output is the confusion matrix: === Confusion Matrix === a b <-.1 Exercise Ex 8: How would the following instance be classified using the decision tree? outlook = sunny. It is completely accurate (100%). There are some other performance measures in the text output area.classified as 9 0 | a = yes 0 5 | b = no Each element in the matrix is a count of instances. En la parte inferior de la salida es la matriz de confusi´ on: Cada elemento de la matriz es un recuento de los casos. temperatura = fria. todos los 9 ‘s´ ı’ casos se han previsto como s´ ı. Las filas representan las clases de verdad. As you can see. humidity = high. Un modelo construido a partir del conjunto de entrenamiento completo se imprime en el ´ area de Classifier output: esto puede implicar que ejecuta el algoritmo de aprendizaje por u ´ltima vez.2. which we won’t discuss here. The Test options box gives several possibilities for evaluating classifiers: 13 . 8: C´ omo ser´ ıa la siguiente instancia se clasificar´ an con el ´ arbol de decisi´ on? perspectivas = soleado. Rows represent the true classes. the selected learning algorithm is started and the dataset that was loaded in the Preprocess panel is used to train a model.This is the accuracy of the model on the data used for testing. Esta es la precisi´ on del modelo sobre los datos utilizados para la prueba. 5. y los 5 ‘no’ casos como no. and columns represent the predicted classes. The remainder of the output in the Classifier output area depends on the test protocol that was chosen using Test options. alta = TRUE 5. Es totalmente preciso (100%). El cuadro de Test options da varias posibilidades para la evaluaci´ on de los clasificadores: When the Start button is pressed.

WEKA’s cross-validation is a stratified cross-validation. una nueva tapa est´ a seleccionado para las pruebas y los pliegues restante utilizado para el entrenamiento. cada instancia del conjunto de datos completo se utiliza para probar una sola vez. all but one of the folds are used for training and the remaining. 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. and the most commonly-used one. todos menos uno de los pliegues se utilizan para la formaci´ on y el restante a cabo. no se recomienda porque da estimaciones de rendimiento demasiado optimistas.Use training set Uses the same dataset that was used for training (the one that was loaded in the Preprocess panel). It first splits the training set into disjoint subsets called “folds. It is generally NOT recommended because it gives over-optimistic performance estimates. uno se utiliza para la prueba. Una vez que los datos se ha dividido en los pliegues de (aproximadamente) igual tama˜ no. This is repeated until all folds have been used for testing. one is used for testing. En primer lugar. lo que significa 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. El n´ umero de subconjuntos se pueden introducir en el campo Folds. left-out. Esto proporciona un rendimiento mejorado ligeramente en comparaci´ on con las estimaciones sin estratificar la validaci´ on cruzada. Cross-validation This is the default option. This is the option we used above. La validacion cruzada Esta es la opci´ on por defecto.” The number of subsets can be entered in the Folds field. and in general gives better estimates than other choices. This involves building a new model from scratch from the corresponding subset of data and evaluating it on the letout fold. 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. Esta es la opci´ on que usamos anteriormente. This gives slightly improved performance estimates compared to unstratified cross-validation. y en general proporciona mejores estimaciones que otras opciones. y una instancia s´ olo se utiliza para la prueba cuando no se utiliza para el entrenamiento. 14 . Ten is the default. De esta manera. y el m´ as com´ unmente utilizado. a la izquierda-. Once this has been done for the first test fold. 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. se divide el conjunto de entrenamiento en subconjuntos disjuntos llamados “pliegues”. Diez es el valor predeterminado. Esto se repite hasta que todos los pliegues se han utilizado para la prueba. Supplied test set Lets you select a file containing a separate dataset that is used exclusively for testing. 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). WEKA cruz de la validaci´ on es una stratified crossvalidation. a new fold is selected for testing and the remaining folds used for training. Once the data has been split into folds of (approximately) equal size. prueba suministrados conjunto Permite seleccionar un archivo que contiene un conjunto de datos independiente que se utiliza exclusivamente para la prueba. Por lo general. Una vez que esto se ha hecho para la primera prueba doble.

Casos que han sido clasificados correctamente marcadas por peque˜ nas cruces. In practice.Percentage split Shuffles the data randomly and then splits it into a training and a test set according to the proportion specified. where N is the chosen number of folds. donde N es el n´ umero elegido de los pliegues. involve building a model only once. 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 final del conjunto de datos completo se utiliza. 9 carga los datos del iris mediante el panel de Preprocess. evaluation on the training set and using a supplied test set. whereas ones that have been classified incorrectly are marked by little squares. once on the reduced dataset and again on the full dataset. Cu´ al es el porcentaje estimado de clasificaciones correctas para (a) y (b)? Que estiman es m´ as realista? 5.J48 entry in the result list and choose Visualize classifier errors. Evaluar C4.4 Visualizing classification errors Panel de WEKA de Classify proporciona una manera de visualizar los errores de clasificaci´ on. The first two testing methods. 5.3. Cross-validation involves building a model N +1 times. La validaci´ on cruzada consiste en la construcci´ on de un modelo de N + 1 veces.1 Exercise 15 . una vez en el conjunto de datos reducidos y de nuevo en el conjunto de datos completo. implicar´ ıa la construcci´ on de un modelo de una sola vez.5 en estos datos utilizando (a) el conjunto de entrenamiento y (b) la validaci´ on cruzada. Los dos primeros m´ etodos de prueba. la evaluaci´ on en el conjunto de entrenamiento y el uso de una unidad de prueba suministrada. 5. Evaluate C4. mientras que los que han sido clasificados incorrectamente est´ an marcados por peque˜ nos cuadrados. The first N times. What is the estimated percentage of correct classifications for (a) and (b)? Which estimate is more realistic? Ex. 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.1 Exercise Ex 9: Load the iris data using the Preprocess panel. To do this.4. Para ello. Shuffles Porcentaje dividir los datos al azar y luego se divide en un entrenamiento y un conjunto de pruebas de acuerdo a la proporci´ on especificada. Una ventana gr´ afica de dispersi´ on aparece. a fraction (N − 1)/N (90% for ten-fold cross-validation) of the data is used for training. A scatter plot window pops up. Los primeros N veces. Instances that have been classified correctly are marked by little crosses. El m´ etodo de dividir el porcentaje implica la construcci´ on del modelo en dos ocasiones. haga clic en la entrada trees.5 on this data using (a) the training set and (b) cross-validation. right-click the trees. this is a good alternative to crossvalidation if the size of the dataset makes cross-validation too slow. The percentage split method involves building the model twice.J48 en la lista de resultados y elegir Visualize classifier errors. En la pr´ actica. and the final time the full dataset is used. WEKA’s Classify panel provides a way of visualizing classification errors.

What can you say about the location of the errors? Ex.Ex 10: Use the Visualize classifier errors function to find the wrongly classified test instances for the cross-validation performed in Exercise 9. Qu´ e puede decir acerca de la ubicaci´ on de los errores? 16 . 10: Utilice la funci´ on de Visualize classifier errors para encontrar las instancias de prueba de mal clasificadas para la validaci´ on cruzada realizada en el ejercicio 9.

mild and cool. 3. This can be easily seen in the Viewer window. El conjunto de datos del iris tiene cuatro num´ erico y un atributo nominal. 8. Se corresponde con el orden de las instancias en el archivo. El atributo nominal es el atributo de clase. 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. 8.0 y 6. The iris dataset has 150 instances and 5 attributes. The first column is the number given to an instance when it is loaded from the ARFF file. In this dataset the values for this attribute lie between 1. The test instance would be classified as ’no’. caliente.6 Answers To Exercises 1. 4. 7. 3.9 (see Minimum and Maximum in the right panel). but the attribute ‘petallength’ is a numeric attribute and contains numeric values. Click on the field that is located next to the Choose button and set the field attributeIndex to 3 and the field nominalIndices to 1. En este conjunto de datos los valores de este atributo se encuentran entre 1. Haga clic en el bot´ on de Undo. pero ‘petallength’ el atributo es un atributo de numeric y contiene valores num´ ericos.0 and 6. Hasta ahora s´ olo hemos visto los valores de nominal. 2. La instancia de prueba ser´ ıa clasificado como ‘no’. Select the RemoveWithValues filter after clicking the Choose button. suave y fresco. 1.9 (v´ ease Minimum Maximum y en el panel derecho). La fila con el n´ umero 8 en la primera columna es la instancia con el n´ umero de instancia 5. El conjunto de datos del iris tiene 150 casos y atributos 5. 6. 6. 4. Esto puede verse f´ acilmente en la ventana de Viewer. Hot. Pulse OK y Apply. El valor de la clase de esta instancia es “no”. The row with the number 8 in the first column is the instance with instance number 8. 17 . Click the Undo button. It corresponds to the order of the instances in the file. So far we have only seen nominal values. The class value of this instance is ‘no’. Press OK and Apply. 2. The nominal attribute is the class attribute. La primera columna es el n´ umero dado en una instancia cuando se carga desde el archivo ARFF. Seleccione el RemoveWithValues filtro despu´ es de hacer clic en el bot´ on de Choose. 5. 7. The iris dataset has four numeric and one nominal attribute.

La estimaci´ on de la validaci´ on cruzada es m´ as realista. Los errores se encuentran en los l´ ımites de clase.9. 9. The cross-validation estimate is more realistic. Porcentaje de respuestas correctas en la validaci´ on cruzada es del 96%. porcentaje correcto en los datos de entrenamiento es de 98%. Percent correct under cross-validation is 96%. 18 . Percent correct on the training data is 98%. The errors are located at the class boundaries. 10. 10.

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 .

and how would you measure its effect 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. Before continuing with this tutorial you should review in your mind some aspects of the classification task: • How is the accuracy of a classifier measured? • What are irrelevant attributes in a data set. both for nearest neighbor classification and decision tree learning. Antes de continuar con este tutorial es necesario que revise en su mente algunos aspectos de la tarea de clasificaci´ on: • C´ omo es la precisi´ on de un clasificador de medir? In this tutorial you will experiment with nearest neighbor classification and decision tree learning. Then we examine the effect of selecting different attributes for nearest neighbor classification. Despu´ es de que variar el tama˜ no del conjunto de la formaci´ on. personally. 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. had to invent a decision tree classifier for a particular dataset. tanto para la clasificaci´ on del vecino m´ as cercano y el ´ arbol de decisi´ on aprendizaje. Finally. We begin by taking a preliminary look at this dataset. Para la mayor´ ıa de los que usamos un mundo real forenses conjunto de datos de clasificaci´ on de vidrio. Por u ´ltimo. For most of it we use a real-world forensic glass classification dataset. personalmente. c´ omo hacerlo? 1 .1 Introduction En este tutorial podr´ as experimentar con la clasificaci´ on m´ as cercano vecino y ´ arbol de decisi´ on aprendizaje. Following that we vary the training set size. you are asked to interactively construct a decision tree for an image segmentation dataset. A continuaci´ on. how would you go about it? • Si usted. examinamos el efecto de la selecci´ on de atributos diferentes para la clasificaci´ on del vecino m´ as cercano. Empezamos por echar un vistazo preliminar a esta base de datos. se le pide para construir de forma interactiva un ´ arbol de decisi´ on para un conjunto de datos de segmentaci´ on de la imagen. ten´ ıa que inventar un clasificador de ´ arbol de decisi´ on para un conjunto de datos particular. Next we study class noise and its impact on predictive performance for the nearest neighbor method. A continuaci´ on se estudia el ruido de clase y su impacto en el rendimiento predictivo del m´ etodo del vecino m´ as cercano.

IBk).arff y cargarlo en la Explorer WEKA.UU. Here and throughout this tutorial. y el objetivo es clasificar los diferentes tipos de vidrio sobre la base de estas caracter´ ısticas. 3: Qu´ e es la exactitud de IBk con 5 casos de vecinos (k = 5)? The glass dataset glass. Ex. Glass is described by its refractive index and the chemical elements it contains. Utilice la validaci´ on cruzada para probar su funcionamiento.arff from the US Forensic Science Service contains data on six types of glass. que el material objeto de examen en el Tutorial 1. which review material covered in Tutorial 1. and the aim is to classify different types of glass based on these features. Servicio de Ciencias Forenses contiene datos sobre los seis tipos de vidrio. Ex. dejando el n´ umero de pliegues en el valor predeterminado de 10. Recuerde que usted puede examinar las opciones del clasificador en la ventana de GenericObjectEditor que aparece al hacer clic en el texto junto al bot´ on Choose.classifiers.2 The glass dataset El conjunto de datos de cristal glass. leaving the number of folds at the default value of 10. Ex. but increase the number of neighboring instances to k = 5 by entering this value in the KNN field. El vidrio es descrito por su ´ ındice de refracci´ on y los elementos qu´ ımicos que contiene. For your own information. Para su propia informaci´ on. They are often used as a benchmark for comparing data mining algorithms. conteste las siguientes preguntas. Encontrar el conjunto de datos glass. Find the dataset glass. continue to use cross-validation as the evaluation method. Use crossvalidation to test its performance. The default value of the KNN field is 1: this sets the number of neighboring instances to use when classifying. que han sido recogidos por la Universidad de California en Irvine y est´ an disponibles libremente en la World Wide Web. Aqu´ ı ya lo largo de este tutorial. This dataset is taken from the UCI data sets. 2: What is the accuracy of IBk (given in the Classifier output box)? Run IBk again. seguir utilizando la validaci´ on cruzada como el m´ etodo de evaluaci´ on. Ex.classifiers.lazy. pero aumentar el n´ umero de casos de vecinos a k = 5 por entrar en este valor en el campo KNN. 3: What is the accuracy of IBk with 5 neighboring instances (k = 5)? 2 . 1: How many attributes are there in the glass dataset? What are their names? What is the class attribute? Run the classification algorithm IBk (weka.arff de los EE. El valor por defecto del campo KNN es una: este establece el n´ umero de casos de vecinos a utilizar en la clasificaci´ on. 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 clasificaci´ on IBK (weka. Este conjunto de datos se ha tomado de los conjuntos de datos de la UCI. 2: Qu´ e es la exactitud de IBk (que figuran en el cuadro de Classifier output)? Ejecutar IBK otra vez.lazy. Recall that you can examine the classifier options in the GenericObjectEditor window that pops up when you click the text beside the Choose button.IBk). Ex.arff and load it into the WEKA Explorer. which have been collected by the University of California at Irvine and are freely available on the World Wide Web. A menudo se utilizan como referencia para comparar los algoritmos de miner´ ıa de datos. answer the following questions.

Ex. for different 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 Classification accuracy The best accuracy obtained in this process is quite a bit higher than the accuracy obtained on the full dataset. and run a cross-validation for each reduced version. Performing an exhaustive search over all possible subsets of the attributes is infeasible (why?). 5: Is this best accuracy an unbiased estimate of accuracy on future data? Be sure to explain your answer. so we apply a procedure called “backwards selection. which we examine in a later tutorial. Ex. Now we find what subset of attributes produces the best cross-validated classification accuracy for the IBk nearest neighbor algorithm with k = 1 on the glass dataset. y as´ ı sucesivamente. WEKA contains automated attribute selection facilities. 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. que se examinan m´ as adelante en un tutorial. repita el procedimiento con este conjunto de datos reduce a encontrar el mejor conjunto de datos 7-atributo. WEKA contiene automatizado instalaciones para la selecci´ on de atributos. Table 1: Accuracy obtained using IBk. en primer lugar considerar abandonar cada atributo individual del conjunto de datos completa que consiste en nueve atributos (adem´ as de la clase). repeat the procedure with this reduced dataset to find the best 7-attribute dataset. first consider dropping each attribute individually from the full dataset consisting of nine attributes (plus the class).” To do this. Ex. and so on. Realizaci´ on de una b´ usqueda exhaustiva sobre todos los posibles subconjuntos de los atributos no es factible (por qu´ e?). 3 . pero es instructivo para hacerlo manualmente. por lo que aplicar un procedimiento llamado “al rev´ es de selecci´ on.” Para ello. 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. Ex. but it is instructive to do this manually. 4: Record in Table 1 the best attribute set and the greatest accuracy obtained in each iteration. 4: Registro en la Table 1 el mejor conjunto de atributos y la mayor precisi´ on obtenida en cada iteraci´ on.3 Attribute selection for glass classification Ahora nos encontramos con lo subconjunto de los atributos produce la exactitud de la clasificaci´ on mejor validaci´ on cruzada para el algoritmo de vecino m´ as cercano IBk con k = 1 en el conjunto de datos de vidrio. Once you have determined the best 8-attribute dataset. La mejor precisi´ on obtenida en este proceso es un poco mayor que la precisi´ on obtenida en el conjunto de datos completo.

attribute. However. is sensitive to noise in the training data. for our experiment it is important that the test data remains unaffected by class noise. in weka.) 4 Class noise and nearest-neighbor learning Aprendizaje m´ as cercana al vecino. lo que significa que los datos de prueba pasa a trav´ es de cambios. para nuestro experimento es importante que los datos de prueba no se ve afectado por el ruido de la clase. for different neighborhood sizes Percent noise 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% k=1 k=3 k=5 4 . en weka. The FilteredClassifier applies the filter to the data before running the learning algorithm.attribute.unsupervised. El FilteredClassifier se aplica el filtro a los datos antes de ejecutar el algoritmo de aprendizaje. Este clasificador meta debe estar configurado para utilizar como IBk AddNoise el clasificador y el filtro. You can flip a certain percentage of class labels in the data to a randomly chosen other value using an unsupervised attribute filter called AddNoise.classifiers. es sensible al ruido en los datos de entrenamiento. like other techniques. al igual que otras t´ ecnicas. no debemos mirar el at all datos de prueba cuando se produce el modelo de clasificaci´ on para la que queremos obtener la estimaci´ on. en weka. The AddNoise filter only adds noise to the first batch of data it encounters. we must not look at the test data at all when producing the classification model for which we want to obtain the estimate. Sin embargo. which means that the test data passes through unchanged.unsupervised.filters.(Hint: to obtain an unbiased estimate of accuracy on future data. 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 clasificaci´ on. This is done in two batches: first the training data and then the test data. El AddNoise filtro s´ olo hac´ ıa que el primer lote de datos que encuentra. This meta classifier should be configured to use IBk as the classifier and AddNoise as the filter. 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 filtro llamado AddNoise. Filtrado de los datos de entrenamiento sin filtrar los datos de prueba es un requisito com´ un. in weka. Table 2: Effect of class noise on IBk.filters. In this section we inject varying amounts of class noise into the training data and observe the effect on classification performance.) (Sugerencia: para obtener una estimaci´ on objetiva de la exactitud en los datos de futuro. y se realiza con un “meta” clasificador denominado FilteredClassifier. Nearest-neighbor learning.meta. Filtering the training data without filtering the test data is a common requirement.classifiers.meta. and is achieved using a “meta” classifier called FilteredClassifier. a continuaci´ on los datos de prueba. Esto se hace en dos tandas: en primer lugar los datos de entrenamiento y.

Para obtener las curvas de aprendizaje.1 Again this is done only for the first batch to which the filter is applied. 6: Actualizar el conjunto de datos de vidrio original. Ex. implementado en WEKA como J48. filter performs sampling with replacement.filters. Ex. Una vez m´ as se utilizan los datos de vidrio. 7: Cu´ al es el efecto de aumentar la cantidad de ruido de clase? Ex. Ex. but this time with both IBk and the C4. and record in Table 2 the cross-validated accuracy estimate of IBk for 10 different percentages of class noise and neighborhood sizes k = 1.unsupervised. por lo que los datos de prueba pasa sin modificar a trav´ es de la FilteredClassifier antes que alcanza el clasificador.instance. k = 5 (determined by the value of k in the k-nearest-neighbor classifier). 6: Reload the original glass dataset.” which show the effect of gradually increasing the amount of training data. In this section we consider “learning curves. k = 3. implemented in WEKA as J48. que extrae un porcentaje especificado de un conjunto de datos y devuelve el conjunto de datos reducidos. pero el efecto es menor y se lo ignora aqu´ ı. k = 3. 7: What is the effect of increasing the amount of class noise? Ex. 9: Record in Table 3 the data for learning curves for both the one-nearest-neighbor classifier (i. pero esta vez con dos IBk y la decisi´ on C4. which extracts a certain specified percentage of a given dataset and returns the reduced dataset. 8: What is the effect of altering the value of k? Ex. 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. IBk with k = 1) and J48.instance. 2 Este filtro realiza el muestreo con reemplazo. Ex. 1 This 5 .. Again we use the glass data.Ex. en lugar de muestreo sin reemplazo. esta vez en relaci´ on con el weka.2 Una vez m´ as esto se hace s´ olo para el primer grupo al que se aplica el filtro. rather than sampling without replacement. but the effect is minor and we will ignore it here.5 alumno ´ arbol.Resample. 8: Qu´ e elemento es el efecto de modificar el valor de k ? 5 Varying the amount of training data En esta secci´ on tenemos en cuenta “las curvas de aprendizaje”.5 decision tree learner.e. To obtain learning curves. k = 5 (determinado por el valor de k en el clasificador k vecino m´ as cercano). so the test data passes unmodified through the FilteredClassifier before it reaches the classifier.filters. use the FilteredClassifier again.unsupervised. que muestran el efecto de aumentar gradualmente la cantidad de datos de entrenamiento. this time in conjunction with weka. IBk con k = 1) y J48. el uso de la FilteredClassifier. 9: Registro en la Table 3 los datos de las curvas de aprendizaje tanto para el unoclasificador del vecino m´ as cercano (es decir.Resample.

en el weka. We will use a supplied test set (performing cross-validation with the user classifier is incredibly tedious!). 6 .. Here’s a competition: let’s see who can build a classifier with the highest predictive accuracy! Load the file segment-challenge.. button. seleccione la opci´ on de Supplied test set y haga clic en el bot´ on de Set.arff (tambi´ en en la carpeta de datos de la distribuci´ on de WEKA).Table 3: Effect 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.. Vamos a utilizar una unidad de prueba suministrada (realizar la validaci´ on cruzada con el clasificador de usuario es muy aburrido!). Aparecer´ a una peque˜ na ventana en la que usted elija el equipo de prueba. In the Test options box. the small window updates to show the number of instances (810) and attributes (20).classifiers. 10: What is the effect of increasing the amount of training data? Ex. choose the Supplied test set option and click the Set... close it. y la tarea consiste en clasificar las im´ agenes en siete grupos diferentes basados en las propiedades de los p´ ıxeles. Ajuste el clasificador a UserClassifier. This dataset has 20 attributes and 7 classes. and browse to the file segment-test. las actualizaciones peque˜ na ventana para mostrar el n´ umero de casos (810) y atributos (20). and the task is to classify images into seven different groups based on properties of the pixels. A small window appears in which you choose the test set. 10: Cu´ al es el efecto de aumentar la cantidad de datos de entrenamiento? Ex. En el cuadro de Test options.e. Click Open file.arff (also in the WEKA distribution’s data folder). Aqu´ ı hay una competencia: a ver qui´ en puede construir un clasificador con mayor precisi´ on de predicci´ on! Cargar el archivo segment-challenge. que—construir su propio clasificador...trees paquete.. in the weka. Se trata de un problema de segmentaci´ on de la imagen. you!—construct your own classifier. ci´ errelo.trees package.arff (en la carpeta de datos que viene con la distribuci´ on de WEKA).. 11: Es este tema efecto m´ as pronunciado para IBk o J48? 6 Interactive decision tree construction Uno de los clasificadores WEKA es interactiva: permite que el usuario—es decir. Haga clic en Open file. It is an image segmentation problem.classifiers. y busque el archivo segment-test.arff (in the data folder that comes with the WEKA distribution). 11: Is this effect more pronounced for IBk or J48? Ex. Set the classifier to UserClassifier. Al hacer clic en Open. On clicking Open. One of WEKA’s classifiers is interactive: it lets the user—i.. Este conjunto de datos cuenta con 20 atributos y las clases 7.

Aqu´ ı est´ a una sugerencia para comenzar: parcela region-centroid-row en el eje X y intensity-media en el eje. A special window appears and WEKA waits for you to use it to build your own classifier. You need to try different combinations of X and Y axes to get the clearest separation you can find between the colours. ya sea con la X e Y men´ us desplegables en la parte superior. Las pesta˜ nas en la parte superior del interruptor de la ventana entre dos puntos de vista del clasificador. 7 . Cuando exista una buena separaci´ on. El comportamiento de UserClassifier se diferencia de todos los otros clasificadores. El pol´ ıgono se cierran mediante la conexi´ on de los puntos primero y el u ´ltimo. chosen using the drop-down menu below the Y-axis selector: 1. 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. deber´ a seleccionar una regi´ on en la trama: esto crear´ a una rama en el ´ arbol. The Tree visualizer view shows the current state of 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. Polygon allows you to select points by drawing a free-form polygon. Rectangle le permite seleccionar los puntos arrastrando un rect´ angulo alrededor de ellos. 2. The tabs at the top of the window switch between two views of the classifier. You can change the attributes used for the axes either with the X and Y drop-down menus at the top. To begin with. 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. or by left-clicking (for X) or right-clicking (for Y) the horizontal strips to the right of the plot area. el arbol tiene un solo nodo—el nodo ra´ ´ ız—que contiene todos los datos. 2. elegidos mediante el men´ u desplegable debajo del selector de eje: 1. These strips show the spread of instances along each particular attribute. Polygon le permite seleccionar los puntos dibujando un pol´ ıgono de forma libre. Haga clic izquierdo para a˜ nadir v´ ertices. More nodes will appear when you proceed to split the data in the Data visualizer view. 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. Una ventana especial aparece y WEKA espera a que se utilizar para construir su propio clasificador. El punto de vista Tree visualizer muestra el estado actual de su ´ arbol. Haga clic en Start. There are three tools for selecting regions in the graph. Para empezar. You will see that the red class (’sky’) is nicely separated from the rest of the classes at the top of the plot. right-click to complete the polygon. y los nodos dar el n´ umero de valores de clase all´ ı. haga clic para completar el pol´ ıgono. Existen tres herramientas para la selecci´ on de las regiones en el gr´ afico. Left-click to add vertices. 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 . The behaviour of UserClassifier differs from all other classifiers. Puede cambiar los atributos utilizados para los ejes. Click the Data visualizer tab to see a 2D plot in which the data points are colour coded by class. Haga clic en la ficha Data visualizer para ver un gr´ afico 2D en el que los puntos de datos est´ an codificados por colores seg´ un la clase. The polygon will be closed off by connecting the first and last points. Rectangle allows you to select points by dragging a rectangle around them. M´ as nodos aparecer´ a cuando se procede a dividir los datos en la vista de Data visualizer. you then need to select a region in the plot: this will create a branch in your tree. El objetivo es llegar a un ´ arbol donde los nodos hoja son tan puros como sea posible. the tree has just one node—the root node—containing all the data. a continuaci´ on. Estas tiras muestran la propagaci´ on de casos a lo largo de cada atributo en particular.Click Start. Having found a good separation.

Cuando usted est´ a satisfecho con la selecci´ on. 12: Cuando usted piensa que tiene un buen puntaje. y copiarlo en su respuesta para este tutorial. Left-click to add vertices. and copy it into your answer for this tutorial. click Submit. Switch back to the Tree visualizer view to examine the change in the tree. que se vuelve gris. one holding all the instances covered by the selection and the other holding all remaining instances. La forma resultante es abierto. Clicking the Clear button cancels the selection without affecting the classifier. save the output using Save result buffer. los nodos hoja en el ´ arbol son en su mayor´ ıa puro. ya que el ´ arbol ser´ a evaluado en un conjunto de prueba independiente. Haga clic izquierdo para a˜ nadir v´ ertices. haga clic en cualquier espacio en blanco en la vista Tree visualizer y elija Accept The Tree. When you have selected an area using any of these tools. When you are satisfied with the tree. right-click to complete the shape. Estos nodos se corresponden a una divisi´ on binaria que realiza la prueba geom´ etrica elegida. Al hacer clic en el bot´ on Clear cancela la selecci´ on sin afectar el clasificador. una celebraci´ on de todos los casos cubiertos por la selecci´ on y el otro posee la totalidad de los casos restantes. When you are happy with the selection. Clicking on different nodes alters the subset of data that is shown in the Data visualizer section. Al hacer clic en los nodos diferentes altera el subconjunto de los datos que se muestra en la secci´ on de Data visualizer. WEKA eval´ ua el arbol contra el equipo de prueba y las estad´ ´ ısticas de resultados que muestran lo bien que hizo. A good score is anything close to 90% correct or better. en comparaci´ on con el pol´ ıgono que est´ a cerrado. however. Polyline allows you to select points by drawing a free-form polyline. 3. right-click any blank space in the Tree visualizer view and choose Accept The Tree. it turns gray. Polyline le permite seleccionar los puntos dibujando una polil´ ınea de forma libre. Run J48 on the data to see how well an automatic decision tree learner performs on the task. Trate tantas veces como quieras. Continue adding nodes until you obtain a good separation of the classes— that is. This creates two new nodes in the tree. haga clic para completar la forma.3. You are competing for the best accuracy score of a hand-built UserClassifier produced on the ‘segment-challenge’ dataset and tested on the ‘segment-test’ set. Cambie de nuevo a la vista de Tree visualizer para examinar el cambio en el ´ arbol. haga clic en la entrada correspondiente en la Result list. These nodes correspond to a binary split that performs the chosen geometric test. Usted est´ a compitiendo por la mejor puntuaci´ on de exactitud de una mano-construido UserClassifier conjunto de datos producidos en el ‘segmentchallenge’ y de prueba en el set del ‘segment-test’. Ejecutar J48 en los datos para ver qu´ e tan bien un estudiante de ´ arbol de decisi´ on autom´ atica realiza la tarea. haga clic en Submit. guardar el resultado con Save result buffer. Ex. that you do not want to overfit the data. WEKA evaluates your tree against the test set and outputs statistics that show how well you did. Try as many times as you like. the leaf nodes in the tree are mostly pure. recuerde que usted no desea sobreajuste de los datos. 8 . Contin´ ue a˜ nadiendo nodos hasta obtener una buena separaci´ on de las clases—es decir. Cuando haya seleccionado un ´ area usando cualquiera de estas herramientas. Sin embargo. Cuando est´ e satisfecho con el ´ arbol. because your tree will be evaluated on a separate test set. Esto crea dos nuevos nodos en el ´ arbol. 12: When you think you have a good score. Remember. The resulting shape is open. right-click the corresponding entry in the Result list. Un buen resultado es algo cercano a 90% de aciertos o mejor. as opposed to the polygon which is closed. Ex.

2011 c 2008-2012 University of Waikato .Practical Data Mining Tutorial 3: Classification Boundaries Eibe Frank and Ian H .Witten May 5.

Vamos a utilizar una versi´ on de los datos del iris. la trama s´ olo muestra los datos en el conjunto de datos.2D. guarde el conjunto de datos modificados en un archivo (usando Save) llamado. iris. button. A continuaci´ on. is a bug in the initial visualization. Then save the modified dataset to a file (using Save) called.. El verdadero prop´ osito del visualizador l´ ımite es mostrar la predicciones de un modelo determinado para cada lugar en el espacio.arff using the Open file button and remove the first two attributes (‘sepallength’ and ‘sepalwidth’) by selecting them and clicking the Remove button that appears at the bottom. we use WEKA’s BoundaryVisualizer.. haga doble clic en weka. start up the Explorer.jar or weka. The points representing the data are color coded based on the prediction the model generates. y es m´ as adecuado para conjuntos de datos con dos atributos num´ ericos. To do this. To get a true plot of the data. seleccionando y haciendo clic en el bot´ on que Remove aparece en la parte inferior. El visualizador muestra los l´ ımites parcelas de dos dimensiones de los datos.2 In this tutorial you will look at the classification boundaries that are produced by different types of models.2D. Para crear esta partir de los datos del iris est´ andar.arff usando el bot´ on de Open file y quite los dos primeros atributos (‘sepallength’ y ‘sepalwidth’). En el men´ u Visualization en la parte superior. say. double-click weka. Vamos a utilizar esta funcionalidad para investigar los l´ ımites de la decisi´ on que los clasificadores diferentes para generar el conjunto de datos del iris reducida. 2 No es un error en la visualizaci´ on inicial. To create this from the standard iris data.1 Introduction En este tutorial se ver´ a en los l´ ımites de clasificaci´ on que son producidas por diferentes tipos de modelos. The real purpose of the boundary visualizer is to show the predictions of a given model for each location in space. Para obtener una verdadera trama de los datos. seleccione un atributo diferente. and is most appropriate for datasets with two numeric attributes.arff. la puesta en marcha del Explorer. Poner en marcha el GUI Chooser WEKA como de costumbre en el men´ u INICIO de Windows (en Linux o Mac.. seleccione BoundaryVisualizer. Inicialmente. ya sea para los x o y eje haciendo clic en el bot´ on correspondiente. la carga iris. select BoundaryVisualizer. Ahora deja el Explorer y abrir este archivo para la visualizaci´ on mediante el visualizador de Fronteras bot´ on Open File. Now leave the Explorer and open this file for visualization using the boundary visualizer’s Open File. Los puntos que representan los datos est´ an codificados por colores basados en la predicci´ on del modelo genera.app).. Esto es no parte del Explorador de WEKA que hemos estado utilizando hasta ahora. We will use a version of the iris data without the first two attributes.1 2 Visualizing 1R S´ olo graficar los datos no es nada nuevo. Just plotting the data is nothing new. The boundary visualizer shows two-dimensional plots of the data. select a different attribute for either the x or y axis by clicking the appropriate button. iris. por ejemplo. sin los dos primeros atributos.app). Start up the WEKA GUI Chooser as usual from the Windows START menu (on Linux or the Mac. From the Visualization menu at the top. the plot just shows the data in the dataset.. 1 There 1 . load iris. Para ello. This is not part of the WEKA Explorer that we have been using so far.arff. Initially. utilizamos BoundaryVisualizer de WEKA.jar o weka. We will use this functionality to investigate the decision boundaries that different classifiers generate for the reduced iris dataset.

pulse el bot´ on Start. in this case—and the training data will be superimposed on the boundary visualization. El programa comienza a las predicciones de conspirar en las sucesivas l´ ıneas de exploraci´ on. una vez la trama se ha estabilizado—tan pronto como quiera. button to select the IBk classifier (weka. para seleccionar el clasificador IBk (weka.We start with the 1R rule learner. A continuaci´ on.rules. Aseg´ urese de que usted marque Plot training data.classifiers. (Hint: use the Explorer to look at the rule set that 1R generates for this data. Now we look at the classification boundaries created by the nearest neighbor method. Ex. Utilice el bot´ on de visualizador l´ ımite de Choose. 2: Estudiar el efecto del par´ ametro minBucketSize en el clasificador por la regeneraci´ on de la parcela con valores de 1.) 3 Visualizing nearest-neighbor learning Ahora nos fijamos en los l´ ımites de clasificaci´ on creado por el m´ etodo del vecino m´ as cercano. Use the boundary visualizer’s Choose..lazy.classifiers. and then 20. otherwise only the predictions will be plotted.lazy. y explicarlo.. y luego 20 y. Make sure you tick Plot training data.IBk) y la trama de sus l´ ımites de decisi´ on para reducir los datos del iris.classifiers. a continuaci´ on algunos valores cr´ ıticos en el medio. Hit the Stop button once the plot has stabilized—as soon as you like. (Hint: you could speed things up by using the Explorer to look at the rule sets.. en este caso—y los datos de entrenamiento se superpone a la visualizaci´ on de frontera.IBk) and plot its decision boundaries for the reduced iris data. (Sugerencia: puede acelerar las cosas mediante el Explorer a ver algunos de los conjuntos de reglas. The program starts plotting predictions in successive scan lines. 2 ..) Ex.OneR . and then some critical values in between. Use the Choose button of the boundary visualizer to select weka.) Ex.OneR. Utilice el bot´ on de Choose del visualizador l´ ımite para seleccionar weka. Pulse el bot´ on de Stop. (Sugerencia: usar el Explorer a mirar el conjunto de reglas que 1R genera para estos datos. Empezamos con el aprendiz regla 1R. de lo contrario s´ olo las predicciones se trazan. Then hit the Start button.) Ex. 2: Study the effect of the minBucketSize parameter on the classifier by regenerating the plot with values of 1. 1: Explain the plot based on what you know about 1R. 1: Explicar el argumento basado en lo que sabe sobre 1R.rules. Describe lo que ves. Describe what you see. and explain it.classifiers.

4 Visualizing naive Bayes Paso ahora a los ingenuos clasificador de Bayes. que corresponden a las tres clases. Esto significa que la probabilidad de clase global se obtiene simplemente multiplicando por el atributo de probabilidades condicionales juntos. ya que la probabilidad estimada es uno de casi todos los p´ ıxeles. because the estimated probability is one for almost all pixels. Esto supone que los atributos son condicionalmente independientes dado un valor de clase especial. hay una peque˜ na ´ area de la parcela en la que dos colores son en realidad mixta. se puede calcular el valor de cualquier punto del espacio multiplicando juntos. lugar de p´ ıxeles). Esto es m´ as f´ acil de entender si la visualizan como una parcela de contorno. las salidas IBk estimaciones de probabilidad para cada clase. Turn now to the naive Bayes classifier. dando como resultado un color puro. With k = 1. no s´ e si las probabilidades de clase a lo largo del eje X ya lo largo del eje. pixel location). IBk outputs probability estimates for each class. you might expect there to be only one instance in the set of nearest neighbors of each test case (i. resulting in a pure color. Por el contrario. 4: Experimente con diferentes valores de k . Ex. and these are used to mix the colors red. there is a small area in the plot where two colors are in fact mixed. es de esperar que haya una sola instancia en el conjunto de vecinos m´ as cercanos de cada caso de prueba (es decir. say 5 and 10. if you know the class probabilities along the x-axis and along the y-axis. 4: Experiment with different values for k . This assumes that attributes are conditionally independent given a particular class value. Explain this. 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. In contrast.) Ex. No hay mezcla de colores. con dos atributos. (Sugerencia: mirar cuidadosamente los datos mediante el panel Visualizar en el Explorer.In WEKA. Looking at the plot. In other words. This is easier to understand if you visualize it as a boundary plot. OneR’s predictions are categorical: for each instance they predict one of the three classes.) Ex. 3: Sin embargo. Describe what happens as k increases. En cuanto a la trama. which is the default value. las predicciones OneR son categ´ oricos: para cada instancia que predicen una de las tres clases. This means that the overall class probability is obtained by simply multiplying the per-attribute conditional probabilities together. There is no mixing of colors because one class gets probability one and the others probability zero. 3: Nevertheless. En otras palabras. Describir lo que sucede cuando aumenta k . 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. this is indeed almost always the case. porque una clase recibe una probabilidad y la probabilidad de los dem´ as cero. En WEKA. green. (Hint: look carefully at the data using the Visualize panel in the Explorer. 3 . Con k = 1. Ex. you can calculate the value for any point in space by multiplying them together. por ejemplo 5 y 10. y estas se utilizan para mezclar los colores rojo. and blue that correspond to the three classes.e. que es el valor por defecto. Explique esto. esto es de hecho casi siempre el caso. with two attributes. verde y azul.

you need to discretize the attribute values. 6: Qu´ e ves? La trama a la salida de las normas que se obtiene al procesar los datos en la Explorer. 4 . Explain the patterns in it. nos fijamos en los l´ ımites generados por JRip y J48. y es por eso que lo consideramos aqu´ ı. It also produces a more comprehensible visualization. 6: What do you see? Relate the plot to the output of the rules that you get by processing the data in the Explorer. Esto har´ a que NaiveBayes para discretizar los atributos num´ ericos de los datos mediante una t´ ecnica de discretizaci´ on supervisado.. Generate a plot for JRip. But first. De forma predeterminada. Ex.Plot the predictions of naive Bayes. Usted debe cambiar este ajuste de useSupervisedDiscretization a true utilizando el GenericObjectEditor. Decision trees and rule sets are similar to nearestneighbor learning in the sense that they are also quasi-universal: in principle. Pero primero. 5 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. In almost all practical applications of NaiveBayes. they can approximate any decision boundary arbitrarily closely. and that is why we consider it here. En esta secci´ on. You should override this by setting useSupervisedDiscretization to true using the GenericObjectEditor. que siguen una distribuci´ on en forma de campana). technique used is “supervised” because it takes the class labels of the instances into account to find good split points for the discretization intervals. 5: The plot that is generated by visualizing the predicted class probabilities of naive Bayes for each pixel location is quite different from anything we have seen so far. 7: The JRip output assumes that the rules will be executed in the correct sequence.e. 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. This will cause NaiveBayes to discretize the numeric attributes in the data using a supervised discretization technique. By default. 4 La t´ ecnica utilizada es “supervisada”. Write down an equivalent set of rules that achieves the same effect regardless of the order in which they are executed.4 En casi todas las aplicaciones pr´ acticas de la NaiveBayes. porque tiene las etiquetas de clase de las instancias en cuenta para encontrar buenos puntos de partido para los intervalos de discretizaci´ on. In this section. Tambi´ en produce una visualizaci´ on m´ as comprensible. discretizaci´ on supervisado es m´ as eficaz que el m´ etodo por defecto. NaiveBayes assumes that the attributes are normally distributed given the class (i. Ex. Ex. NaiveBayes asume que los atributos tienen una distribuci´ on normal habida cuenta de la clase (es decir. we look at the boundaries generated by JRip and J48. Explicar los patrones en ella. they follow a bell-shaped distribution). 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. with default options. Ex. tiene que discretizar los valores de atributo.3 Parcela las predicciones de Bayes ingenuo. supervised discretization works better than the default method. con las opciones predeterminadas. Ex. Generar una parcela de JRip.

Return to the 1R rule learner on the reduced iris dataset used in Section 2 (not the noisy version you just created). (Hint: it will probably be fastest to use the Explorer to look at the rule sets.. 8: Qu´ e ves? La trama a la salida del ´ arbol que se obtiene al procesar los datos en la Explorer. Cu´ ales son los rangos de los valores exactos de minNumObj que lograr este objetivo. Ex.Generate a plot for J48. 11: You saw in Section 2 that the plot always has three regions. con las opciones predeterminadas. 8: What do you see? Relate the plot to the output of the tree that you get by processing the data in the Explorer. minNumbObj. and 1 leaf nodes respectively. 1)? Use what you know about 1R to explain this apparent anomaly. But why aren’t there more for small bucket sizes (e. 2 y 1 respectivamente nodos de la hoja. 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. Ex.) Ex. (Sugerencia: es probable que sea m´ as r´ apido utilizar el Explorer a ver algunos de los conjuntos de reglas. Las siguientes preguntas le exigir´ a que pensar en el funcionamiento interno de 1R. 1)? Usa lo que sabes sobre 1R para explicar esta aparente anomal´ ıa. Ex. a˜ nadiendo o quitando puntos. given default values for all other parameters? 6 Messing with the data Con el BoundaryVisualizer se pueden modificar los datos. 10: Introduce some “noise” into the data and study the effect on the learning algorithms we looked at above. 10: Introducir algunos “ruidos” en los datos y estudiar el efecto sobre los algoritmos de aprendizaje que vimos anteriormente. minNumbObj.g. 9: Supongamos que desea generar ´ arboles con 3.) Ex. What are the exact ranges of values for minNumObj that achieve this. 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. 11: Se vio en la Secci´ on 2 que la trama siempre tiene tres regiones. Ex. What kind of behavior do you observe for each algorithm as you introduce more noise? 7 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). 5 . 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. Pero por qu´ e no hay m´ as para las dimensiones de cubo peque˜ no (por ejemplo. Generar una parcela de J48. The following questions will require you to think about the internal workings of 1R. los valores por defecto para todos los otros par´ ametros? Ex. with default options. 2. 9: Suppose you want to generate trees with 3.

Ex.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. 6 . 12: Se puede configurar 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.

Witten May 5.Practical Data Mining Tutorial 4: Preprocessing and Parameter Tuning Eibe Frank and Ian H. 2011 c 2008-2012 University of Waikato .

unsupervised. which are “class blind.attribute. un proceso conocido como discretizaci´ on. El segundo opta por la amplitud de los intervalos para que los mismos contienen (aproximadamente) el mismo n´ umero de casos.filters. The same is true for parameter tuning methods.1 Introduction Preprocesamiento de datos es a menudo necesario para obtener los datos listos para el aprendizaje. Ex. In this tutorial we will look at some useful preprocessing techniques. En este tutorial vamos a ver algunas de las t´ ecnicas de preprocesamiento u ´til. Ex.” and supervised one. Apply the unsupervised discretization filter in the two different modes discussed above. Encontrar el conjunto de datos de cristal glass. It may also improve the outcome of the learning process and lead to more accurate and concise models.” y una supervisi´ on. The main unsupervised technique for discretizing numeric attributes in WEKA is weka. which are implemented as WEKA filters. There are two types of discretization techniques: unsupervised ones. Discretize.unsupervised. Aplicar el filtro de discretizaci´ on sin supervisi´ on en las dos modalidades anteriormente expuestas. Se implementa dos m´ etodos sencillos: la igualdad de ancho y discretizaci´ on de igual frecuencia. The second chooses the width of the intervals so that they contain (approximately) the same number of instances. The first simply splits the numeric range into equal intervals. 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. The aim with supervised techniques is to create intervals that are as consistent as possible with respect to the class labels. 1: What do you observe when you compare the histograms obtained? Why is the one for equal-frequency discretization quite skewed for some attributes? 1 . que tienen el valor de clase de las instancias en cuenta al crear intervalos. Discretize. as´ ı como un m´ etodo para el ajuste autom´ atico de los par´ ametros. Tambi´ en puede mejorar el resultado del proceso de aprendizaje y dar lugar a modelos m´ as precisos y concisos. It implements two straightforward methods: equal-width and equal-frequency discretization. Hay dos tipos de t´ ecnicas de discretizaci´ on: sin supervisi´ on los que son “de clase ciego. as well as a method for automatic parameter tuning. El primero. Data preprocessing is often necessary to get data ready for learning. simplemente se divide el rango num´ erico en intervalos iguales. 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.. El principal t´ ecnica unsupervisada para discretizar los atributos num´ ericos en WEKA es weka. 2 Discretization los atributos num´ ericos se pueden convertir en los discretos mediante el fraccionamiento de sus ´ areas de distribuci´ on en intervalos num´ ericos. a process known as discretization.filters. The default is to use equal width. Lo mismo es cierto para los m´ etodos de ajuste de par´ ametros. que se aplican como filtros de WEKA. El valor por defecto es usar la misma anchura.arff and load it into the Explorer.attribute. Find the glass dataset glass.arff y cargarlo en la Explorer. which take the class value of the instances into account when creating intervals.

supervised. and look at the histograms obtained. 3: S´ olo hay una sola barra en los histogramas de algunos de los atributos. Begin with unsupervised discretization. mientras que para los “malos” las se˜ nales pasan directamente a trav´ es de la ionosfera. Este conjunto de datos contiene informaci´ on acerca de las se˜ nales de radar de regresar de la ionosfera. Qu´ e significan los atributos binarios representan? Ex. For more details.filters. Discretize. 2: Based on the histograms obtained. However. 2: Con base en los histogramas obtenidos. aplicar el esquema de discretizaci´ on supervisado.The main supervised technique for discretizing numeric attributes in WEKA is weka. Ex. Compare con el resultado generado cuando makeBinary es falsa. Ex. debido a los rangos est´ an ordenados. 2 . se carga en. y ver los histogramas obtenidos. Both filters also have the ability to create binary attributes rather than multi-valued ones. Encuadramiento intentos de discretizaci´ on para crear intervalos de tal manera que las distribuciones difieren entre los intervalos de clase. pero son coherentes dentro de los intervalos. Comience con discretizaci´ on sin supervisi´ on. Here we examine the effect of discretization when building a J48 decision tree for the data in ionosphere. 3: There is only a single bar in the histograms for some of the attributes. apply the supervised discretization scheme.arff. un atributo discretizado es en realidad en una escala ordinal.attribute. Compare to the output generated when makeBinary is false. “Good” samples are those showing evidence of some type of structure in the ionosphere. Discretize. Ex. with one value per range. con un valor por rango. load it in. by setting the option makeBinary to true. Locate the iris data. Para obtener m´ as informaci´ on. visita los comentarios en el archivo ARFF.filters. What do the binary attributes represent? 3 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. Ex.attribute. “Bueno” son las muestras que presenten indicios de alg´ un tipo de estructura de la ionosfera. mediante el establecimiento de la makeBinary opci´ on de verdad. This dataset contains information about radar signals returned from the ionosphere. take a look the comments in the ARFF file. Ambos filtros tambi´ en tienen la capacidad de crear los atributos binarios en lugar de los m´ ultiples valores. Sin embargo. El principal supervisado t´ ecnica para discretizar los atributos num´ ericos en WEKA es weka. Supervised discretization attempts to create intervals such that the class distributions differ between intervals but are consistent within intervals. What does that mean? Discretized attributes are normally coded as nominal attributes. while for “bad” ones the signals pass directly through the ionosphere.arff.supervised. 4: Choose one of the filters and apply it to create binary attributes. Busque los datos del iris. which of the discretized attributes would you consider the most predictive ones? Reload the glass data and apply supervised discretization to it. because the ranges are ordered. Ex. Qu´ e significa eso? Atributos discretizado normalmente codificados como atributos nominales. 4: Elegir un de los filtros y aplicarlo para crear atributos binarios. 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. a discretized attribute is actually on an ordinal scale.

Ex. 7: Compare estos datos con los resultados de los datos en bruto ((a) anterior). Esto se basa el modelo de filtro de los datos de entrenamiento solamente. If we simply repeated the previous exercise using a supervised discretization method. the data in the test set has been taken into account when determining the discretization intervals. (e) supervised discretization with binary attributes. Ex. In effect. 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 fiables que las construye a partir de datos num´ ericos en bruto? 3 . Despu´ es de todo. Now turn to supervised discretization. This builds the filter model from the training data only. (c) data discretized by the same method with binary attributes. 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. we use the FilteredClassifier from WEKA’s meta-classifiers. En efecto. se utiliza el FilteredClassifier de meta de WEKA-clasificadores. Si nos limitamos a repetir el ejercicio anterior utilizando un m´ etodo de discretizaci´ on supervisado. (b) los datos discretizados por el m´ etodo de discretizaci´ on sin supervisi´ on en el modo por defecto. Esto no da una estimaci´ on razonable de rendimiento en nuevos datos. el resultado ser´ ıa demasiado optimista. before evaluating it on the test data using the discretization intervals computed for the training data. Para evaluar discretizaci´ on supervisado de manera justa. que es como se tendr´ ıa que procesar los datos frescos en la pr´ actica. This does not give a fair estimate of performance on fresh data. los datos en el conjunto de pruebas se ha tenido en cuenta para determinar los intervalos de discretizaci´ on. that is how you would have to process fresh data in practice. Ahora pasa a la discretizaci´ on supervisado. Aqu´ ı surge una cuesti´ on sutil. After all. the result would be over-optimistic. To evaluate supervised discretization in a fair fashion. (c) los datos discretizados por el mismo m´ etodo con atributos binarios. Ex. antes de evaluar que en los datos de prueba mediante los intervalos de discretizaci´ on calculados para los datos de entrenamiento. since cross-validation is used for evaluation. (b) data discretized by the unsupervised discretization method in default mode. 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.Ex. ya que la validaci´ on cruzada se utiliza para la evaluaci´ on. 6: Compare the cross-validated accuracy and the size of the trees generated using the FilteredClassifier and J48 for (d) supervised discretization in default mode. Ex. 7: Compare these with the results for the raw data ((a) above). 6: Comparaci´ on de la precisi´ on validaci´ on cruzada y el tama˜ no de los ´ arboles generados con el FilteredClassifier y J48 para (d) discretizaci´ on supervisado en su modo normal. Here a subtle issue arises. 5: Compare the cross-validated accuracy of J48 and the size of the trees generated for (a) the raw data. (e) discretizaci´ on de supervisi´ on de los atributos binarios.

redundant and/or irrelevant attributes can result in less accurate models being generated.g. the InfoGainAttributeEval. Depending on the learning scheme employed. The latter methods can be further divided into so-called filter and wrapper methods. puede utilizar el panel de Select attributes de aplicar un m´ etodo de selecci´ on de atributos en un conjunto de datos.g. m´ etodos de aplicar un filtro eficiente computacionalmente heur´ ıstica para medir la calidad de un subconjunto de los atributos. si queremos clasificar los atributos individuales. we need to use an attribute evaluator rather than a subset evaluator.arff. In the WEKA Explorer. They can be broadly divided into those that rank individual attributes (e. The task of manually identifying useful attributes in a dataset can be tedious. discretizar los atributos num´ ericos mediante el m´ etodo de discretizaci´ on supervisado WEKA antes de que se eval´ uan. This is more expensive. tenemos que recurrir a un evaluador de atributos en vez de un subgrupo evaluador. based on their information gain) and those that search for a good subset of attributes by considering the combined effect of the attributes in the subset. but often delivers superior performance. Attribute evaluators need to be applied with a special “search” method. Estos m´ etodos se pueden dividir en los llamados filtro y contenedor m´ etodos.. 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. 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. as you have seen in the second tutorial—but there are automatic attribute selection methods that can be applied. redundantes y/o atributos irrelevantes pueden dar lugar a modelos menos precisos generando. Pueden dividirse en aquellos que se clasifican los atributos individuales (por ejemplo. 8: Apply this technique to the labour negotiations data in labor. pero a menudo ofrece un rendimiento superior. you can use the Select attributes panel to apply an attribute selection method on a dataset. Wrapper methods measure the quality of an attribute subset by building and evaluating an actual classification model from it. evaluadores de atributos deben ser aplicados con un especial de “b´ usqueda” m´ etodo. no todos los atributos son igualmente u ´tiles para predecir el destino. Filter methods apply a computationally efficient heuristic to measure the quality of a subset of attributes.. including InfoGainAttributeEval. Ex. discretize numeric attributes using WEKA’s supervised discretization method before they are evaluated. a saber. e. What are the four most important attributes based on information gain?1 1 Note that most attribute evaluators. Sin embargo. m´ etodos Wrapper medir la calidad de un subconjunto de atributos mediante la construcci´ on y evaluaci´ on de un modelo de clasificaci´ on real de ella.arff. La tarea de identificar manualmente los atributos u ´tiles en un conjunto de datos puede ser tedioso. ya que hemos visto en el segundo tutorial—pero hay m´ etodos autom´ aticos de selecci´ on de atributos que se pueden aplicar. 8: Aplicar esta t´ ecnica para las negociaciones laborales de datos en labor. Dependiendo de la actividad de aprendizaje empleados. la Ranker. En el Explorer WEKA. incluyendo InfoGainAttributeEval. generalmente se basa en la validaci´ on cruzada. Este es tambi´ en el caso de CfsSubsetEval. El valor predeterminado es CfsSubsetEval. if we want to rank individual attributes. The default is CfsSubsetEval. Ex. Esto es m´ as caro. por ejemplo. namely the Ranker. 4 . 2 Nota que la mayor´ ıa de los evaluadores de atributos.4 Automatic Attribute Selection En la mayor´ ıa de las aplicaciones pr´ acticas de aprendizaje supervisado. la InfoGainAttributeEval. However. usually based on cross-validation. This is also the case for CfsSubsetEval.

The Select attribute panel allows us to gain insight into a dataset by applying attribute selection methods to a dataset. However. It aims to identify a subset of attributes that are highly correlated with the target while not being strongly correlated with each other. 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).WEKA’s default attribute selection method. Para utilizar el m´ etodo de envoltura en vez de un m´ etodo de filtro como CfsSubsetEval. WEKA atributo por defecto el m´ etodo de selecci´ on. es necesario seleccionar WrapperSubsetEval. De forma predeterminada. run CfsSubsetEval for correlation-based selection. Ex. 9: En los mismos datos. You can also set the number of folds for the cross-validation that is used to evaluate the model on each subset of attributes. 9: On the same data. ejecute el m´ etodo de envoltura con J48 como el aprendiz de base.3 You can choose others. Ex. 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. es un m´ etodo de b´ usqueda est´ andar de la influenza aviar. A continuaci´ on.4 Usted puede elegir otros. Examinar los subconjuntos de atributos que se emiten.” the search method you used manually in the second tutorial. 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). Su objetivo es identificar un subconjunto de los atributos que est´ an muy correlacionados con el objetivo sin ser fuertemente correlacionados entre s´ ı. In fact. como un algoritmo gen´ etico o incluso una exhaustiva b´ usqueda. mediante la b´ usqueda de BestFirst. CfsSubsetEval. De hecho. CfsSubsetEval. 3 This 4 Este is a standard search method from AI. you need to select WrapperSubsetEval. You can configure this by choosing a learning algorithm to apply. utilizando de nuevo la b´ usqueda BestFirst. Which attributes are selected by both methods? How do they relate to the output generated by ranking using information gain? 5 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. uses a heuristic attribute subset evaluator in a filter search method. By default. Sin embargo. choosing GreedyStepwise and setting searchBackwards to true gives “backwards selection. Then run the wrapper method with J48 as the base learner. using BestFirst search. CfsSubsetEval correr para la selecci´ on basada en la correlaci´ on. Puede configurar esta eligiendo un algoritmo de aprendizaje de aplicar. it searches through the space of possible attribute subsets for the “best” one using the BestFirst search method. utiliza un subconjunto de atributos evaluador heur´ ıstica en un m´ etodo de filtro de b´ usqueda. 5 . se busca a trav´ es del espacio de subconjuntos de atributos posibles para el “mejor” con el m´ etodo de b´ usqueda BestFirst. 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. Examine the attribute subsets that are output. like a genetic algorithm or even an exhaustive search. Qu´ e atributos son seleccionados por ambos m´ etodos? C´ omo se relacionan con el resultado generado por el aumento de clasificaci´ on de informaci´ on utiliza? To use the wrapper method rather than a filter method like CfsSubsetEval. again using BestFirst search.

Los m´ etodos son: A more convenient method is to use the AttributeSelectedClassifer. one of WEKA’s meta-classifiers. Esto nos permite especificar un m´ etodo de selecci´ on de atributos y un algoritmo de aprendizaje como parte de un esquema de clasificaci´ on.unsupervised. Bayesiano asume (condicional) la independencia de los atributos. using the test data to influence 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. Un m´ etodo m´ as conveniente es utilizar el AttributeSelectedClassifer. Como ya sabemos (ver Tutorial 2). La raz´ on es que. con ´ exito eliminar los atributos redundantes. Now we test the various attribute selection methods tested above in conjunction with NaiveBayes. As we already know (see Tutorial 2). used in conjunction with AttributeSelectedClassifier and NaiveBayes. Ex. Qu´ e observa? Vamos ahora a comprobar si los tres m´ etodos de selecci´ on de atributos de arriba. The methods are: 6 . El AttributeSelectedClassifier asegura que el conjunto seleccionado de atributos se selecciona bas´ andose en los datos de entrenamiento solamente. que se han mirado en las etiquetas de clase en los datos de prueba.Copy in the Preprocess panel. You can see the effect of redundant attributes on naive Bayes by adding copies of an existing attribute to a dataset using the unsupervised filter class weka. This allows us to specify an attribute selection method and a learning algorithm as part of a classification scheme. se utiliza junto con AttributeSelectedClassifier y NaiveBayes. Each copy is obviously perfectly correlated with the original.filters. we have actually looked at the class labels in the test data while selecting attributes—the “best” attributes were chosen by peeking at the test data. The AttributeSelectedClassifier ensures that the chosen set of attributes is selected based on the training data only.attribute. Naive Bayes assumes (conditional) independence of attributes. utilizando los datos de prueba para influir 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. successfully eliminate the redundant attributes. Ahora ponemos a prueba los m´ etodos de selecci´ on de atributos diferentes probado anteriormente en relaci´ on con NaiveBayes.arff y comenzar a agregar copias de la primera cualidad de los datos.arff and start adding copies of the first attribute in the data. 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 filtro sin supervisi´ on weka. una correlaci´ on perfecta con el original. 10: carga los datos de clasificaci´ on de la diabetes diabetes. y la selecci´ on de atributos puede ser muy u ´til. Para evitar esto. Cada copia es. al igual que con discretizaci´ on supervisado. uno de los metaclasificadores de WEKA. a fin de dar estimaciones insesgadas precisi´ on. we can manually divide the data into training and test sets and apply the attribute selection panel to the training set only. so it can be affected if attributes are redundant.attribute.filters. mientras que la selecci´ on de los atributos—la “mejor” los atributos fueron elegidos por espiar a los datos de prueba. Ex. medir el rendimiento de Bayes naive (con useSupervisedDiscretization encendido) con validaci´ on cruzada despu´ es de haber agregado cada copia. 10: Load the diabetes classification data in diabetes. 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. por lo que puede verse afectado si los atributos son redundantes.Copy en el panel de Preprocess. What do you observe? Let us now check whether the three attribute selection methods from above. measuring the performance of naive Bayes (with useSupervisedDiscretization turned on) using cross-validation after you have added each copy.The reason is that. and attribute selection can be very helpful. obviamente. as with supervised discretization.unsupervised. To avoid this. in order to give unbiased accuracy estimates.

and presents the same problem: the test data must not be used when selecting parameters—otherwise the performance estimates will be biased. For example. because the original diabetes data contains eight attributes (excluding the class). Many learning algorithms have parameters that can affect the outcome of learning. por qu´ e no? Ex. Set this to eight.5 alumno (J48 en WEKA) tiene dos par´ ametros que influyen en la cantidad de la poda que hace (hemos visto a uno. porque los datos de la diabetes original contiene ocho atributos (con exclusi´ on de la clase). 7 . Note also that you should specify NaiveBayes as the classifier to be used inside the wrapper method. El k -clasificador del vecino m´ as pr´ oximo IBk tiene uno que establece el tama˜ no de la vecindad. the minimum number of instances required in a leaf. Note that you need to specify the number of ranked attributes to use for the Ranker method. Run each method from within AttributeSelectedClassifier to see the effect on cross-validated accuracy and check the attribute subset selected by each method. just like manually selecting attributes. Ejecutar cada m´ etodo dentro de AttributeSelectedClassifier para ver el efecto en la cruzvalidado la exactitud y verificar el subconjunto de atributos seleccionados por cada m´ etodo. because this is the classifier that we want to select a subset for. 11: What can you say regarding the performance of the three attribute selection methods? Do they succeed in eliminating redundant copies? If not. the decision tree learner C4. But manually tweaking parameter settings is tedious. • WrapperSubsetEval con NaiveBayes y BestFirst. Ex. Por ejemplo. 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. in the last tutorial). y presenta el mismo problema: los datos de prueba no debe ser utilizado cuando los par´ ametros de selecci´ on—lo contrario las estimaciones de rendimiento se har´ a con preferencia. el n´ umero m´ ınimo de casos necesarios en una hoja. Ponga esto a ocho. al igual que los atributos seleccionar manualmente. why not? 6 Automatic parameter tuning Muchos algoritmos de aprendizaje tienen par´ ametros que pueden afectar los resultados del aprendizaje.5 (J48 in WEKA) has two parameters that influence the amount of pruning that it does (we saw one. Tenga en cuenta tambi´ en que debe especificar NaiveBayes como el clasificador para ser utilizado en el m´ etodo de envoltura. porque este es el clasificador que desea seleccionar un subconjunto de. The k -nearest-neighbor classifier IBk has one that sets the neighborhood size. Pero manualmente modificando los ajustes de par´ ametros es tedioso. en el u ´ltimo tutorial).• InfoGainAttributeEval with Ranker (8 attributes) • InfoGainAttributeEval con Ranker (8 atributos) • CfsSubsetEval with BestFirst • CfsSubsetEval con BestFirst • WrapperSubsetEval with NaiveBayes and BestFirst. Tenga en cuenta que es necesario especificar el n´ umero de atributos clasific´ o a utilizar para el m´ etodo de Ranker. el ´ arbol de decisi´ on C4.

that automatically searches for the “best” parameter settings by optimizing cross-validated accuracy on the training data. use CVParameterSelection in conjunction with IBk to select the “best” value for the neighborhood size. 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 cruzada—y los rendimientos de este u ´ltimo la estimaci´ on final de ejecuci´ on.) Haga clic en el bot´ on de More en la GenericObjectEditor para obtener m´ as informaci´ on. (b) a numeric range of values to evaluate. We can use CVParameterSelection to perform a grid search on both pruning parameters simultaneously by adding multiple parameter strings in the CVParameters field. and you should evaluate values from 1 to 10 in ten steps. y se deben evaluar los valores de 1 a 10 en diez pasos. The letter code for the pruning confidence parameter is C . The parameters to optimize re specified using the CVParameters field in the GenericObjectEditor. For each one. (b) una serie de valores num´ ericos para evaluar. 12: Qu´ e precisi´ on se obtiene en cada caso? Qu´ e valor se selecciona para la versi´ on par´ ametro afinado 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 Classifier de salida.) Now consider parameter tuning for J48. The letter code for the minimum leaf size parameter is M . y usted debe evaluar los valores de 0. El c´ odigo de letras para el tama˜ no de esta zona: K . 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.5 en cinco pasos.WEKA has a “meta” classifier. Para cada uno de ellos. que busca autom´ aticamente los “mejores” valores de los par´ ametros mediante la optimizaci´ on de cruzvalidado la exactitud de los datos de entrenamiento. and (c) the number of steps to try in this range (Note that the parameter is assumed to be numeric. For the diabetes data used in the previous section. CVParameterSelection. CVParameterSelection. y un ejemplo. tenemos que dar (a) una cadena que le asigna el nombre utilizando su c´ odigo de letras. The cross-validated accuracy of the parameter-tuned version of IBk is directly comparable with its accuracy using default settings. que van desde 1 a 10 en diez pasos. El c´ odigo de letras para el par´ ametro de la confianza de la poda es de C . 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. Para los datos de la diabetes utilizados en la secci´ on anterior. Los par´ ametros para volver a optimizar el uso especificado en el campo CVParameters GenericObjectEditor.) Ahora considere ajuste de par´ ametros de J48.1 a 0. De forma predeterminada.1 to 0.) Click on the More button in the GenericObjectEditor for more information. The letter code for the neighborhood size is K . cada ajuste se evalu´ o utilizando 10 veces la validaci´ on cruzada. el uso CVParameterSelection IBk en conjunto con el fin de seleccionar la “mejor” valor para el tama˜ no de la vecindad.5 in five steps. each setting is evaluated using 10-fold cross-validation. 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 Classifier output text area. Ex. WEKA tiene una “meta” clasificador. By default. we need to give (a) a string that names it using its letter code. La precisi´ on de validaci´ on cruzada de la versi´ on par´ ametro afinado de IBk es directamente comparable con la precisi´ on con la configuraci´ on predeterminada. El c´ odigo de letras para el par´ ametro de hoja de tama˜ no m´ ınimo es de M . ranging from 1 to 10 in ten steps. because tuning is performed by applying inner cross-validation runs to find the best parameter setting for each training set occuring in the outer cross-validation—and the latter yields the final performance estimate. and you should evaluate values from 0. and an example. Ex. 8 .

Comparar la salida se llega a la obtenida de J48 con los par´ ametros por defecto. 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. 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? 9 . 13: Run CVParameterSelection to find the best parameter values in the resulting grid.Ex. Compare the output you get to that obtained from J48 with default parameters.

Witten May 5. 2011 c 2008-2012 University of Waikato .Practical Data Mining Tutorial 5: Document Classification Eibe Frank and Ian H.

Hence we first convert the text data into a form suitable for learning. this string attribute is replaced by a fixed set of numeric attributes. Then. The raw data is text. which are just short documents. Por lo tanto. and the class attribute is put at the beginning. tambi´ en necesitamos un atributo nominal que contiene la clasificaci´ on del documento. Para realizar la clasificaci´ on de documentos. WEKA’s unsupervised attribute filter StringToWordVector can be used to convert raw text into term-frequency-based attributes. para un documento particular. The filter assumes that the text of the documents is stored in an attribute of type String.1 Introduction Clasificaci´ on de texto es una aplicaci´ on popular de aprendizaje autom´ atico. como el primer atributo. You may even have used it: email spam filters are classifiers that divide email messages. into two groups: junk and not junk. where document is the name of the attribute. Los datos en bruto es de texto. primero tenemos que crear un archivo de ARFF con un atributo de cadena que contiene texto de los documentos—declarado en el encabezado del archivo ARFF mediante @attribute document string. “ham” vs “spam”). which gives the document’s label. En este tutorial vamos a ver c´ omo llevar a cabo la clasificaci´ on de documentos usando herramientas en WEKA. Entonces. El filtro se supone que el texto de los documentos se almacena en un atributo de tipo String. Text classification is a popular application of machine learning. In this tutorial we look at how to perform document classification using tools in WEKA. 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. En los datos filtrados. primero convertir los datos de texto en una forma adecuada para el aprendizaje. que son documentos poco menos. we first need to create an ARFF file with a string attribute that holds the documents’ text— declared in the header of the ARFF file using @attribute document string. este atributo de cadena se sustituye por un conjunto fijo de atributos num´ ericos. the value of each attribute is based on the frequency of the corresponding term in the document. as the first attribute. So-called “Bayesian” spam filters are trained on messages that have been manually labeled. pero la mayor´ ıa de algoritmos de aprendizaje autom´ atico esperar ejemplos que se describen mediante un conjunto fijo de atributos. but most machine learning algorithms expect examples that are described by a fixed set of attributes.g. To perform document classification. tambi´ en existe el atributo de clase. “jam´ on” vs “spam”). for a particular document. There is also the class attribute. donde document es el nombre del atributo. tal vez por su puesta en carpetas correspondientes (por ejemplo. en dos grupos: basura y no deseado. We also need a nominal attribute that holds the document’s classification. Puede que incluso lo han utilizado: los filtros de spam de correo electr´ onico son los clasificadores que dividen a los mensajes de correo electr´ onico. lo que da la etiqueta del documento. Los llamados “Bayesiano” filtros de spam son entrenados en los mensajes que han sido etiquetados de forma manual. que es un atributo nominal sin un conjunto previamente especificado de valores. 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. el valor de cada atributo se basa en la frecuencia del t´ ermino correspondiente en el documento. which is a nominal attribute without a pre-specified set of values. 1 . 2 Data with string attributes Atributo sin supervisi´ on WEKA el filtro StringToWordVector se puede utilizar para convertir el texto en bruto en los atributos plazo basado en la frecuencia. perhaps by putting them into appropriate folders (e. y el atributo de la clase se pone al principio. In the filtered data.

we can use the FilteredClassifier. Ex. 2: Build a J48 decision tree from the last version of the data you generated. Configure the FilteredClassifier using default options for StringToWordVector and J48. make an ARFF file from the labeled mini“documents” in Table 1 and run StringToWordVector with default options on this data. Cu´ ales son las predicciones (en el orden en que los documentos son enumerados en la Table 2)? Ex. specifying the StringToWordVector filter and the base classifier that we want to apply (i. Para aplicar el mismo filtro a los dos documentos de entrenamiento y prueba. Qu´ eatributos se generan ahora? Ex. and specify your new ARFF file as the test set. basado en el ´ arbol de decisi´ on de los documentos generados en la Table 1.Document text The price of crude oil has increased significantly Demand of crude oil outstrips supply Some people do not like the flavor 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”. 1: To get a feeling for how this works. J48). To apply the same filter to both training and test documents. hacer un archivo ARFF de la etiqueta mini “documentos” en la Table 1 y ejecutar StringToWordVector con las opciones predeterminadas en estos datos. Dar el ´ arbol en forma textual. y especificar el archivo ARFF nuevo el equipo de prueba. J48). Usually. Ex. in the Classify panel.. Mira el modelo y las predicciones que genera.. and verify that they are consistent. el objetivo de un clasificador para clasificar los documentos nuevos. 1: Para tener una idea de c´ omo funciona esto.. based on the decision tree generated from the documents in Table 1. Classification yes yes no no yes no Classification Unknown Unknown Unknown Unknown Ex. Vamos a clasificar a las dadas en la Table 2. Por lo general. C´ omo se generan muchos atributos? Ahora cambia el valor de la opci´ on de minTermFreq 2. How many attributes are generated? Now change the value of the option minTermFreq to 2. Give the tree in textual form. especificando el filtro StringToWordVector y el clasificador base que queremos aplicar (es decir. Classify en el panel. the purpose of a classifier is to classify new documents. What attributes are generated now? Ex. Let’s classify the ones given in Table 2. Look at the model and the predictions it generates. Configurar el FilteredClassifier utilizando las opciones predeterminadas para StringToWordVector y J48. 2: Construir un ´ arbol de decisi´ on J48 de la u ´ltima versi´ on de los datos que generan. What are the predictions (in the order in which the documents are listed in Table 2)? 2 . Aseg´ urese de que selecciona Output predictions en More options. 3: Create an ARFF file from Table 2.. Make sure that you select Output predictions under More options. con signos de interrogaci´ on para las etiquetas de clase perdido. 3: Crear un archivo de ARFF de la Table 2. using question marks for the missing class labels. y verificar que sean compatibles.e. podemos usar el FilteredClassifier.. Document text Oil platforms extract crude oil Canola oil is supposed to be healthy Iraq has significant oil reserves There are different types of cooking oil Table 2: Test “documents”.

arff y ReutersGrain-test.arff are sets of training data derived from this collection. Ex. 4: Build document classifiers for the two training sets by applying the FilteredClassifier with StringToWordVector using (a) J48 and (b) NaiveBayesMultinomial. En el segundo. ReutersCorn-test.arff y ReutersGrain-train. The actual documents in the corn and grain data are the same. WEKA includes several other per-class evaluation statistics that are often used to evaluate information retrieval systems like search engines. just the labels differ. These are tabulated under Detailed Accuracy By Class in the Classifier output text area. number of true negatives (TN).3 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 clasificadores de documentos. The statistics output by WEKA are computed as follows: • TP Rate: TP / (TP + FN) 3 . ReutersCorn-train. articles that talk about corn-related issues have a class value of 1 and the others have 0. In the second. el n´ umero de falsos positivos (FP). que clasificador elegir´ ıas? El porcentaje de clasificaciones correctas no es la m´ etrica de evaluaci´ on utilizado para la clasificaci´ on de documentos.arff and ReutersGrain-train. 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. They are based on the number of true positives (TP).arff son correspondientes unidades de prueba. 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. y el n´ umero de falsos negativos (FN) en los datos de prueba. FN y TN se define de manera similar. el n´ umero de verdaderos negativos (VN). the analogous labeling is performed with respect to grain-related issues. Se basan en el n´ umero de verdaderos positivos (VP). Qu´ e porcentaje de clasificaciones correctas se obtiene en los cuatro escenarios? Con base en sus resultados.arff son conjuntos de datos de aprendizaje derivados de esta colecci´ on. en cada caso a la evaluaci´ on en el sistema de la prueba correspondiente. A true positive is a test instance that is classified correctly as belonging to the target class concerned.arff are corresponding test sets. Estos son tabulados en Detailed Accuracy By Class en el ´ area de texto Classifier output. and number of false negatives (FN) in the test data. el objetivo es construir un clasificador que se puede utilizar para identificar los art´ ıculos que hablan de ma´ ız. Ex. while a false positive is a (negative) instance that is incorrectly assigned to the target class. y el objetivo es identificar estos art´ ıculos en el equipo de prueba. in each case evaluating them on the corresponding test set. ReutersCorn-test. 4: Construir clasificadores de documentos para los dos conjuntos de formaci´ on mediante la aplicaci´ on de la FilteredClassifier StringToWordVector con el uso (a) J48 y (b) NaiveBayesMultinomial. el etiquetado similar se realiza con respecto a cuestiones relacionadas con granos. number of false positives (FP). the aim is to build a classifier that can be used to identify articles that talk about corn. Los documentos reales en los datos de ma´ ız y el grano son las mismas. What percentage of correct classifications is obtained in the four scenarios? Based on your results. 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 classifiers. FN and TN are defined analogously. A positivos true es un ejemplo de prueba que est´ a clasificado 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. ReutersCorn-train. s´ olo las etiquetas son diferentes. which classifier would you choose? The percentage of correct classifications is not the only evaluation metric used for document classification. and the aim is to identify these articles in the test set.arff and ReutersGrain-test. In the first dataset.

5. El mejor resultado es que todos los ejemplos positivos se sit´ ua por encima de todos los ejemplos negativos. En la tabla Classifier Output tambi´ en da la ROC area. The likelihood is given by the class probability that the classifier predicts. In that case the AUC is one. 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. The Classifier Output table also gives the ROC area. 5: Based on the formulas. En el caso de que la clasificaci´ on es esencialmente al azar. In the case where the ranking is essentially random. otherwise our classifier has not learned anything from the training data. Por lo tanto queremos una AUC. • F-Medida: la media arm´ onica de precisi´ on y recuperaci´ on (2/F = 1/precisi´ on +1/recuperaci´ on). En el peor de los casos es cero. (Most classifiers in WEKA can produce probabilities in addition to actual classifications. En ese caso las AUC es uno.5. las AUC es de 0. sobre la base de la clasificaci´ on producido por el clasificador. based on the ranking produced by the classifier.• 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).5. que difiere 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 mayor´ ıa de los clasificadores en WEKA pueden producir probabilidades. adem´ as de las clasificaciones actuales. In the worst case it is zero. which differs 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. Ex. What do the different outcomes mean? 4 . Ex.) 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 clasifica por encima de un ejemplo elegido al azar negativas. Qu´ esignifican los diferentes resultados? The best outcome is that all positive examples are ranked above all negative examples. 5: Con base en las f´ ormulas. Hence we want an AUC that is at least 0.) 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. what are the best possible values for each of the statistics in this list? Describe in English when these values are attained. 6: Which of the two classifiers used above produces the best AUC for the two Reuters datasets? Compare this to the outcome for percent correct. La posibilidad est´ a dada por la probabilidad de clase que el clasificador predice. the AUC is 0.5. 6: Cu´ al de los dos clasificadores utilizados anterior produce los mejores AUC para los dos conjuntos de datos de Reuters? Compare esto con los resultados de porcentaje de respuestas correctas. de lo contrario nuestro clasificador no ha aprendido nada de los datos de entrenamiento. Ex. Ex. que es al menos 0.

(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. or a description in words. or it can be fairly discrete. you get the ROC Area discussed above! That is where the acronym AUC for the ROC Area comes from: “Area Under the Curve. Make a very rough estimate of the area under each curve. 9: Qu´ ehace el ideal de la curva ROC correspondiente a buscar un rendimiento perfecto como (un boceto o una descripci´ on verbal.5.Ex. y calcular el ´ area bajo la curva resultante. and you compute the area under the resulting curve. Al hacer esto. you get a plot with FP Rate on the x axis and TP Rate on the y axis. an instance is classified as “positive” if the predicted probability for the positive class is greater than 0. es suficiente)? 5 . When you do this. y explicarlo con palabras. otherwise it is classified as negative. En lugar de simplemente obtener un solo par de valores para las tasas de positivos verdaderos y falsos. this plot can be quite smooth. 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. 7: Interpret in your own words the difference between the confusion matrices for the two classifiers. look at the ROC curves for class 1. esta parcela puede ser muy suave. Rather than just obtaining a single pair of values for the true and false positive rates. En funci´ on del clasificador que usa. visita las curvas ROC para la clase 1. una instancia se clasifica como “positivo” si la probabilidad predicha para la clase positivo es superior a 0.) Suppose we change this threshold from 0.5. You can show it in WEKA by right-clicking on an entry in the result list and selecting Visualize threshold curve. de lo contrario se clasifica como negativa. De forma predeterminada.5 a alg´ un otro valor entre 0 y 1. is sufficient)? Ex. By default. 9: What does the ideal ROC curve corresponding to perfect performance look like (a rough sketch.” Ex. Repeating this with different thresholds produces what is called an ROC curve.5. Lo interesante es que si se conecta los puntos de muestra en el gr´ afico por las l´ ıneas. and explain it in words. Hacer una estimaci´ on muy aproximada del ´ area debajo de cada curva. a whole range of value pairs can be obtained by imposing different classification thresholds on the probabilities predicted by the classifier. The interesting thing is that if you connect the dots shown in the plot by lines. Ex. There is a close relationship between ROC Area and the ratio TP Rate/FP Rate.5 to some other value between 0 and 1. Se puede mostrar en WEKA haciendo clic derecho sobre una entrada en la lista de resultados y la selecci´ on de Visualize threshold curve.5. 8: For the Reuters dataset that produced the most extreme difference in Exercise 6 above. and recompute the ratio TP Rate/FP Rate. 7: Interpretar en sus propias palabras la diferencia entre las matrices de confusi´ on para los dos clasificadores. (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. toda una serie de pares de valores se puede obtener mediante la imposici´ on de diferentes umbrales de clasificaci´ on de las probabilidades predichas por el clasificador. o puede ser bastante discretos. Depending on the classifier you use. Repetir esto con diferentes umbrales produce lo que se llama ROC curve. se obtiene una parcela con FP Rate en el eje x y TP Rate en el y eje.” Ex. y volver a calcular la proporci´ on de TP Rate/FP Rate.) Supongamos que el cambio de este umbral de 0. 8: Para el conjunto de datos producidos a Reuters que la diferencia m´ as extrema en el ejercicio 6 anterior. Existe una relaci´ on estrecha entre ROC Area y la relaci´ on de TP Rate/FP Rate. Ex.

• IDFTransform y TFTransform: cuando ambos se ponen a true. e. con Recall en el eje x y Precision en el y eje. • useStopList allows you determine whether or not stop words are deleted. By default. depending on whether the word appears in the document or not. por ejemplo.g: • outputWordCounts causes actual word counts to be output. Ex. • useStopList le permite determinar si se detiene se suprimir´ an las palabras. the StringToWordVector filter simply makes the attribute value in the transformed dataset 1 or 0 for all raw single-word terms. the). por ejemplo.Using the threshold curve GUI. por ejemplo: • outputWordCounts causas palabra real cuenta de la salida. dependiendo de si la palabra aparece en el documento o no. a. la). • tokenizer le permite elegir un analizador de t´ erminos diferentes para generar. que produce la palabra n-gramos en lugar de palabras sueltas. • stemmer le permite elegir entre diferentes palabras derivadas algoritmos que tratan de reducir las palabras a sus tallos. tambi´ en puede trazar otros tipos de curvas. e. • tokenizer allows you to choose a different tokenizer for generating terms. a precision/recall curve. e. 10: Cambiar los ejes para obtener una precisi´ on/recuperaci´ on curva. Las palabras vac´ ıas son poco informativos palabras comunes (por ejemplo.g. there are many options that can be changed. a. What shape does the ideal precision/recall curve corresponding to perfect performance have (again a rough sketch or verbal description is sufficient)? 4 Exploring the StringToWordVector filter De forma predeterminada. hay muchas opciones que se pueden cambiar. el filtro de StringToWordVector. with Recall on the x axis and Precision on the y axis. 10: Change the axes to obtain a precision/recall curve. This plots precision against recall for each probability threshold evaluated. 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 suficiente)? Ex. Utilizando la curva de umbral de interfaz gr´ afica de usuario. However. 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. Stop words are uninformative common words (e. • IDFTransform and TFTransform: when both are set to true. you can also plot other types of curves. 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. • stemmer allows you to choose from different word stemming algorithms that attempt to reduce words to their stems.g. term frequencies are transformed into so-called T F × IDF values that are popular for representing documents in information retrieval applications. one that produces word n-grams instead of single words. Sin embargo. Este gr´ afico de precisi´ on contra el recuerdo de cada umbral de probabilidad evaluada. una precisi´ on/recuperaci´ on curva.g. 6 .

click on More in the GenericObjectEditor. con NaiveBayesMultinomial en el clasificador? (Nota: una b´ usqueda exhaustiva no es necesario. Podemos utilizar AttributeSelectedClassifier WEKA. using default options for StringToWordVector and NaiveBayesMultinomial as the classifier. terms) are important when classifying documents.e. For more information. Qu´ eopciones le dan un buen valor de AUC para los dos conjuntos de datos anterior. para tratar de eliminar los atributos que no son tan u ´tiles. not all attributes (i.. 12: Experiment with this set-up. 12: Experimento con esta puesta en marcha. an exhaustive search is not required. haga clic en More en la GenericObjectEditor. 11: Experiment with the options that are available.) 7 . to try and eliminate attributes that are not so useful. Para obtener m´ as informaci´ on. What options give you a good AUC value for the two datasets above. Ex. una b´ usqueda exhaustiva no es necesario.) A menudo. no todos los atributos (es decir. Record the AUC values you obtain. Vary the number of most-informative attributes that are selected from the infogain-based ranking by changing the value of the numToSelect field in the Ranker. because many words may be irrelevant for determining the topic of an article. using ranking with InfoGainAttributeEval and the Ranker search. 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. Ex. Registre los valores del AUC de obtener. Ex.) Often. As before we need to use the FilteredClassifier to transform the data before it is passed to the AttributeSelectedClassifier. t´ erminos) son importantes para la clasificaci´ on de documentos. 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. utilizando las opciones predeterminadas para StringToWordVector y NaiveBayesMultinomial en el clasificador. We can use WEKA’s AttributeSelectedClassifier. Ex. using NaiveBayesMultinomial as the classifier? (Note: an exhaustive search is not required.There are several other useful options. 11: Experimento con las opciones que est´ an disponibles. Variar el n´ umero de los atributos m´ as informativo que se seleccionan de la clasificaci´ on de informaci´ on de ganancia basado en cambiar el valor del campo en el numToSelect Ranker. ya que muchas palabras pueden ser irrelevantes para determinar el tema de un art´ ıculo. utilizando ranking con InfoGainAttributeEval Ranker y la b´ usqueda. Al igual que antes tenemos que utilizar el FilteredClassifier para transformar los datos antes de que se pasa al AttributeSelectedClassifier.) Hay varias opciones u ´tiles.

Practical Data Mining Tutorial 6: Mining Association Rules Eibe Frank and Ian H. 2011 c 2008-2012 University of Waikato . Witten May 5.

que utilizamos en este tutorial. En este tutorial. empezamos por las normas de la miner´ ıa de la weather. In WEKA’s Explorer. ordenadas de acuerdo a la medida de confianza entre par´ entesis despu´ es de cada uno. t´ ecnicas para la extracci´ on de reglas de asociaci´ on se accede mediante el panel de Associate. no es f´ acil de extraer informaci´ on u ´til con la miner´ ıa de reglas de asociaci´ on. y la estructura del panel es simple. 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. vamos a trabajar con Apriori—la regla de asociaci´ on algoritmo de miner´ ıa de datos que lo empez´ o todo. Association rule mining is one of the most prominent data mining techniques. 2 Association rule mining in WEKA En Explorer WEKA. It outputs ten rules. techniques for association rule mining are accessed using the Associate panel. Note that this algorithm expects data that is purely nominal: numeric attributes must be discretized first. it is not straightforward to extract useful information using association rule mining. there are no evaluation options. In this tutorial. El n´ umero siguiente antecedente de una regla se muestra c´ omo muchos casos cumplen el antecedente. Despu´ es de cargar los datos en el panel de Preprocess. Hace salir diez reglas. The number following a rule’s antecedent shows how many instances satisfy the antecedent. pulsa el bot´ on Start en el panel de Associate para ejecutar Apriori con las opciones predeterminadas. hit the Start button in the Associate panel to run Apriori with default options.nominal. Debido a que esta es una t´ ecnica de miner´ ıa de datos puramente exploratoria. which we use in this tutorial. After loading the data in the Preprocess panel. Because both numbers are equal for all ten rules. El m´ etodo predeterminado es Apriori. Para tener una idea de c´ omo aplicar Apriori. ranked according to the confidence measure given in parentheses after each one. but they are probably more interesting to researchers than practitioners. Como se ver´ a. As you will see. Because this is a purely exploratory data mining technique. we start by mining rules from the weather. The default method is Apriori.nominal. 1 . la confianza de cada regla es exactamente uno. To get a feel for how to apply Apriori. no hay opciones de evaluaci´ on. WEKA contiene un par de otras t´ ecnicas para el aprendizaje de las asociaciones de los datos. and the structure of the panel is simple.1 Introduction La miner´ ıa de reglas de asociaci´ on es una de las t´ ecnicas de miner´ ıa de datos m´ as destacados.arff datos que se utiliz´ o en el Tutorial 1. the number following the conclusion shows how many instances satisfy the entire rule (this is the rule’s “support”). WEKA contains a couple of other techniques for learning associations from data. pero son probablemente m´ as interesante para los investigadores de los profesionales. the confidence of every rule is exactly one.arff data that we used in Tutorial 1. we will work with Apriori—the association rule mining algorithm that started it all. Tenga en cuenta que este algoritmo espera de datos que es puramente nominal: los atributos num´ ericos deben ser discretos en primer lugar.

tells us that Apriori was actually run 17 times to generate these rules. which corresponds to the output that was generated.0 para incluir todo el conjunto de casos). given by the minMetric parameter. Consequently WEKA’s Apriori runs the basic algorithm several times. El Number of cycles performed. default 0. and is also shown in the output.15.9. Esto se basa en un nivel de confianza m´ ınimo de 0. as´ ı que esto explica por qu´ e un valor m´ ınimo de apoyo de 0. and that delta is 0. default 0. El nivel m´ ınimo de apoyo se inicia en un determinado valor (upperBoundMinSupport. dado por el par´ ametro minMetric. which is the default. 1−17×0.05. This sounds pretty complicated. By looking at the options in the GenericObjectEditor. 1 − 17 × 0. y tambi´ en se muestra en la salida. El nivel de soporte se expresa como un porcentaje del n´ umero total de casos (14 en el caso de los datos meteorol´ ogicos). Estos cuatro valores pueden ser especificados por el usuario. Desde la salida en el ´ area de texto Associator output. por defecto 0. con 17 valores diferentes de la ayuda m´ ınima. que es el predeterminado. These four values can all be specified by the user. Note that upperBoundMinSupport is decreased by delta before the basic Apriori algorithm is run for the first time. que invariablemente se debe dejar en 1. The support level is expressed as a proportion of the total number of instances (14 in the case of the weather data).05.15 (corresponding to 0. is 0. as a ratio between 0 and 1. por defecto 10 normas) o el apoyo llega a un cierto “m´ ınimo m´ ınimo “nivel (lowerBoundMinSupport. In each iteration the support is decreased by a fixed amount (delta.05. Tenga en cuenta que upperBoundMinSupport delta es disminuido por antes de la base Apriori algoritmo se ejecuta por primera vez. En cada iteraci´ on el apoyo se reduce en una cantidad fija (delta. so let us examine what happens on the weather data. The minimum support level starts at a certain value (upperBoundMinSupport. we can see that the initial value for the minimum support (upperBoundMinSupport) is 1 by default. y que delta es de 0. with 17 different values for the minimum support.15 is reached after 17 iterations. En consecuencia WEKA’s Apriori corre el algoritmo b´ asico en varias ocasiones. which should invariably be left at 1. por defecto 0. The final value. Ahora.1—typically rules are uninteresting if they apply to only 10% of the dataset or less).15 que se lleg´ o despu´ es de 17 iteraciones.15 ∗ 14 ≈ 2 instances). como una relaci´ on entre 0 y 1. as´ ı que vamos a examinar lo que sucede en los datos meteorol´ ogicos. 5% de los casos) hasta que un cierto n´ umero de reglas se ha generado (numRules. 5% of the instances) until either a certain number of rules has been generated (numRules. it is tedious to find minimum support and confidence values that give satisfactory results. Now. This is based on a minimum confidence level of 0.05 = 0. Al mirar las opciones de la GenericObjectEditor. so this explains why a minimum support value of 0. default 10 rules) or the support reaches a certain “minimum minimum” level (lowerBoundMinSupport. Utiliza el mismo valor m´ ınimo especificado por el usuario a trav´ es de la confianza.In practice.05 = 0.1—normalmente reglas son poco interesantes si se aplican a s´ olo el 10% del conjunto de datos o menos). es de 0. nos dice que Apriori era en realidad ejecuta 17 veces para generar estas normas. podemos ver que el valor inicial de la ayuda m´ ınima (upperBoundMinSupport) es 1 por defecto. vemos que el algoritmo de gesti´ on para generar diez reglas. we see that the algorithm managed to generate ten rules. which is shown as 17. El coste final. The Number of cycles performed.15 ∗ 14 ≈ 2 instances). que corresponde a la salida que se ha generado. 15. es tedioso para encontrar un apoyo m´ ınimo y los valores de la confianza que dan resultados satisfactorios. En la pr´ actica. 2 .05. It uses same userspecified minimum confidence value throughout. que se muestra como 17.15 (que corresponde a 0. From the output in the Associator output text area. Esto suena bastante complicado.0 to include the entire set of instances).9.

todos los conjuntos de ´ ıtems diferentes y el n´ umero de casos que los apoyan se muestran. 39 conjuntos de punto del tama˜ no de tres. Podemos ver que.1 0. con base en el u ´ltimo valor de la ayuda m´ ınima que fue juzgado (es decir.2 0.8 0.9 0. lo que es el soporte del tema conjunto perspectivas=lluvias humedad=normal ventoso=FALSO jugar=s` ı? Ex.8 0.1 0.9 0. Try this. dado un apoyo m´ ınimo de dos casos. all those different item sets and the number of instances that support them are shown. 1: Sobre la base de la salida. We can see that. 0. hay 12 conjuntos de punto del tama˜ no de una.Minimum confidence 0. What is the total number of possible rules for the weather data for each combination of values in Table 1? Ex. By setting outputItemSets to true before running the algorithm.15 en este ejemplo). 1: Based on the output.2 0.15 in this example).e. Al establecer outputItemSets a true antes de ejecutar el algoritmo. Ex. El ´ area de texto Associator output tambi´ en muestra el n´ umero de conjuntos de ´ ıtems frecuentes que se encontraron. y seis conjuntos de punto del tama˜ no de cuatro.8 0. there are 12 item sets of size one.9 0. 2: Supongamos que desea generar todas las reglas con cierta confianza y el apoyo m´ ınimo. 0. y numRules.7 Minimum support 0. This can be done by choosing appropriate values for minMetric. 47 item sets of size two.2 0. what is the support of the item set outlook=rainy humidity=normal windy=FALSE play=yes? Ex. given a minimum support of two instances. lowerBoundMinSupport.3 0. 47 conjuntos de punto del tama˜ no de dos.1 Number of rules Table 1: Total number of rules for different values of minimum confidence and support The Associator output text area also shows the number of frequent item sets that were found. lowerBoundMinSupport. 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? 3 . 39 item sets of size three. based on the last value of the minimum support that was tried (i. Pruebe esto.3 0.7 0. and numRules. Esto se puede hacer eligiendo valores adecuados para minMetric.3 0.7 0. and 6 item sets of size four. 2: Suppose we want to generate all rules with a certain confidence and minimum support.

3: Ejecutar Apriori en la informaci´ on del tiempo con cada uno de los cuatro indicadores regla de clasificaci´ on. If significanceLevel is set to a value between zero and one. 3: Run Apriori on the weather data with each of the four rule ranking metrics. it is likely that a significant effect will be found just by chance (i. However. vote. Estos pueden ser seleccionados con metricType. Also.. una asociaci´ on parece ser estad´ ısticamente significativa. How are their support and confidence values related? 4 . Normalmente se trata como un problema de clasificaci´ on. los valores de apoyar a los peque˜ nos). es probable que un efecto significativo se encuentran s´ olo por casualidad (es decir. More information on the data appears in the comments in the ARFF file. Apriori Lift apoya. the χ2 test is inaccurate for small sample sizes (in this context. What is the topranked rule that is output for each metric? 3 Mining a real-world dataset Consideremos ahora un conjunto de datos del mundo real. Leverage y Conviction. Opina sobre las reglas que se generan. Comment on the rules that are generated. las reglas de asociaci´ on se filtran sobre la base de un χ2 la prueba con el nivel de significaci´ on elegido. M´ as informaci´ on est´ a disponible haciendo clic More en el GenericObjectEditor. As well as Confidence. 4: Ejecutar Apriori en estos datos con la configuraci´ on predeterminada. However. It is normally treated as a classification problem. Ex. and also includes their party affiliation as a binary attribute.arff. More information is available by clicking More in the GenericObjectEditor. and default settings otherwise. 4: Run Apriori on this data with default settings. This is a purely nominal dataset with some missing values (actually. C´ omo son su apoyo y confianza de los valores asociados? Now consider a real-world dataset. Sin embargo. el 16 de cuestiones clave se reunieron a mediados de los a˜ nos 80.Apriori has some further parameters. el χ2 la prueba es inexacto para peque˜ nos tama˜ nos de muestra (en este contexto. congressmen on 16 key issues gathered in the mid-80s. abstentions). Ex. and Conviction. Sin embargo. Ex. we can also apply association rule mining to this data and seek interesting associations. Ex. y tambi´ en incluye su afiliaci´ on a un partido como un atributo binario. la aplicaci´ on de una prueba de significaci´ 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. lo que da los votos de 435 congresistas EE. These can be selected using metricType. vote. M´ as informaci´ on sobre los datos aparecen en los comentarios en el archivo ARFF. la tarea que para predecir afiliaci´ on a un partido basado en los patrones de voto.e. y la configuraci´ on por defecto de otra manera. Adem´ as de Confidence.UU. applying a significance 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. cuando en realidad no lo es). Apriori tiene algunos par´ ametros m´ as. which gives the votes of 435 U. Leverage. an association seems to be statistically significant when really it is not). Hay medidas alternativas para las reglas de clasificaci´ on. the association rules are filtered based on a χ2 test with the chosen significance level. Si significanceLevel se establece en un valor entre cero y uno. Several of them are quite similar. tambi´ en podemos aplicar la miner´ ıa de reglas de asociaci´ on a estos datos y buscar asociaciones interesantes. Varios de ellos son bastante similares.arff.S. Cu´ al es la primera regla de clasificaci´ on que se emite para cada m´ etrica? There are alternative measures for ranking rules. Apriori supports Lift. Adem´ as. abstenciones). small support values). Se trata de un conjunto de datos puramente nominal con algunos valores que faltan (de hecho. the task being to predict party affiliation based on voting patterns.

Write a brief report on your investigation and the main findings. To do market basket analysis in WEKA.arff was collected from an actual New Zealand supermarket. Why do you think that is? Ex. cada transacci´ on se codifica como una instancia cuyos atributos representan los art´ ıculos de la tienda. esto se codifica como un valor que falta. each transaction is coded as an instance whose attributes represent the items in the store. Take a look at this file using a text editor to verify that you understand the structure. Echa un vistazo a este archivo utilizando un editor de texto para comprobar que entender la estructura. Each attribute has only one value: if a particular transaction does not contain it (i. Cada atributo tiene un u ´nico valor: si una transacci´ on en particular no lo contiene (es decir.Ex.e. 6: Experimente con Apriori e investigar el efecto de la diversos parmetros discutidos anteriormente. The data in supermarket.. 5: Es interesante ver que ninguna de las reglas en la salida predeterminada implican Clase=republicana. Los datos de supermarket. Su trabajo consiste en extraer datos supermercado para las asociaciones.arff se obtuvo de un verdadero supermercado de Nueva Zelanda. the customer did not buy that particular item). The main point of this exercise is to show you how difficult it is to find any interesting patterns in this type of data! Ex. A popular application of association rule mining is market basket analysis—analyzing customer purchasing habits by seeking associations in the items they buy when visiting a store. Your job is to mine supermarket checkout data for associations. Por qu´ e crees que es? 4 Market basket analysis Una aplicaci´ on popular de la miner´ ıa de reglas de asociaci´ on es el an´ alisis de la cesta—analizar los h´ abitos de compra de los clientes mediante la b´ usqueda de asociaciones en los productos que compran al visitar una tienda. this is coded as a missing value. Escriba un breve informe en su investigacin y las conclusiones principales. 5: It is interesting to see that none of the rules in the default output involve Class=republican. 6: Experiment with Apriori and investigate the effect of the various parameters discussed above. 5 . el cliente no comprar ese art´ ıculo en particular). Para hacer an´ alisis de la cesta de WEKA. El punto principal de este ejercicio es mostrar lo dif´ ıcil que es encontrar cualquier patrones interesantes en este tipo de datos! Ex.

Sign up to vote on this title
UsefulNot useful