SlideShare una empresa de Scribd logo
Inteligencia Artificial.
Actividad Académica
Colaborativa 3
Actividad de Aplicación. Algoritmos de
Aprendizaje Automático
Guillermo Santos García

@gsantosgo




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

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




                                               Inteligencia Artificial                                              Página 2 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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
                               Inteligencia Artificial                  Página 3 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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.

 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.


 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.


¿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.




                            Inteligencia Artificial                   Página 4 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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
programaRapid-IRapidMiner5, 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.




                             Inteligencia Artificial                 Página 5 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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




                            Inteligencia Artificial                   Página 6 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                         Automático




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




                             Inteligencia Artificial                    Página 7 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

   -   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

                               Inteligencia Artificial                    Página 8 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

                 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.




                              Inteligencia Artificial                       Página 9 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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).

  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.




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


                             Inteligencia Artificial                   Página 10 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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.




                            Inteligencia Artificial                 Página 11 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.




                             Inteligencia Artificial                   Página 12 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.




                             Inteligencia Artificial                    Página 13 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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.




  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.


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




                             Inteligencia Artificial                 Página 14 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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).




                             Inteligencia Artificial                   Página 15 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.
                                 Inteligencia Artificial                    Página 16 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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).

 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.


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.




                            Inteligencia Artificial                       Página 17 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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).




                             Inteligencia Artificial                   Página 18 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

  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.


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.




                             Inteligencia Artificial                     Página 19 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.




                             Inteligencia Artificial                   Página 20 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.
                            Inteligencia Artificial                   Página 21 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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)




                             Inteligencia Artificial               Página 22 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                       Automático




                  Inteligencia Artificial        Página 23 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                       Automático

   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)




                           Inteligencia Artificial                 Página 24 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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



  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.




                             Inteligencia Artificial                  Página 25 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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)




                             Inteligencia Artificial                  Página 26 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                       Automático




   Tabla de Pesos (Weight table)




   Tabla Vector Soporte (Support Vector table)




                         Inteligencia Artificial   Página 27 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.


                             Inteligencia Artificial                   Página 28 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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.




                            Inteligencia Artificial                 Página 29 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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




                            Inteligencia Artificial                   Página 30 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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.




                            Inteligencia Artificial                 Página 31 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.


                            Inteligencia Artificial                   Página 32 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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




                            Inteligencia Artificial                   Página 33 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático

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.




                            Inteligencia Artificial                 Página 34 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                          Automático




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.




                             Inteligencia Artificial                   Página 35 de 36
AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje
                            Automático

   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.


   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.


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*              94.87% (+/-2.65%)
                              Numero de hojas*
Naive Bayes                                                 96.19% (+/-1.64%)
Support Vector     Machine                                  96.63% (+-2.27%)
(SVM)
*Falta cálculo



   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.

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%.




                              Inteligencia Artificial                    Página 36 de 36

Más contenido relacionado

PPT
Aprendizaje Automatico
DOCX
Introducción al-aprendizaje-automático
PDF
Aprenzaijeautomaticoeneropdf
PDF
Componentes de un Sistema Experto
PPS
Inteligencia Artificial y Sistemas Expertos
PPT
Sistemas Expertos
PPTX
Sistemas expertos
PPTX
Sistemas expertos
Aprendizaje Automatico
Introducción al-aprendizaje-automático
Aprenzaijeautomaticoeneropdf
Componentes de un Sistema Experto
Inteligencia Artificial y Sistemas Expertos
Sistemas Expertos
Sistemas expertos
Sistemas expertos

La actualidad más candente (20)

PPTX
INTRODUCCION A LOS SISTEMAS EXPERTOS
PPTX
Sistemas expertos
ODT
SISTEMAS EXPERTOS
PDF
Sistema experto para determinar la personalidad de un individuo
PPTX
Sistemas expertos
PPT
PPTX
Sistemas expertos
PPT
Sistemas Expertos
PDF
Sistemas expertos
PPTX
Sistema experto
PPTX
sistemas expertos
PPT
Inteligencia artificial sistema experto
PPTX
Sistemas expertos
DOCX
Trabajo de sistemas expertos
PDF
Introducción a los sistemas expertos
PPTX
Sistemas expertos
PPTX
Sistemas expertos
PPTX
Exposicion sistemas expertos gomes zarur pallares
PPS
Sistemas Expertos
ODP
SISTEMAS EXPERTOS
INTRODUCCION A LOS SISTEMAS EXPERTOS
Sistemas expertos
SISTEMAS EXPERTOS
Sistema experto para determinar la personalidad de un individuo
Sistemas expertos
Sistemas expertos
Sistemas Expertos
Sistemas expertos
Sistema experto
sistemas expertos
Inteligencia artificial sistema experto
Sistemas expertos
Trabajo de sistemas expertos
Introducción a los sistemas expertos
Sistemas expertos
Sistemas expertos
Exposicion sistemas expertos gomes zarur pallares
Sistemas Expertos
SISTEMAS EXPERTOS
Publicidad

Destacado (8)

PDF
PPTX
Naive bayes
PPTX
Algoritmo Naive Bayes
PDF
Introduccion a Machine Learning
PDF
PDF
Inteligencia Artificial Y Computacional
PPT
Tomar una decisión con un árbol de decision
PDF
Clasificador Naive Bayes para Filtrar Correo Electrónico
Naive bayes
Algoritmo Naive Bayes
Introduccion a Machine Learning
Inteligencia Artificial Y Computacional
Tomar una decisión con un árbol de decision
Clasificador Naive Bayes para Filtrar Correo Electrónico
Publicidad

Similar a Algoritmos Aprendizaje Automático.2012 (20)

PDF
Machine Learning para Todos
PDF
PRESENTACION ML CUN MACHINE LEARNING.pdf
PPTX
Poggi analytics - ml - 1d
PPT
Mineria de Datos
PDF
aplicaciones de minería de datos
PPTX
Machine Learning.pptx
PDF
PPTX
Presentacion data mining (mineria de datos)- base de datos
PDF
ACA 1 ML APRENDIZAJE AUTOMATICO ML BT.pdf
PDF
Que es Datamining y su importancia el rpoceso de KDD
PDF
Mineria de datos-una_introduccion
PDF
Algoritmos - Jordi Gironés Roig
PPTX
Algoritmos de minería de datos
PDF
Prediciendo el futuro con Azure Machine Learning + aplicación en Xamarin
PDF
Aprendizaje de máquina
PDF
Mineria de Datos.pdf
PPTX
Modelos De Data Mining
PPTX
Machine Learning.pptx
PPTX
Data mining
PPTX
Mineria de datos
Machine Learning para Todos
PRESENTACION ML CUN MACHINE LEARNING.pdf
Poggi analytics - ml - 1d
Mineria de Datos
aplicaciones de minería de datos
Machine Learning.pptx
Presentacion data mining (mineria de datos)- base de datos
ACA 1 ML APRENDIZAJE AUTOMATICO ML BT.pdf
Que es Datamining y su importancia el rpoceso de KDD
Mineria de datos-una_introduccion
Algoritmos - Jordi Gironés Roig
Algoritmos de minería de datos
Prediciendo el futuro con Azure Machine Learning + aplicación en Xamarin
Aprendizaje de máquina
Mineria de Datos.pdf
Modelos De Data Mining
Machine Learning.pptx
Data mining
Mineria de datos

Más de Guillermo Santos (7)

PDF
Handwritten Digit recognition with R. Classification Problem
PDF
MadridJUG Mineria de Datos-Data Mining.09.may.2013
PDF
Data Analysis. Predictive Analysis. Activity Prediction that a subject perfor...
PDF
Data Analysis. Regression. LendingClub Loans
PDF
Instalación R y RStudio en Windows
PDF
Presentación Geolocalización Noticias (geo news).2012
PDF
Kettle. Recuperación y Procesado de datos.2012
Handwritten Digit recognition with R. Classification Problem
MadridJUG Mineria de Datos-Data Mining.09.may.2013
Data Analysis. Predictive Analysis. Activity Prediction that a subject perfor...
Data Analysis. Regression. LendingClub Loans
Instalación R y RStudio en Windows
Presentación Geolocalización Noticias (geo news).2012
Kettle. Recuperación y Procesado de datos.2012

