algoritmos aprendizaje automático.2012

36
2012 Inteligencia Artificial. Actividad Académica Colaborativa 3 Actividad de Aplicación. Algoritmos de Aprendizaje Automático Guillermo Santos García @gsantosgo

Upload: guillermo-santos

Post on 05-Dec-2014

3.533 views

Category:

Technology


0 download

DESCRIPTION

Conocer las diferencias entre los distintos algoritmos de aprendizaje automático.Utilizar una herramienta para minería de datos y comparar varios algoritmos de aprendizaje automático. Para ello vamos a trabajar con la herramienta RapidMiner.

TRANSCRIPT

Page 1: Algoritmos Aprendizaje Automático.2012

2012

Inteligencia Artificial.

Actividad Académica

Colaborativa 3 Actividad de Aplicación. Algoritmos de

Aprendizaje Automático

Guillermo Santos García

@gsantosgo

Page 2: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 2 de 36

Contenido 1. Objetivo.............................................................................................................................. 3

2. Enunciado .......................................................................................................................... 3

3. Plataforma de desarrollo .................................................................................................. 3

4. Proceso de desarrollo de la solución ............................................................................... 3

4.1 Descargar e instalación RapidMiner 5.2.000............................................................. 3

4.2 Proceso de Aprendizaje Automático ......................................................................... 7

4.2.1 Conjunto de Datos Seleccionados .......................................................................... 8

4.2.2 Importación de datos............................................................................................. 10

4.2.3 Detalles de Recursos .............................................................................................. 16

4.2.4 Algoritmo de Reglas ............................................................................................... 16

4.2.5 Árboles de decisión ................................................................................................ 18

4.2.6 Naive Bayes (Bayes Ingenuo) ................................................................................ 21

4.2.7 Soporte de Máquinas Vectoriales ......................................................................... 25

4.3 Comparativa .............................................................................................................. 28

4.3.1 Resultados Algoritmo de Reglas ........................................................................... 29

4.3.2 Resultados Arboles de Decisión ............................................................................ 31

4.3.3 Resultados Naive Bayes ......................................................................................... 32

4.3.4 Resultados Support Vector Machine .................................................................... 34

4.3.5 Conclusión Final ..................................................................................................... 35

Page 3: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 3 de 36

1. Objetivo

Conocer las diferencias entre los distintos algoritmos de aprendizaje automático.

Utilizar una herramienta para minería de datos y comparar varios algoritmos de aprendizaje automático. Para ello vamos a trabajar con la herramienta RapidMiner.

2. Enunciado La práctica se compone de los siguientes pasos:

