P. 1
Weka Tutorials Spanish

Weka Tutorials Spanish

|Views: 4|Likes:
Publicado porMiguel Chambilla C

More info:

Published by: Miguel Chambilla C on Aug 20, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/08/2015

pdf

text

original

Practical Data Mining Tutorial 1: Introduction to the WEKA Explorer

Mark Hall, Eibe Frank and Ian H. Witten May 5, 2011
c 2006-2012 University of Waikato

1

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

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

2

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

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

1

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

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

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

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

3

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

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

3.1

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

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

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

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

2

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

3.2

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

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

3

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

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

3.3

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

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

3.3.1

Exercises

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

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

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

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

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

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

3.4

Applying a filter
En WEKA, “filtros” son m´ etodos que se pueden utilizar para modificar bases de datos de manera sistem´ atica—es decir, son datos del proceso previo herramientas. WEKA tiene varios filtros para diferentes tareas. Actualizar el weather.nominal conjunto de datos, y vamos a eliminar un atributo de ella. El filtro adecuado se llama Remove, su nombre completo es:

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

weka.filters.unsupervised.attribute.Remove

4

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

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

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

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

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

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

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

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

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

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

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

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. What can you say about the location of the errors? Ex. Qu´ e puede decir acerca de la ubicaci´ on de los errores? 16 .Ex 10: Use the Visualize classifier errors function to find the wrongly classified test instances for the cross-validation performed in Exercise 9.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Has accuracy changed? What about tree size? What parameter values were selected by CVParameterSelection for the model built from the full training set? Ex. Comparar la salida se llega a la obtenida de J48 con los par´ ametros por defecto. 13: Ejecutar CVParameterSelection para encontrar los mejores valores de par´ ametros en la red resultante. Compare the output you get to that obtained from J48 with default parameters. Tiene una precisi´ on cambiado? Qu´ e pasa con el tama˜ no del ´ arbol? Qu´ e valores de los par´ ametros han sido seleccionados por CVParameterSelection para el modelo construido a partir del conjunto de entrenamiento completo? 9 . 13: Run CVParameterSelection to find the best parameter values in the resulting grid.Ex.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->