Minería de Datos WEKA
Transcription
Minería de Datos WEKA
Minería de Datos Óscar Palomo Miñambres Universidad Carlos III de Madrid Avda. De la Universidad, 30 28911, Leganés (Madrid-España) [email protected] Abstract En este artículo analizaremos las ideas básicas que sustentan el Data Mining y, más concretamente, la utilización de árboles de decisión como herramienta estadística avanzada. Presento también un ejemplo ficticio de la aplicación de estas técnicas: predecir clientes que tienen un alto porcentaje de impagos. 1. INTRODUCCIÓN La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que reside de manera implícita en los datos. Es una tecnología con gran potencial para ayudar a las compañías a concentrarse en la información más importante de sus Bases de Información. Las herramientas de Data Mining predicen futuras tendencias y comportamientos, permitiendo en los negocios tomar decisiones proactivas y conducidas por un conocimiento acabado de la información. Lo que en verdad hace el data mining es reunir las ventajas de varias áreas como la Estadística, la Inteligencia Artificial, la Computación Gráfica, las Bases de Datos y el Procesamiento Masivo, principalmente usando como materia prima las bases de datos. Existen cuatro razones fundamentales por las cuales el Data Mining es una realidad en nuestros días: • Avances tecnológicos en almacenamiento masivo de datos y CPU. • Existencia de nuevos algoritmos para extraer información en forma eficiente • • Existencia de herramientas automáticas que no hacen necesario el ser un experto en estadística Potencia de computo 2. MINERIA DE DATOS – DATA MINING La técnica usada para realizar estas hazañas en Data Mining se llama Modelado. Modelado es simplemente el acto de construir un modelo en una situación donde usted conoce la respuesta y luego la aplica en otra situación de la cual desconoce la respuesta. Por ejemplo, si busca un galeón español hundido en los mares lo primero que podría hacer es investigar otros tesoros españoles que ya fueron encontrados en el pasado. Notaría que esos barcos frecuentemente fueron encontrados fuera de las costas de Bermuda y que hay ciertas características respecto de las corrientes oceánicas y ciertas rutas que probablemente tomara el capitán del barco en esa época. Usted nota esas similitudes y arma un modelo que incluye las características comunes a todos los sitios de estos tesoros hundidos. Con estos modelos en mano sale a buscar el tesoro donde el modelo indica que en el pasado hubo más probabilidad de darse una situación similar. Con un poco de esperanza, si tiene un buen modelo, probablemente encontrará el tesoro. 2.1 CICLO DATA MINING El data mining se ha ido incorporando a la vida de empresas, gobiernos, universidades, hospitales y diversas organizaciones que están interesadas en explorar sus bases de datos. Podemos decir que "en data mining cada caso es un caso". Sin embargo, en términos generales, el proceso se compone de cuatro etapas principales: • Selección del conjunto de datos, tanto en lo que se refiere a las variables objetivo (aquellas que se quiere predecir, calcular o inferir), como a las variables independientes (las que sirven para hacer el cálculo o proceso) • Pre procesamiento de los datos. Determinación, obtención y limpieza de los datos necesarios. Esta etapa consume generalmente alrededor del setenta por ciento del tiempo total de un proyecto de data mining. Determinación del modelo. Después de haber sido pre procesados y realizar la limpieza de datos, se sigue teniendo una cantidad enorme de variables o atributos. La selección de características reduce el tamaño de los datos, eligiendo las variables más influyentes del problema, sin apenas sacrificar la calidad del modelo de conocimiento obtenido del proceso de minería. Los métodos para la selección de los atributos que más influencia tienen en el problema son básicamente dos: - Aquellos basados en la elección de los mejores atributos del problema. mediante el uso de distintas técnicas, se deben comparar los modelos en busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos. Por ejemplo, tenemos un conjunto de datos y sabemos que algunos algoritmos de generación de clasificadores funcionara mejor sobre esos datos que otros ¿Cual usar?, ej.: J48 o SVM? Podemos hacer validación cruzada y quedarnos con el mas alto (en la practica esto es suficiente), pero en ocasiones la diferencia puede ser debida al azar y no ser significativa estadísticamente Ejemplo: buscamos un algoritmo preciso pero también rápido (lo vamos a utilizar en una situación dinámica que exige un entrenamiento rápido). Tenemos un algoritmo A (J48) que obtiene un 90% de aciertos, y otro B (NN) que obtiene un 92%, pero B es 100 veces más lento que A. ¿Merece la pena usar B? • Integración, si procede, de los resultados en un sistema transaccional o similar. - Aquellos que buscan variables independientes mediante test de sensibilidad, algoritmos de distancia o heurísticos. Realizado esto se comienza realizando unos análisis estadísticos de los datos, y después se lleva a cabo una visualización gráfica de los mismos para tener una primera aproximación. Según los objetivos planteados y la tarea que debe llevarse a cabo, pueden utilizarse algoritmos desarrollados en diferentes áreas de la Inteligencia Artificial. Figura 1. Proceso Data Mining • Análisis de los resultados. una vez obtenido el modelo, se debe proceder a su validación comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de haber obtenido varios modelos 2.2 EL ALCANCE DE DATA MINING • Redes Neuronales. Son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales, es decir, un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. Esta tecnología puede ser desarrollada tanto en software como en hardware y con ella se pueden construir sistemas capaces de aprender, de adaptarse a condiciones variantes, o inclusive si se dispone de una colección suficiente grande de datos, predecir el estado futuro de algunos modelos. Estas técnicas son adecuadas para enfrentar problemas que hasta ahora eran resueltos sólo por el cerebro humano y resultaban difíciles o imposibles para las máquinas lógicas secuenciales. • Regresión lineal.- Es la más utilizada para formar relaciones entre datos. Rápida y eficaz pero insuficiente en espacios multidimensionales donde puedan relacionarse más de 2 variables. • Árboles de decisión.- Un árbol de decisión se describe como un modelo de predicción utilizado en el ámbito de la inteligencia artificial, ya que dada una base de datos se construyen diagramas de construcciones lógicas, muy similares a los sistemas de predicción basados en reglas, que sirven para representar y categorizar una serie de condiciones que suceden de forma sucesiva, para la resolución de un problema. Dadas bases de datos de suficiente tamaño y calidad, la tecnología de Data Mining puede generar nuevas oportunidades de negocios al proveer estas capacidades: Las herramientas de Data Mining pueden analizar bases de datos masivas en minutos. Procesamiento más rápido significa que los usuarios pueden automáticamente experimentar con más modelos para entender datos complejos. Alta velocidad hace que sea práctico para los usuarios analizar inmensas cantidades de datos. Grandes bases de datos, a su vez, producen mejores predicciones. Las bases de datos pueden ser grandes tanto en profundidad como en ancho: • • Más columnas. Los analistas muchas veces deben limitar el número de variables a examinar cuando realizan análisis manuales debido a limitaciones de tiempo. Sin embargo, variables que son descartadas porque parecen sin importancia pueden proveer información acerca de modelos desconocidos. Un Data Mining de alto rendimiento permite a los usuarios explorar toda la base de datos, sin preseleccionar un subconjunto de variables. Más filas. Muestras mayores producen menos errores de estimación y desvíos, y permite a los usuarios hacer inferencias acerca de pequeños pero importantes segmentos de población. En este tipo de árbol, los nodos intermedios son los atributos de entrada de los ejemplos presentados, las ramas representan valores de dichos atributos y los nodos finales son los valores de la clase. Para elegir qué atributos y en qué orden aparecen en el árbol, se utiliza una función de evaluación: ganancia de información. 2.3 TÉCNICAS DE DATA MINING Como ya se ha comentado, las técnicas de la minería de datos provienen de la Inteligencia artificial y de la estadística, dichas técnicas, no son más que algoritmos, más o menos sofisticados que se aplican sobre un conjunto de datos para obtener unos resultados. Las técnicas más representativas son: • Modelos estadísticos.- Es una expresión simbólica en forma de igualdad o ecuación que se emplea en todos los diseños experimentales y en la regresión para indicar los diferentes factores que modifican la variable de respuesta. • Clustering. Métodos de agrupación de datos que nos permiten clasificar los datos por su similitud entre ellos. Son utilizadas con frecuencia para entender los grupos naturales de clientes en empresas o bancos. • Algoritmos genéticos. Son modelos inspirados incluir fácilmente ligaduras complicadas que limitan la solución a un problema en la evolución de las especies y que se aplican generalmente en problemas de optimización. Según el objetivo del análisis de los datos, los algoritmos utilizados se clasifican en supervisados y no supervisados: • • Algoritmos supervisados (o predictivos): predicen un dato (o un conjunto de ellos) desconocido a priori, a partir de otros conocidos. Algoritmos no supervisados (o del descubrimiento del conocimiento): se descubren patrones y tendencias en los datos. A continuación se describen un ejemplo de aplicación en el sector financiero y banca donde se ha visto involucrado el data mining. 3 APLICACIONES DE USO: CONCESIÓN DE CREDITOS BANCARIOS Para el desarrollo de este ejemplo he utilizado WEKA (herramienta de aprendizaje automático y data mining, escrita en lenguaje Java, gratuita). Es un entorno para experimentación de análisis de datos que permite aplicar, analizar y evaluar las técnicas más relevantes de análisis de datos, principalmente las provenientes del aprendizaje automático, sobre cualquier conjunto de datos del usuario. Para ello únicamente se requiere que los datos a analizar se almacenen con un cierto formato, conocido como ARFF (Attribute-Relation File Format). La concesión de créditos bancarios en el momento que vivimos es un tema bastante complicado. La crisis económica que se esta viviendo en estos momentos obliga a los bancos a ser muchos más estrictos a la hora de conceder un préstamo/crédito a sus clientes. Se ha intentado, a partir de ciertos estudios y usando distintas metodologías, identificar las probabilidades que tiene un cliente de devolver un crédito de acuerdo con los datos de los que se dispone de él. Es importante destacar que los modelos cambian y dependen en ocasiones del momento en que se realizan, es decir, no es lo mismo dar un crédito hoy en día que hace unos años en los que se otorgaban créditos más fácilmente. Con ello quiero decir, que aunque los datos de los que disponemos son los mismos y unos casos conviene realizar el estudio con un subconjunto determinado y en otras con otro. En este caso, la minería de datos, junto con el uso de un modelo basado en árboles de decisión, nos ayudará a investigar las correlaciones existentes en los casos de morosidad. 3.1 Objetivos del análisis Antes de comenzar con la aplicación de las técnicas de WEKA a los datos de este dominio, es muy conveniente hacer una consideración acerca de los objetivos perseguidos en el análisis. Como se mencionó en la introducción, un paso previo a la búsqueda de relaciones y modelos subyacentes en los datos ha de ser la comprensión del dominio de aplicación y establecer una idea clara acerca de los objetivos del usuario final. De esta manera, el proceso de análisis de datos (proceso KDD), permitirá dirigir la búsqueda y hacer refinamientos, con una interpretación adecuada de los resultados generados. Los objetivos, utilidad, aplicaciones, etc., del análisis efectuado no "emergen" de los datos, sino que deben ser considerados con detenimiento como primer paso del estudio. En nuestro caso, un banco desea obtener reglas para predecir qué personas de las que piden un crédito no van a devolverlo. Por otra parte, este análisis tiene un enfoque introductorio e ilustrativo para acercarse a las técnicas disponibles y su manipulación desde la herramienta. Si seleccionamos uno de ellos podemos apreciar la relación existente. Por ejemplo: 3.2 Pre procesado de los datos La entidad bancaria cuenta con una gran base de datos correspondiente a los créditos concedidos a otros clientes con anterioridad. Para este caso los datos disponibles son: @attribute estado {soltero, casado, divorciado} @attribute DNI @attribute nomina real @attribute sexo {HOMBRE, MUJER} @attribute PAGO {si, no} El campo ¿Pagó? es binario (solo puede tomar como valores sí o no) y es el atributo clave que tiene el banco para estudiar la concesión del crédito. No siempre existe un atributo clave. A partir de los datos, las técnicas de DM podrían generar un modelo de los datos, consistente en un conjunto de reglas, que permitiesen predecir en el futuro, el posible comportamiento de un cliente que solicitase un préstamo. Para generar gráficos con los datos del ejemplo, se seleccionará la pestaña Visualize. Por defecto, se muestran gráficos para todas las combinaciones de atributos tomadas dos a dos, de modo que se pueda estudiar la relación entre dos atributos cualesquiera. El aspecto de la pantalla es el mostrado en la figura siguiente Figura 3. Relación Nomina-Pago Podemos apreciar que todos aquellos clientes con nóminas superiores a 2000 euros van a devolver el préstamo. Por otra parte cuando la nómina es menor de esa cantidad la devolución no esta solo relacionado con este atributo sino que depende de otros factores. Podemos deducir por lo tanto que el modo visual nos ayuda a tener una idea de los datos pero no a conocerlos por completo. 3.3 Arboles de decisión Utilizar un conjunto de datos disponibles, en forma de tabla de atributos, para aprender a predecir la clase de datos NO VISTOS TODAVÍA. El predictor puede tomar diversas formas, según el algoritmo (árbol de decisión, reglas, función, red de neuronas, probabilidades, centroides, ..). Pero en último termino, un predictor es una estructura que toma una entrada (los distintos valores de los atributos que representan al dato) y devuelve una salida (la clase o cantidad predicha para ese dato) En este ejemplo he utilizado la técnica de generación de reglas en forma de árboles de decisión ya que es un modelo de datos sencillo y comprensible para todo el mundo. Obtenemos el siguiente esquema: Figura 2. Relación entre datos dos a dos Ejemplo: si en el conjunto original un 65% de los datos pertenecen a la clase positiva, la estratificación intentara que esa proporción se mantenga en entrenamiento y test Se suele utilizar como método de validación, conseguir el mayor porcentaje de aciertos, aunque en ocasiones es importante evaluar el conocimiento obtenido con otras medidas: • Figura 4. Árbol de decisión Cabe destacar que para la realización del clasificador se ha utilizado validación cruzada (dividir varias veces el mismo conjunto de datos en entrenamiento y test y calcular la media. Así, las particiones de test no solaparan). El método de validación cruzada utiliza muy bien los datos al calcular el porcentaje de aciertos esperado, porque todos ellos se utilizan para test (en alguna partición). De hecho, todos los datos figuran como entrenamiento o test en alguno de los ciclos de validación cruzada. Pero es costoso en tiempo (hay que lanzar el algoritmo de aprendizaje n veces) 3.4 Análisis de los resultados Una vez obtenido el conocimiento es necesario validarlo para observar su comportamiento con datos no vistos. Es una práctica conveniente el realizar el experimento, el cálculo, dividiendo los datos en dos subconjuntos de distinta magnitud. Un subconjunto para entrenamiento (66%) y otro subconjunto para test (33%). Esto puedo ocasionar problemas, es posible que por azar, los datos de entrenamiento y test estén sesgados. Por lo tanto, la proporción entre las clases que existe en el conjunto de datos original, se intenta mantener en los conjuntos de entrenamiento y test. • • Comprensibilidad: si el conocimiento es fácilmente comprensible para un ser humano. Útil para evaluar si el conocimiento es correcto o para tomar decisiones en base al conocimiento obtenido. Muy relacionado con el tamaño (numero de reglas o nodos en el árbol de decisión) A veces merece la pena perder en porcentaje de aciertos (= subadaptacion) para ganar en comprensibilidad (construyendo arboles de decisión mas pequeños, discretizando atributos, etc.) Algunos atributos pueden ser redundantes y hacen más lento el proceso de aprendizaje. Otros son irrelevantes (como el DNI para predecir si una persona va a devolver un crédito). En ocasiones el exceso de atributos puede llevar a sobreaprendizaje, pues incrementa la complejidad del modelo (sobre todo si hay pocos datos). En este ejemplo sencillo podemos deducir fácilmente algunas reglas que servirán para determinar si se concede el préstamo a un determinado cliente o no. Si la nomina es > 2000 siempre pagan el préstamo. Un hombre soltero, con nomina < 800 euros tiene grandes probabilidades de no devolver un préstamo. 4 Extensiones del data mining • Web mining: consiste en aplicar las técnicas de minería de datos a documentos y servicios del Web. Todos los que visitan un sitio en Internet dejan clasificación, huellas IP, Generalmente se utilizan palabras clave servidores para encontrar una página relevante. En digitales navegador, (direcciones etc.) que automáticamente los cambio, el text mining se refiere a Las examinar una colección de documentos y herramientas de Web mining analizan y descubrir información no contenida en procesan ningún de accesos estos logs en etc. una bitácora almacenan de categorización, (Log). para producir documento individual de la información significativa. Debido a que los colección; en otras palabras, trata de contenidos de Internet consisten en varios obtener información sin haber partido de tipos de datos, como texto, imagen, vídeo, algo. metadatos o hiperligas, investigaciones recientes usan el término multimedia data 5 CONCLUSIONES mining (minería de datos multimedia) Nuestra capacidad para almacenar datos ha crecido en los últimos años a velocidades exponenciales. En contrapartida, nuestra capacidad para procesarlos y utilizarlos no ha ido a la par. Por este motivo, el data mining se presenta como una tecnología de apoyo para explorar, analizar, comprender y aplicar el conocimiento obtenido usando grandes volúmenes de datos. Descubrir nuevos caminos que nos ayuden en la identificación de interesantes estructuras en los datos es una de las tareas fundamentales en el data mining. como una instancia del Web mining para tratar ese tipo de datos. Los accesos totales por dominio, horarios de accesos más frecuentes y visitas por día, entre otros datos, son herramientas registrados por estadísticas que complementan todo el proceso de análisis del Web mining. • Text mining: dado que el ochenta por ciento de la información de una compañía está almacenada documentos, las en forma técnicas de como la categorización de texto, el procesamiento de lenguaje natural, la extracción y recuperación de la información o el aprendizaje automático, entre otras, apoyan al text mining (minería de texto). En ocasiones se confunde el text mining con la recuperación de la información. Esta última consiste en la recuperación automática de documentos relevantes mediante indexaciones de Las herramientas comerciales de data mining que existen actualmente en el mercado son variadas y excelentes. Las hay orientadas al estudio del web o al análisis de documentos o de clientes de supermercado, mientras que otras son de uso más general. Su correcta elección depende de la necesidad de la empresa y de los objetivos a corto y largo plazo que pretenda alcanzar. textos, En resumen, el data mining se presenta como una tecnología emergente, con varias ventajas: por un lado, resulta un buen punto de encuentro entre los investigadores y las personas de negocios; por otro, ahorra grandes cantidades de dinero a una empresa y abre nuevas oportunidades de negocios. Además, no hay duda de que trabajar con esta tecnología implica cuidar un sinnúmero de detalles debido a que el producto final involucra "toma de decisiones". 6 REFERENCIAS [1] “Introducción a la Minería de Datos” José Hernández Orallo, M.José Ramírez Quintana, Cèsar Ferri Ramírez Editorial Pearson, 2004. ISBN: 84 205 4091 9 [2] “Tendencias de la Minería de Datos en España” Raúl Giráldez, José C. Riquelme, Jesús S. Aguilar-Ruiz Red Española de Minería de Datos TIC200211124-E . [3] Baker, R.S.J.d. Data Mining for Education. Encontrado en McGaw, B., Peterson, P., Baker, E. (Eds.) International Encyclopedia of Education (3rd edition). Oxford, UK: Elsevier [4] Artículo: “Data mining: torturando a los datos hasta que confiesen”. Luis Carlos Molina Felix. Universitat Politécnica de Catalunya.