1. Descargar e instalar la herramienta RapidMiner (http://rapid-i.com)

2. Utilizando las colecciones de ejemplos que vienen en los repositorios de ejemplo, realizar una comparativa de los resultados de un algoritmo de reglas, uno de árboles de decisión, el Naive Bayes y uno de soporte de máquinas vectoriales.

3. Cada miembro del grupo debe probar n/2 algoritmos. 4. Una vez hechas las pruebas, se deben juntar los resultados obtenidos por cada

miembro y comparar los resultados.

3. Plataforma de desarrollo Para realización de esta práctica, se ha utilizado:

- Dell Inspiron 1525 Core 2 Duo.

- Sistema Operativo Windows XP SP3 32Bits.

- Java Runtime Environment 1.6.0_27.

- Rapid Miner 5.2.000 Community Edition.

4. Proceso de desarrollo de la solución

4.1 Descargar e instalación RapidMiner 5.2.000 Para completar la realización de esta práctica necesitamos hacer uso de la herramienta

de minería de datos RapidMiner. RapidMiner es una herramienta para realizar

Page 4: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 4 de 36

aprendizaje automático, minería de datos, minería de texto, análisis predictivo y

análisis de negocios mediante una interface gráfica de usuario. Entre sus

características podemos destacar:

- Extracción, Transformación y Carga de datos (ETL).

- Preprocesamiento de datos.

- Visualización.

- Modelización.

- Evaluación.

- Despliegue.

¿Dónde realizamos la descarga?

Nos tenemos que ir a la siguiente U.R.I. http://rapid-i.com/content/view/26/84/. Una

vez en esta página seleccionamos el enlace de descarga para nuestra plataforma que

en nuestro caso es Windows versión de 32 bits. A continuación, nos da la opción de

podernos registrar en el Sitio Web de RapidMiner, como el registro es opcional,

decidimos no registrarnos. Y, ya por último, se procede a la descarga del producto

seleccionado y que realmente se encuentra es la siguiente U.R.I.:

https://sourceforge.net/projects/rapidminer/files/1.%20RapidMiner/5.2/rapidmine

r-5.2.000x32-install.exe/download

En este punto ya tendremos un fichero descargado con este nombre rapidminer-

5.2.000x32-install.exe.

Nota. La distribución de RapidMiner que vamos a usar es la Community Edition.

Existe otra distribución como es la Enterprise Edition que soporta una serie de

servicios y garantías adicionales.

Nota. RapidMiner es una aplicación que está programada en Java, luego para llevar

a cabo su ejecución se requiere la máquina virtual de Java de Oracle.

Page 5: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 5 de 36

Instalación

Procedemos a su instalación mediante la ejecución del fichero anteriormente

descargado.

Una vez que el producto se ha instalado correctamente, podemos observar en la

siguiente imagen que su instalación se ha producido en el directorio C:\Archivos de

programa\Rapid-I\RapidMiner5, en este caso para el Sistema Operativo Windows XP.

Ejecución de la Aplicación

Para llevar a cabo la ejecución simplemente accedemos al menú de aplicaciones de

Windows XP Y ejecutamos la opción de menú RapidMiner 5. Y comenzará, a iniciarse

la aplicación.

Page 6: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 6 de 36

En la siguiente imagen podemos observar el aspecto del entorno de RapidMiner 5.

Page 7: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 7 de 36

4.2 Proceso de Aprendizaje Automático Recordamos que dentro del proceso de aprendizaje automático existen como dos

métodos básicos:

- Aprendizaje Automático Supervisado. En el que tomamos un conjunto de

datos con sus atributos y su clase, y se crea un modelo de clasificación también

llamado clasificador. Este modelo constará de un algoritmo de clasificación que

se encargará de poder clasificar los datos en una determinada clase objetivo.

Posteriormente este modelo que se ha generado, va a usar toda su información

de aprendizaje ya almacenada, para clasificar o predecir la clase, de un

conjunto nuevo de datos sin clasificar (Ej. En el caso de detección de correo

basura o Spam, cuando llega un nuevo correo, el modelo nos dirá si el correo es

basura o no).

Objetivo. Generalización de Comportamiento

Page 8: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 8 de 36

- Aprendizaje Automático No Supervisado. Aquí no existe una clase, nosotros

tenemos un conjunto de datos, y queremos a obtener patrones o reglas ocultas

a partir de esos datos.

Objetivo. Detención de patrones o reglas de asociación

4.2.1 Conjunto de Datos Seleccionados En este punto vamos realizar una descripción del conjunto de datos seleccionados para

realizar esta práctica de aprendizaje automático.

¿Cuál es el conjunto de datos para realizar esta práctica?

El conjunto de datos (dataset) que hemos elegido del Repositorio de Aprendizaje

Automático de UCI es Breast Cancer Wisconsin (Diagnostic) Data Set.

Para más información acerca de este conjunto de datos podemos dirigirnos a la

siguientes U.R.I.:

http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29

Información del Conjunto de Datos

Las características se calculan a partir de una imagen digitalizada de una aspiración con

aguja fina (FNA) de una masa mamaria. Ellas describen las características de los

núcleos de células presentes en la imagen.

Número de instancias: 699.

Número de atributos: 10 atributos y 1 clase.

Clase objetivo: Clasificación binaria 2=Cáncer Benigno y 4=Cáncer Maligno.

Información de los atributos

ID Atributo Dominio

1 Sample code number Id number

2 Clump Thickness 1 - 10

3 Uniformity of Cell Size 1 - 10

4 Uniformity of Cell Shape 1 - 10

5 Marginal Adhesion 1 – 10

6 Single Epithelial Cell Size 1 – 10

7 Bare Nuclei 1 – 10

Page 9: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 9 de 36

8 Bland Chromatin 1 – 10

9 Normal Nucleoli 1 – 10

10 Mitoses 1 – 10

11 Class 2:benign, 4:malignant

Vista del conjunto de datos desde un editor de texto

¿Cómo son los datos?

Antes de realizar cualquier proceso exploratorio de minería de datos, siempre es

aconsejable ver los datos. Existen muchos formatos de datos e incluso su codificación

depende del algoritmo que se desee utilizar.

Detalles a tener en cuenta, a la hora de trabajar con un conjunto de datos (dataset).

- Encabezamientos de columnas.

- Identificadores de filas.

- Separadores. Si se usa la coma (,) como separador de atributos, podemos tener

problemas con valores numéricos.

- Valores en falta (Missing values). Puede que haya atributos que no tengan

valores en algunos casos.

Page 10: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 10 de 36

4.2.2 Importación de datos Antes de proceder a crear los modelos de aprendizaje automático, dentro de mi

repositorio local en la herramienta RapidMiner decido crear la siguiente estructura de

carpetas para la realización esta práctica.

La carpeta denominada ConjuntoDatos almacenará la importación de conjunto de

datos (datasets) y la carpeta denominada ProcesosAprendizaje almacenará los

diferentes procesos de aprendizaje de los distintos algoritmos que se piden para esta

práctica.

¿Qué fichero tenemos que importar?

El fichero a importar es breast-cancer-wisconsin.data. Este fichero está en formato de

datos CSV (comma-separated values).

Pasos de Importación de Conjunto de Datos mediante operador Read CSV

Nota. Desde RapidMiner, la opción de importar nuestro conjunto de datos desde la

Pestaña Repositories y la opción de Menu Import CSV File (ver imagen) tiene un

problema. Qué si nos hemos equivocado en alguna de las configuraciones de los

distintos pasos de importación, y queremos modificarlo a posteriori, no es posible

y tenemos que realizar todo el proceso de importación de nuevo. Existe una mejor

alternativa que es usar el operador Import > Data > Read CSV.

Page 11: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 11 de 36

El operador Read CSV se usará para realizar la importación del conjunto de datos de

Cancer de Mama de Wisconsin, y que se usará este mismo operador para los procesos

de aprendizaje de los distintos algoritmos.

A, continuación, indicamos los cuatro pasos llevados a cabo usando el asistente de

importación, que nos proporciona el operador Read CSV.

En la siguiente imagen podemos ver el operador seleccionado Read CSV.

Paso 1. Asistente de Importación de Datos

Indicamos el fichero del conjunto de datos que queremos importar.

Page 12: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 12 de 36

Paso 2. Asistente de Importación de Datos

En este paso indicamos cuál es el separador de los distintos atributos del conjunto de

datos, en este caso es la coma (“,”).

Paso 3. Asistente de Importación de Datos

En este paso se pueden realizar anotaciones de los atributos.

Page 13: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 13 de 36

Paso 4. Asistente de Importación de Datos

En este punto especificamos el nombre de cada uno de los atributos del conjunto de

datos, también se definen los tipos de datos de nuestros atributos y además se asignan

roles a los atributos. El atributo Code Number tendrá el rol de ID y Class tendrá en rol

de Label (Etiqueta).

Nota. Hemos observado que RapidMiner detecta automáticamente los tipos de los

atributos, pero a veces de manera errónea, tenemos que tenerlo en cuenta.

Page 14: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 14 de 36

En caso, de que al realizar la importación queramos cambiar el título, tipo de algún

atributo, podemos hacerlo cambiando los parámetros del operador Read CSV.

Detalles de la vista de los metadatos de Breast Cancer Wisconsin.

Nota. De manera general durante cualquier proceso de minería de datos, el 70%

del tiempo se va en la selección, procesamiento y transformación de los datos.

Todas estas fases son esenciales. Para generar un buen modelo que nos permita

generalizar el comportamiento, es requisito imprescindible una buena colección de

datos.

Page 15: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 15 de 36

Observamos que para el atributo Bare Nuclei existen 16 instancias en el que falta el

valor para ese atributo (?). La falta de valores no sabe como procesarlas RapidMiner y

puede darnos problemas a la hora de crear un modelo de aprendizaje. Nuestra

decisión es realizar un filtrado en todos los procesos de aprendizaje para obviar esas

16 instancias, con lo cual solamente tendremos un total de 683 instancias en lugar de

699.

Este filtrado lo realizamos mediante el operador Data Transformation > Filtering >

Sampling > Filter examples con la condición de que no se admiten instancias con

atributos con falta de valores (no_missing_attributes).

Page 16: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 16 de 36

En este punto, ya sabemos cómo se realiza la importación de datos y filtrado de datos,

que servirá como base para todos modelos de aprendizaje con su respectivo

algoritmos que se piden para esta práctica.

4.2.3 Detalles de Recursos Se detalla brevemente los diferentes recursos de esta práctica:

Procesos de Aprendizaje Fichero

Árbol de Decisión DecisionTree_BreastCancerWisconsin.rmp

Árbol de Decisión (Evaluación) DecisionTree_BreastCancerWisconsin_Perf.rmp

Naive Bayes NaiveBayes_BreastCancerWisconsin.rmp

Naive Bayes (Evaluación) NaiveBayes_BreastCancerWisconsin_Perf.rmp

Reglas RuleInduction_BreastCancerWisconsin.rmp

Reglas (Evaluación) RuleInduction_BreastCancerWisconsin_Perf.rmp

SVM SVM_BreastCancerWisconsin.rmp

SVM (Evaluación) SVM_BreastCancerWisconsin_Perf.rmp

4.2.4 Algoritmo de Reglas Los algoritmos de generación de reglas se encuentran entre los más populares en el

aprendizaje automático, debido a que los clasificadores que producen son series de

reglas que se pueden usar tanto para clasificar datos como para comprenderlos por

nuestra parte.

El operador empleado de RapidMiner para realizar un proceso de aprendizaje basado

en un algoritmo de reglas es Rule Induction.

Page 17: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 17 de 36

Para acceder a este operador dentro de los operadores de RapidMiner debemos seguir

esta ruta Operador Modelling > Classification and Regression > Rule Induction > Rule

Induction (Versión 5.2.000).

En la siguiente imagen podemos observer el proceso denominado

RuleInduction_BreastCancerWisconsin .

Como se ha comentado anteriormente, es necesario filtrar los datos antes de

procesarlos para eliminar las instancias por falta de valores, por ello usamos el

operador Filter Examples antes del operador Rule Induction.

Nota. El operador Rule Induction funciona de manera similar a la regla de

aprendizaje proposicional llamada Repeated Incremental Pruning to Produce Error

Reduction (RIPPER).

Los métodos de Inducción de Reglas Supervisadas (Rule Induction), proporcionan

una forma más fácil de comprensión del clasificador.

Page 18: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 18 de 36

Cuando ejecutamos el proceso estos son los resultados obtenidos:

Se han obtenido un conjunto de 8 reglas, con sus respectivas distribuciones. Si clase

objetivo es 2, el cáncer es benigno y si es 4 el cáncer es maligno.

4.2.5 Árboles de decisión Un árbol de decisión es un grupo jerárquico de relaciones organizados dentro de una

estructura de árbol, comenzando con una variable denominada nodo raíz. El nodo raíz

es dividido en dos o más ramas, representación de clases separadas del nodo raíz (si es

categórica) o rangos específicos a lo largo de la escala del nodo (si es continua).

El operador empleado de RapidMiner para realizar un proceso de aprendizaje basado

en un algoritmo de arboles de decisión es Decision Tree.

Para acceder a este operador dentro de los operadores de RapidMiner debemos seguir

esta ruta Operador Modelling > Classification and Regression > Decision Tree >

Decision Tree (Versión 5.2.000).

Page 19: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 19 de 36

Los nodos de árbol permiten bifurcar en función de los atributos y sus valores.

Las hojas del árbol nos proporcionan una predicción.

Deseamos que la predicción asociada a una hoja sea buena para los datos cuyos

valores en los atributos lleven a esa hoja.

Filtramos los datos antes de procesarlos para eliminar las instancias por falta de

valores, por ello usamos el operador Filter Examples antes de del operador Decision

Tree.

Nota. El operador Decision Tree realiza árboles de decisión a partir de datos

nominales y numéricos. Los árboles de decisión normalmente son fáciles de

comprender por los seres humanos y son métodos de clasificación poderosos.

Este operador Decision Tree funciona de manera similar al algoritnmo C4.5 o un

CART.

Page 20: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 20 de 36

Cuando ejecutamos el proceso estos son los resultados obtenidos:

Vista Gráfica (Graph View). Se muestra una estructura de árbol de decisión con

los diferentes nodos que se corresponden a atributos y sus diferentes ramas

que indican las decisiones. Los nodos hojas indican la predicción. Recordamos si

el valor del nodo es 2 el cáncer es benigno, y si es 4 el cáncer es maligno.

Vista Texto (Text View). Representación del árbol en forma de texto.

Page 21: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 21 de 36

4.2.6 Naive Bayes (Bayes Ingenuo) Dentro de los algoritmos probabilísticos, el más simple aunque frecuentemente

efectivo es Bayes Ingenuo, o Naive Bayes. Este algoritmo asume independencia

estadística entre los atributos, lo que es manifiestamente falso en el mundo real, y

sería equivalente a una red bayesiana con un nodo por atributo, todos ellos

independientes y apuntando al atributo de la clase.

El modelo construido es una tabla de probabilidades que se utilizan en el momento de

la clasificación para estimar la probabilidad de que un nuevo ejemplo pertenezca a

cada clase.

Para acceder a este operador dentro de los operadores de RapidMiner debemos seguir

esta ruta Operador Modelling > Classification and Regression > Bayesian > Modeling

(Version 5.2.000).

Nota. El operador Naive Bayes proporciona una modelo de clasificación usando

distribuciones normales estimadas.Se trata de un clasificador probabilístico basado

en el teorema de Bayes y algunas hipótesis simplificadores adicionales.

Nosotros hemos usado la corrección de Laplace para prevenir la influencia de las

probabilidades de cero.

Page 22: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 22 de 36

Como se ha comentado anteriormente, es necesario filtrar los datos antes de

procesarlos para eliminar las instancias por falta de valores, por ello usamos el

operador Filter Examples antes de usar el operador Naive Bayes.

Cuando ejecutamos el proceso estos son los resultados obtenidos:

Vista Texto (Text View)

Page 23: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 23 de 36

Page 24: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 24 de 36

Vista en Gráfico (Plot View) Podemos observar las dos distribuciones para

cáncer benigno (2) y cáncer maligno en función del atributo “Clump Thickness”.

Tabla de distribución (Distribution table)

Page 25: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 25 de 36

4.2.7 Soporte de Máquinas Vectoriales Máquinas de Soporte de Vectorial o Maquinas de Vectores de Soporte son un conjunto

de algoritmo de aprendizaje Supervisados.

Estos métodos están propiamente relacionados con problemas de clasificación y

regresión. Dado un conjunto de ejemplos de entrenamiento (de muestras) podemos

etiquetar las clases y entrenar una SVM para construir un modelo que prediga la clase

de una nueva muestra.

Este operador está ubicado en la siguiente ruta del RapidMiner:

Para acceder a este operador dentro de los operadores de RapidMiner debemos seguir

esta ruta Operador Modelling > Classification and Regression > Support Vector

Modeling > Support Vector Machine (Version 5.2.000).

Nota. Cada operador de aprendizaje tiene capacidades particulares para el manejo

de conjunto de datos. El algoritmo SVM no soporta conjunto de datos (dataset)

cuyos atributos sean polinominal.

Nota. El operador Support Vector Machine es JMySVMLearner que proporciona

una implementación Java interna del mySVM de Stefan Rueping.

Son predictores lineales, que durante su entrenamiento consiste en calcular el

hiperplano de margen máximo. Para ello se aplica una variante dual de

programación cuadrática convexa que opera con los datos mediante productos

escalares

Proporciona un algoritmo rápido con resultados buenos para muchas tareas de

aprendizaje.

Page 26: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 26 de 36

Como en los demás procesos de aprendizaje, aquí también eliminamos las instancias

por falta de valores, para ello usamos el operador Filter Examples antes del operador

SVM.

Cuando ejecutamos el proceso estos son los resultados obtenidos:

Vista de Texto (Text View)

Page 27: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 27 de 36

Tabla de Pesos (Weight table)

Tabla Vector Soporte (Support Vector table)

Page 28: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 28 de 36

4.3 Comparativa En esta práctica, nosotros hemos importado el conjunto de datos Breast Cancer

Wisconsin y hemos realizado un entrenamiento basado en distintos módelos de

aprendizaje como son: un modelo de reglas, un modelo de árbol de decisión, un

modelo de Naive Bayes (Bayes Ingenuo) y por último un modelo Support Vector

Machine (SVM). Para realizar una evaluación de cada modelo de aprendizaje hemos

usado la validación cruzada. Recordamos que la validación cruzada (X-Validation)

funciona usando parte de los datos para entrenar el modelo, y el resto del conjunto de

datos para prueba de la precisión (accuracy) del modelo entrenado. De las 683

instancias disponibles para el conjunto de datos (dataset) Breast Cancer Wisconsin, el

90% de las instancias últimas se usará para entrenamiento del modelo, y el 10% de las

instancias primeras se usará para probar la precisión (accuracy) del modelo entrenado.

El objetivo es predecir el cáncer de mama en Wisconsin, clasificando los canceres en

benignos (2) y malignos (4).

A, continuación, indicamos los resultados obtenidos mediante validación cruzada, en el

siguiente orden:

- Resultado Algoritmo de Reglas.

- Resultado Árbol de Decisión.

- Resultado Naive Bayes.

- Resultado Support Vector Machine.

Page 29: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 29 de 36

4.3.1 Resultados Algoritmo de Reglas Recurso: RuleInduction_BreastCancerWisconsin_Perf

Tabla de contingencia para dos clases 2=Cáncer Benigno y 4=Cáncer Maligno.

Page 30: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 30 de 36

Clase objetivo: Clasificación binaria 2=Cáncer Benigno y 4=Cáncer Maligno .

Page 31: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 31 de 36

4.3.2 Resultados Arboles de Decisión Recurso: DecisionTree_BreastCancerWisconsin_Perf

Tabla de contingencia para dos clases 2=Cáncer Benigno y 4=Cáncer Maligno.

Page 32: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 32 de 36

Clase objetivo: Clasificación binaria 2=Cáncer Benigno y 4=Cáncer Maligno .

4.3.3 Resultados Naive Bayes Recurso: NaiveBayes_BreastCancerWisconsin_Perf

Tabla de contingencia para dos clases 2=Cáncer Benigno y 4=Cáncer Maligno.

Page 33: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 33 de 36

Clase objetivo: Clasificación binaria 2=Cáncer Benigno y 4=Cáncer Maligno .

Page 34: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 34 de 36

4.3.4 Resultados Support Vector Machine Recurso: SVM_BreastCancerWisconsin_Perf

Tabla de contingencia para dos clases 2=Cáncer Benigno y 4=Cáncer Maligno.

Page 35: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 35 de 36

Clase objetivo: Clasificación binaria 2=Cáncer Benigno y 4=Cáncer Maligno .

4.3.5 Conclusión Final En esta práctica se han empleado modelos predictores basados en diferentes

algoritmos de aprendizaje, y que emplean diferentes técnicas de cálculos para predecir

la clase objetivo.

Los algoritmos de reglas y los basados en arboles de decisión generan modelos

predictivos que son más fáciles de comprender por los seres humanos. Imaginemos

que tenemos que transmitir a algún jefe o explicarle a algún cliente, cuáles son las

decisiones que el modelo predictor ha llevado a cabo para clasificar una determinada

instancia. Sin duda, que esta tarea se facilita enormemente en el caso de algoritmos de

reglas y arboles de decisión, por el contrario, esto lo tendríamos mucho más

complicado en el caso de Naive Bayes y SVM.

Nota. Nosotros hemos entrenado (train) nuestro modelo basado en un conjunto

de datos y posteriormente lo hemos probado (test) basado en ese mismo conjunto

de datos, de esta forma hemos visto si se equivoca mucho o poco. Hay que tener

en cuenta, que esto nos dará evaluación demasiado optimista, porque hemos

entrenado justo con esos datos.

Page 36: Algoritmos Aprendizaje Automático.2012

AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático

Inteligencia Artificial Página 36 de 36

En esta tabla se reflejan los resultados obtenidos para los diferentes algoritmos de

aprendizaje de esta práctica.

Algoritmos Otros Datos Precision (Accurary)

Rule Induction 8 Reglas 93.56% (+/-2.85%)

Decision Tree Numero de nodos* Numero de hojas*

94.87% (+/-2.65%)

Naive Bayes 96.19% (+/-1.64%)

Support Vector Machine (SVM)

96.63% (+-2.27%)

*Falta cálculo

El mejor algoritmo de aprendizaje, es decir, el que mejor predice es el basado en

Support Vector Machine con una precisión de 96.63%.

Nota. A modo de recordatorio, la precisión (o porcentaje de aciertos) se calcula

sumando todos los aciertos y dividiendo por el número de ejemplares de

evaluación.

Nota. Los tiempos de ejecución para los cuatros modelos de esta práctica no han

sido tomado en consideración, ya que en los cuatros el tiempo de ejecución según

RapidMiner es de 0 segundos, habría que ver los milisegundos o bien con mayor

volumen de datos, para apreciar el nivel eficiencia.

Nota. El proceso de aprendizaje automático dentro de la minería de datos, indica

que se trata de un arte, es decir, a veces para el mismo conjunto de datos,

empleando diferentes algoritmos de aprendizaje, unos algoritmos predicen mejor,

otros peor, o ni peor ni mejor. Lo que se suele hacer es probar con diferentes

algoritmos y ver cuál es el que menos se equivoca.