Último (20)

PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
clase auditoria informatica 2025.........
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Presentación de Redes de Datos modelo osi
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
capacitación de aire acondicionado Bgh r 410
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
Curso de generación de energía mediante sistemas solares
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
El-Gobierno-Electrónico-En-El-Estado-Bolivia
clase auditoria informatica 2025.........
Historia Inteligencia Artificial Ana Romero.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
SAP Transportation Management para LSP, TM140 Col18
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
historia_web de la creacion de un navegador_presentacion.pptx
Presentación de Redes de Datos modelo osi
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
capacitación de aire acondicionado Bgh r 410
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Curso de generación de energía mediante sistemas solares
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
informe_fichas1y2_corregido.docx (2) (1).pdf
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Presentacion de Alba Curso Auditores Internos ISO 19011

Algoritmos Aprendizaje Automático.2012

  • 1. Inteligencia Artificial. Actividad Académica Colaborativa 3 Actividad de Aplicación. Algoritmos de Aprendizaje Automático Guillermo Santos García @gsantosgo 2012
  • 2. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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 Inteligencia Artificial Página 2 de 36
  • 3. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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 Inteligencia Artificial Página 3 de 36
  • 4. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. 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. 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. ¿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. Inteligencia Artificial Página 4 de 36
  • 5. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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 programaRapid-IRapidMiner5, 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. Inteligencia Artificial Página 5 de 36
  • 6. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático En la siguiente imagen podemos observar el aspecto del entorno de RapidMiner 5. Inteligencia Artificial Página 6 de 36
  • 7. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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 Inteligencia Artificial Página 7 de 36
  • 8. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático - 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 Inteligencia Artificial Página 8 de 36
  • 9. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 9 de 36
  • 10. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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). 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. Pasos de Importación de Conjunto de Datos mediante operador Read CSV Inteligencia Artificial Página 10 de 36
  • 11. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 11 de 36
  • 12. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 12 de 36
  • 13. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 13 de 36
  • 14. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. 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. Detalles de la vista de los metadatos de Breast Cancer Wisconsin. Inteligencia Artificial Página 14 de 36
  • 15. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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). Inteligencia Artificial Página 15 de 36
  • 16. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 16 de 36
  • 17. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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). 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. 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. Inteligencia Artificial Página 17 de 36
  • 18. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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). Inteligencia Artificial Página 18 de 36
  • 19. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. 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. Inteligencia Artificial Página 19 de 36
  • 20. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 20 de 36
  • 21. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 21 de 36
  • 22. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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) Inteligencia Artificial Página 22 de 36
  • 23. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático Inteligencia Artificial Página 23 de 36
  • 24. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático  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) Inteligencia Artificial Página 24 de 36
  • 25. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. 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. 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. Inteligencia Artificial Página 25 de 36
  • 26. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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) Inteligencia Artificial Página 26 de 36
  • 27. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático  Tabla de Pesos (Weight table)  Tabla Vector Soporte (Support Vector table) Inteligencia Artificial Página 27 de 36
  • 28. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 28 de 36
  • 29. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 29 de 36
  • 30. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático Clase objetivo: Clasificación binaria 2=Cáncer Benigno y 4=Cáncer Maligno. Inteligencia Artificial Página 30 de 36
  • 31. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 31 de 36
  • 32. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 32 de 36
  • 33. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático Clase objetivo: Clasificación binaria 2=Cáncer Benigno y 4=Cáncer Maligno. Inteligencia Artificial Página 33 de 36
  • 34. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 34 de 36
  • 35. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. Inteligencia Artificial Página 35 de 36
  • 36. AAC 3 – Actividad de Aplicación. Algoritmos de Aprendizaje Automático 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. 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. 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* 94.87% (+/-2.65%) Numero de hojas* Naive Bayes 96.19% (+/-1.64%) Support Vector Machine 96.63% (+-2.27%) (SVM) *Falta cálculo 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. 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%. Inteligencia Artificial Página 36 de 36