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

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

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

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

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

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

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

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

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

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

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

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

Qu´ e puede decir acerca de la ubicaci´ on de los errores? 16 . 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. 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.

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

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

2011 c 2006-2012 University of Waikato .Practical Data Mining Tutorial 2: Nearest Neighbor Learning and Decision Trees Eibe Frank and Ian H. Witten May 5.

A continuaci´ on. how would you go about it? • Si usted. 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. Despu´ es de que variar el tama˜ no del conjunto de la formaci´ on. y c´ omo medir su efecto en el aprendizaje? • What is a learning curve? • Qu´ e es una curva de aprendizaje? • If you. Para la mayor´ ıa de los que usamos un mundo real forenses conjunto de datos de clasificaci´ on de vidrio. had to invent a decision tree classifier for a particular dataset. We begin by taking a preliminary look at this dataset. 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. personalmente. Empezamos por echar un vistazo preliminar a esta base de datos. For most of it we use a real-world forensic glass classification dataset. you are asked to interactively construct a decision tree for an image segmentation dataset. Finally. both for nearest neighbor classification and decision tree learning. Following that we vary the training set size. personally. Por u ´ltimo. examinamos el efecto de la selecci´ on de atributos diferentes para la clasificaci´ on del vecino m´ as cercano. and how would you measure its effect on learning? • Cu´ al es el ruido de clase. tanto para la clasificaci´ on del vecino m´ as cercano y el ´ arbol de decisi´ on aprendizaje.1 Introduction En este tutorial podr´ as experimentar con la clasificaci´ on m´ as cercano vecino y ´ arbol de decisi´ on aprendizaje. 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. c´ omo hacerlo? 1 . 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. Then we examine the effect of selecting different attributes for nearest neighbor classification. se le pide para construir de forma interactiva un ´ arbol de decisi´ on para un conjunto de datos de segmentaci´ on de la imagen.

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

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

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

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

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

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

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

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

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

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

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

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

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

Ex. 6 . Ex. 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. 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.

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

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

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

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

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

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

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

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

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

Has accuracy changed? What about tree size? What parameter values were selected by CVParameterSelection for the model built from the full training set? Ex. Compare the output you get to that obtained from J48 with default parameters. 13: Ejecutar CVParameterSelection para encontrar los mejores valores de par´ ametros en la red resultante. 13: Run CVParameterSelection to find the best parameter values in the resulting grid.Ex. 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 . Comparar la salida se llega a la obtenida de J48 con los par´ ametros por defecto.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful