Blog personal de Luis Córdoba Fallas.

jueves, 16 de junio de 2011

WEKA

Introducción

La minería de datos encierra un grupo de técnicas para la solución de múltiples problemas en distintos campos, en la actualidad existen muchas herramientas enfocadas a la minería de datos que utilizan este sin número de técnicas con el objetivo de obtener conocimiento nuevo desde  las bases de datos.

Con el paso del tiempo han surgido más y más herramientas para la explotación de datos con el fin de abarcar un mercado que ha tenido un enorme auge en los últimos años, brindando soluciones sobre las fuertes demandas de las empresas, han surgido herramientas de índole comercial como Cart, SPSS Clementine, Kxen, SAS Enterprise Miner, Tiberius, por otro lado han surgido herramientas para la aplicación de minería de acceso gratuito, o licencia libre dentro de este otro grupo se pueden mencionar MiningMart, Orange, TariyKDD, ARMiner y WEKA, que es la herramienta de minería que se seleccionó para desarrollar esta investigación se pretende mostrar las características básicas de esta herramienta, así mismo su estructura y su aplicabilidad funcional, adicionalmente se incluye un pequeño y resumido cuadro comparativo entre esta y otras herramientas para poder ver su similitud.  

1.    ¿Qué es Weka?

Weka es una herramienta de tipo software para el aprendizaje automático y minería de datos diseñado a base de Java y desarrollado en la universidad de Waikato en Nueva Zelanda en el año 1993, esta herramienta por su nombre en inglés (Waikato Environment for Knowledge Analysis) además es una herramienta de distribución de licencia GNU-GLP o software libre

Weka contiene una colección de algoritmos para realizar análisis de datos y modelado predictivo, también tiene herramientas para la visualización de estos datos, además provee una interfaz gráfica que unifica las herramientas para que estén a una mejor  disposición.

1.1 Breve Historia.

Inicialmente en el año 1193 la universidad de Waikato ubicada en Nueva Zelanda se dio a la tarea de desarrollar la primera implementación para analizar datos procedentes de la agricultura y con esto se dio lo que fue la primer versión  de WEKA, esta fue desarrollada en TCL/TK y lenguaje C, cuatro años más tarde en 1997 se decide escribir todo el código original en java, además se le incluyeron implementaciones de algoritmos de modelado.

En el año 2005 esta herramienta muy flexible y fácil  de utilizar, recibe el galardón “Data Mining and Knowledge Discovery Service”, por parte de la ACM (Asociación for Computing Machinery) que es  la Sociedad Científica Para el Desarrollo de la Computación Educacional.

2.    Características

Esta es una herramienta muy versátil que soporta muchas tareas estándar de la minería de datos en especial tareas de procesamiento de datos, regresión, clasificación, clusterin entre otras, así mismo permite la visualización y la selección de los datos.

Todas las técnicas en WEKA están basadas en la sunción de datos que están disponibles en un fichero plano o una relación, en donde cada registro de datos esta descrito por un número fijo de atributos nominales o numéricos.

Permite el acceso a otras instancias de bases de datos por medio de SQL, gracias al JDBC, además puede procesar un resultado generado a base de una consulta hecha a una base de datos.

3.    Interfaz de Usuario
Esta herramienta consta inicialmente de un selector de interfaz, y consta de una consola en donde se permite tener acceso a las 4 interfaces básicas que conforman la herramienta, a continuación se detalla un poco de cómo están conformadas estas interfaces.

3.1 Simple CLI: Esta es la abreviatura de (Simple Command Line Interface) básicamente se trata de una consola la cual permite tener acceso a todas las funciones pero sujeta a la línea de comandos, todas son invocadas por medio de Java, puede realizar cualquier operación soportada por weka pero de manera directa, algunos de los comandos básicos soportados son los siguientes.
·         java <nombre-de-la-clase><argumentos>: invoca el método principal de la clase con los argumentos especificados.
·         break: detiene cualquier tarea que se encuentre en curso.
·         Kill: Elimina la tarea que se encuentre en curso no, es muy aconsejable su uso y se recomienda solo cuando una tarea no puede ser detenida por break
·         Cls: Borra todo el contenido de la pantalla de la consola
·         Exit: Comando de salida de la aplicación
·         Help: proporciona una breve descripción de cada mando.

A continuación  se detalla un ejemplo básico que muestra la sintaxis utilizada en la línea de comando de Weka.

En este ejemplo se ilustra como seria la cadena de comando para crear un modelo entrenando un árbol de decisión, con el algoritmo weka.classifiers.trees.J48

Estructura Básica

java -Xmx[MEGABYTES_DE_MEM_PARA_LA_TAREA]M -cp [PATH_A_weka.jar] [ALGORITMO_DE_APRENDIZAJE+PARÁMETROS] -t [FICHERO_ENTRENAMIENTO] -d [FICHERO_DONDE_SE_GUARDA_EL_MODELO]

Aplicación Práctica

java -Xmx1024M -cp /opt/weka-3-4-9/weka.jar weka.classifiers.trees.J48 -C 0.25 -M 2 -t rweka.arff -d rweka.model

En el ejemplo se invoca la clase principal “Java”, luego se le asigna el espacio en memoria para realizar la tarea, en este caso es de 1024 Mb, así mismo se declara la ruta para la clase weka.jar y se define el algoritmo de aprendizaje a usar que como lo habíamos mencionado seria weka.classifiers.trees.J48, por último se incluye el dato del fichero de entrenamiento que es rweka.arff y el nombre de fichero donde se guarda el modelo, para este ejemplo seria rweka.model

Si quisiéramos con el modelo generado realizar una clasificación, se utilizaría la siguiente estructura.

java -Xmx[MEGABYTES_DE_MEM_PARA_LA_TAREA]M -cp [PATH_A_weka.jar] [ALGORITMO_DE_APRENDIZAJE] -l [FICHERO_CON_EL_MODELO] -T [FICHERO_A_CLASIFICAR] -p 0

Utilizando los mismos datos del ejemplo anterior, nombre del fichero de datos rweka.arff y nombre de modelo rweka.model, la estructura quedaría de la siguiente manera.

java -Xmx1024M -cp /opt/weka-3-4-9/weka.jar weka.classifiers.trees.J48 -l rweka.model -T rweka.arff -p 0

3.2 Experimenter: El modo experimentador y es muy útil para aplicar uno o varios tipos experimentos pero a gran escala, por ejemplo se puede hacer clasificación sobre un gran conjunto grande de datos, para luego proceder a realizar análisis estadístico y por ultimo obtener índices de estadística.

3.3 Explorer: Se puede decir que es la interfaz de usuario que permite más accesibilidad a los componentes principales de todo el bando de trabajo de modo gráfico, contiene el acceso a todas las funciones de manera muy sencilla, este está dividido en varios paneles.
ü  Preprocess. Aquí  están incluidas todas las herramientas y filtros para cargar y manipular los datos que se pretende utilizar.
ü  Classification. Provee acceso a todas las técnicas de clasificación y regresión incluidas en weka
ü  Cluster. En este se integran varios métodos de agrupamiento.
ü  Associate. Incluye las técnicas utilizadas para reglas de asociación.
ü  Select Attributes.  Contiene las opciones de acceso a las diversas técnicas usadas para la reducción de la cantidad o el numero de atributos
ü  Visualize. Esta sección permite hacer estudios de comportamiento, usando las técnicas de visualización incluidas en Weka.

3.4 KnowledgeFlow: Esta interfaz es flexible a generar  proyectos de minería de datos mediante la generación de Flujos de Información.

4.    Ventajas

ü  Es un software de fácil  acceso por los usuarios ya que está disponible libremente bajo licencia pública GNU.
ü  Contiene una gran gama de técnicas para modelado y procesamiento de datos
ü  Posee una interfaz de usuario muy sencilla que permite su uso hasta por usuarios sin experiencia
ü  Funciona en la mayoría de las plataformas actúalas ya que es una implementación en java

5.     Desventajas

ü  No incluye algoritmos para el modelado de secuencias
ü  Al utilizar métodos de combinación de modelos, los resultados tienden a complicarse, perdiendo comprensibilidad.

6.     Campos de Aplicación

Weka posee un grupo de técnicas que se pueden aplicar con éxito a múltiples capos, tales como el Marketing, manufactura, salud, energía, finanzas, medicina, entre otros, para su aplicación se debe de tener en cuenta el tipo de tarea que se desea realizar. Con base a la tarea se puede implementar en para dar la solución necesaria en cada uno de estos campos, a continuación se muestran una serie de tareas incluidas en Weka.

