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.

Documents pareils