ü  Métodos de clasificación basados en redes neuronales
ü  Manipulación de métodos numéricos sobre datos (Funciones estadísticas)
ü  Métodos de clasificación basados en máquinas de soporte vectorial
ü  Metaclasificadores
ü  Métodos de implementación de árboles de decisión
ü  Implementación de clusterin
ü  Métodos de estimación de probabilidades
ü  Clases para implementar clasificadores bayes

7.    Cuadro Comparativo

Actualmente además de weka existen en el mercado un gran número de herramientas para la explotación de la minería de datos, algunas con mejores características en algunos aspectos, pero casi todas son diseñadas con la misma finalidad, a continuación se muestra un cuadro comparativo.

Cuadro comparativo – Herramientas de minería de datos.
Característica
Clementine
SAS Enterprise Miner
Tariykdd
Weka
Licencia libre
No
No
Si
Si
Requiere conocimientos avanzados
No
No
No
No
Acceso a SQL
Si
No
Si
Si
Multiplataforma
NO
Si
Si
Si
Requiere bases de datos especializadas
NO
---
No
NO
Métodos de máquinas de soporte vectorial
Si
Si
No
si
Métodos bayesianos
Si
---
No
si
Puede combinar modelos
Si
Si
No
Si (no resulta muy eficiente)
Modelos de clasificación
Si
Si
Si
si
Implementa arboles de decisión
Si
Si
Si
si
Modelos de regresión
Si
Si
No
Si
Clusterin y agrupamiento
Si
Si
No
Si
Interfaz amigable
Si
Si
Si
Si
Permite visualización de datos
Si
Si
Si
Si
      
Conclusión

Se puede concluir diciendo que las herramientas mencionadas anteriormente tienen una misma finalidad,  suplir las necesidades del mercado actual que es: la búsqueda de nuevo conocimiento en base a la información con que se cuenta.
Se pudo lograr ver las características de Weka y se puede decir que es una solución muy completa que incorpora potentes características para la explotación de datos, con características muy similares a otras herramientas  de venta comercial y con la ventaja sobre estos de que es una herramienta de acceso libre y completamente gratuito.


Ing. Luis Córdoba Fallas

4 comentarios:

Amauri Yazir Corral Hernández dijo...

Excelente aportación.

JARomero dijo...

Gracias por compartir información

Putri Adiratnaa dijo...

Oportunidad de préstamo ofrecida por el Sr. Benjamín que salva a mi familia de la esclavitud financiera { 247officedept@gmail.com }

Hola a todos, soy Putri Adiratnaa madre soltera de Yakarta, me gustaría compartir este gran testimonio sobre cómo conseguí un préstamo del Sr. Benjamín, cuando nos echaron de nuestra casa cuando ya no podía pagar mis facturas, después de ser estafada por varias empresas en línea y de que me negaran un préstamo de mi banco y de alguna otra cooperativa de crédito que visité. Mis hijos fueron acogidos por una familia de acogida, yo estaba solo en la calle. El día en que me encontré vergonzosamente con un viejo compañero de escuela que me presentó a Daisy Maureen. Al principio le dije que ya no estaba preparada para correr ningún riesgo al solicitar un préstamo en línea, pero me aseguró que recibiría mi préstamo de ellos. Pensándolo bien, debido a mi falta de vivienda tuve que hacer una prueba y solicitar el préstamo, afortunadamente para mí recibí un préstamo de 80.000 dólares del Sr. Benjamin. Estoy feliz de haber tomado el riesgo y solicitado el préstamo. Mis hijos me han sido devueltos y ahora tengo una casa y un negocio propio. Todo el agradecimiento y la gratitud va a la ayuda del Sr. Benjamín por darme un sentido a la vida cuando había perdido toda esperanza. Si actualmente está buscando ayuda para un préstamo, puede contactarlos a través de: {247officedept@gmail.com WhatsApp +1-989-394-3740.

ANDRAINO ADAMS dijo...

El Sr.Pedro y su financiación de inversión me ayudaron a conseguir la financiación de mi proyecto con una tasa de retorno del 2% a cambio de un préstamo de 500.000,00 euros para financiar mi proyecto y fue muy rápido y seguro, así que asesoraré a cualquiera que esté aquí buscando préstamos o inversores para póngase en contacto con el señor Pedro en pedroloanss@gmail.com
Gracias.

Publicar un comentario

 
;