Proceedings Template - WORD - Departamento de Ingeniería

Transcription

Proceedings Template - WORD - Departamento de Ingeniería
Minería de Datos y Reconocimiento de Dígitos
Manuscritos
Almudena Ruiz Sánchez
Ismael Nistal González
Universidad Carlos III
Universidad Carlos III
Madrid
Madrid
[email protected]
[email protected]
RESUMEN
En este documento se presentan distintas técnicas y aplicaciones
de la Minería de Datos, realizándose un estudio más detallado del
método de agrupamiento no supervisado K-means. Siguiendo este
algoritmo, se ha realizado un reconocimiento de dígitos
manuscritos a través MATLAB. Por otro lado, también se ha
llevado a cabo un estudio del mismo conjunto de datos empleando
la herramienta Weka.

Selección de datos: Tras la recopilación de datos, en
esta fase se realiza la extracción de los datos relevantes
para el análisis siguiendo los objetivos trazados en un
principio. La calidad del conocimiento descubierto no
sólo depende del algoritmo de minería utilizado, sino
también de la calidad de los datos.

Preprocesamiento: Cuando los datos se encuentran
integrados, lo primero que se debe realizar es un
resumen de las características de atributos. Con la ayuda
de éstos resúmenes y características de los valores
nominales se puede determinar fácilmente valores
faltantes y valores erróneos [4].

Transformación: La transformación de datos engloba
cualquier proceso que modifique la forma de los datos
para que se ajusten a los requisitos de entrada del
algoritmo de minería de datos. Las operaciones que
transforman
los
datos
son:
Reducción
de
dimensionalidad,
aumento
de
dimensionalidad,
discretización, numeración y normalización.

Minería de datos: Tratamiento automatizado de los
datos seleccionados con una combinación apropiada de
técnicas y algoritmos.

Interpretación y evaluación: interpretación de los
resultados obtenidos en la etapa anterior generalmente
con la ayuda de una técnica de visualización.
Términos Generales
Algoritmos, Teoría, Documentación.
Palabras Clave
Minería de datos, K-means, clustering, reconocimiento de
caracteres, Weka.
1. MINERÍA DE DATOS
La minería de datos está compuesta de un conjunto de métodos y
algoritmos mediante los cuales se explotan grandes volúmenes de
datos para el descubrimiento de información previamente
desconocida y que permita facilitar la toma de decisiones [1]. La
minería de datos reúne 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 [2].
El descubrimiento de conocimiento en bases de datos, que
proviene del inglés "Knowledge Discovery in Databases" (KDD),
se define como el proceso no trivial de identificar patrones
válidos, novedosos, potencialmente útiles y en última instancia,
comprensibles a partir de los datos [3]. Dicho proceso se organiza
en 5 fases que se pueden visualizar en figura 1.
La Minería de Datos abarca un terreno muy amplio, no consiste
únicamente en aplicar un algoritmo existente a un conjunto de
datos. Las herramientas existentes actualmente incluyen
mecanismos para la preparación de los datos, su visualización y la
interpretación de los resultados. Muchas de las herramientas
funcionan bien en espacios de pocas dimensiones con datos
numéricos, pero sus limitaciones comienzan a aparecer en
espacios de mayores dimensiones o con datos no numéricos, por
lo tanto es necesario realizar un análisis exploratorio [4].
1.1. Técnicas de Minería de datos
Figura 1. Etapas del proceso KDD [3]
- Agrupamiento (clustering): Representa la división de datos en
grupos de objetos similares llamados clusters. De esta manera se
busca maximizar la similitud de las instancias en cada cluster y
minimizar la similitud entre clusters. Los algoritmos de clustering
más utilizados son Self Organizing Maps (SOM) y Kmeans.

Negocios: La minería de datos puede contribuir
significativamente en las aplicaciones de administración
empresarial basada en la relación con el cliente. Por
ejemplo, en lugar de contactar con el cliente de forma
indiscriminada a través de un centro de llamadas o
enviando cartas, sólo se contactará con aquellos que se
perciba que tienen una mayor probabilidad de responder
positivamente a una determinada oferta o promoción.
Por lo general, las empresas que emplean minería de
datos ven rápidamente el retorno de la inversión, pero
también reconocen que el número de modelos
predictivos
desarrollados
puede
crecer
muy
rápidamente. En lugar de crear modelos para predecir
qué clientes pueden cambiar, la empresa podría
construir modelos separados para cada región y/o para
cada tipo de cliente. También puede querer determinar
que clientes van a ser rentables durante una ventana de
tiempo (una quincena, un mes, …) y sólo enviar las
ofertas a las personas que es probable que sean
rentables. Para mantener esta cantidad de modelos, es
necesario gestionar las versiones de cada modelo y
pasar a una minería de datos lo más automatizada
posible.

Patrones de fuga: En muchas industrias (como la banca,
las telecomunicaciones, etc.) existe un comprensible
interés en detectar cuanto antes aquellos clientes que
puedan estar pensando en rescindir sus contratos para,
posiblemente, pasarse a la competencia. A estos
clientes, y en función de su valor, se les podrían hacer
ofertas personalizadas, ofrecer promociones especiales,
etc., con el objetivo último de retenerlos. La minería de
datos ayuda a determinar qué clientes son los más
proclives a darse de baja estudiando sus patrones de
comportamiento y comparándolos con muestras de
clientes que, efectivamente, se dieron de baja en el
pasado. Por ejemplo, en el caso de la deserción de
clientes en una operadora de telefonía, se analizaron las
variables personales de cada cliente (estado civil, edad,
sexo, nacionalidad, etc.), se estudiaron la morosidad, la
frecuencia y el horario de uso del servicio, los
descuentos y el porcentaje de llamadas locales,
interprovinciales, internacionales y gratuitas. Una de las
conclusiones más importantes fue que los clientes que
se daban de baja recibían pocas promociones y
registraban un mayor número de incidencias respecto a
la media.

Recursos humanos: La minería de datos también puede
ser útil para los departamentos de recursos humanos en
la identificación de las características de sus empleados
de mayor éxito. La información obtenida puede ayudar a
la contratación de personal, centrándose en los
esfuerzos de sus empleados y los resultados obtenidos
por éstos. Además, la ayuda ofrecida por las
aplicaciones para Dirección estratégica en una empresa
se traducen en la obtención de ventajas a nivel
corporativo, tales como mejorar el margen de beneficios
o compartir objetivos; y en la mejora de las decisiones
operativas, tales como el desarrollo de planes de
producción o gestión de mano de obra.
- Árboles de decisión: Un árbol de decisión es un conjunto de
condiciones organizadas en una estructura jerárquica, de tal
manera que la decisión final a tomar se puede determinar
siguiendo las condiciones que se cumplen desde la raíz del árbol
hasta alguna de sus hojas. La tarea de aprendizaje para la cual los
árboles de decisión se adecúan mejor es la clasificación
(determinar de entre varias clases a qué clase pertenece un
objeto); la estructura de condición y ramificación de un árbol de
decisión es idónea para este problema. Debido al hecho de que la
clasificación trata con clases o etiquetas disjuntas, un árbol de
decisión conducirá un ejemplo hasta una única hoja, asignando,
por tanto, una única clase al ejemplo. Esta propiedad dio lugar al
esquema básico de los primeros algoritmos de aprendizaje de
árboles de decisión de partición o algoritmos de "divide y
vencerás". Destacar dos de ellos: ID3 y C4.5 [4].
- Redes neuronales: Se trata de un sistema de interconexión
de neuronas en una red que colabora para producir un estímulo de
salida. Los tipos más importantes son: El perceptrón, el
perceptrón multicapa y las redes de Kohonen.
- Regresión lineal: Es una de las más utilizadas para formar
relaciones entre datos ya que es altamente rápida y eficaz, aunque
insuficiente en espacios multidimensionales donde se relacionan
más de dos variables.
- Modelos estadísticos: Es una expresión simbólica en forma de
igualdad o ecuación que se utiliza para indicar los diferentes
factores que modifican la variable respuesta [6].
Los algoritmos de minería de datos se clasifican en dos grandes
grupos:


Supervisados o predictivos: Predicen el valor de un
atributo (etiqueta) de un conjunto de datos, conocidos
otros atributos (atributos descriptivos). A partir de datos
cuya etiqueta se conoce, se induce una relación entre
dicha etiqueta y otra serie de atributos. Esas relaciones
sirven para realizar la predicción en datos cuya etiqueta
es desconocida.
No supervisados: Descubren patrones y tendencias en
los datos actuales. El descubrimiento de esa información
sirve para llevar a cabo acciones y obtener un beneficio
de ellas.
1.2. Aplicaciones de Minería de Datos [5], [9]

Hábitos de compra en supermercados: Un ejemplo
clásico de aplicación de la minería de datos tiene que
ver con la detección de hábitos de compra en
supermercados. Un estudio muy citado es el de
“Pañales y cervezas”, que tuvo lugar en una cadena de
víveres EEUU. Los viernes por la tarde-noche, los
hombres que compraban pañales, también compraban
cerveza. Esta información puede ser utilizada por
ejemplo para colocar ambos productos juntos, a modo
estratégico.


Comportamiento en Internet: El análisis del
comportamiento de los visitantes (sobre todo cuando
son clientes potenciales) en una página de Internet es un
área que está en auge, así como la utilización de la
información, obtenida por medios más o menos
legítimos, sobre ellos para ofrecerles propaganda
adaptada específicamente a su perfil. O para, una vez
que adquieren un determinado producto, saber
inmediatamente qué otro ofrecerle teniendo en cuenta la
información histórica disponible acerca de los clientes
que han comprado el primero.
Data mining del correo electrónico: Para esta
aplicación, existe un programa (Spoke) que extrae toda
la información almacenada en el correo electrónico y
detecta a quién hemos mandado correos, de quién los
hemos recibido, con qué frecuencia, incluso quién
estaba copiado en los mensajes enviados. Con todo eso
monta una base de datos de todos los contactos directos
e indirectos. Además, aplica un complejo algoritmo para
clasificar la intensidad de la relación teniendo en cuenta
numerosos factores.

Terrorismo: La minería de datos ha sido citada como el
método mediante el cual la unidad Able Danger del
Ejército de los EE.UU. había identificado al líder de los
atentados del 11 de septiembre de 2001, Mohammed
Atta, y a otros tres secuestradores del “11-S” como
posibles miembros de una célula de Al Qaeda que
operaban en los EE.UU. más de un año antes del ataque.

Fraudes: Generalmente, operaciones fraudulentas tales
como transacciones de blanqueo de dinero o fraude en
el uso de tarjeteas de crédito o de servicios de telefonía
móvil e, incluso, en la relación de los contribuyentes
con el fisco, suelen seguir patrones característicos que
permiten, con cierto grado de probabilidad, distinguirlas
de las legítimas y desarrollar así mecanismos para tomar
medidas rápidas frente a ellas. Un ejemplo de un
sistema inteligente que permite detectar y mitigar
fraudes en tarjetas de crédito, de débito, comerciales y
de combustible es el Falcon Fraud Manager, que
examina las transacciones, los propietarios de las
tarjetas y los datos financieros.

Juegos: Desde comienzos de la década de 1960, con la
disponibilidad de oráculos para determinados juegos
combinacionales, también llamados finales de juego de
tablero (por ejemplo, para las tres en raya o en finales de
ajedrez) con cualquier configuración de inicio, se ha
abierto una nueva área en la minería de datos que
consiste en la extracción de estrategias utilizadas por
personas para estos oráculos. Los planteamientos
actuales sobre reconocimiento de patrones, no parecen
poder aplicarse con éxito al funcionamiento de estos
oráculos. En su lugar, la producción de patrones
perspicaces se basa en una amplia experimentación con
bases de datos sobre esos finales de juego, combinado
con un estudio intensivo de los propios finales de juego
en problemas bien diseñados y con conocimiento de la
técnica (datos previos sobre el final del juego).
Ejemplos notables de investigadores que trabajan en
este campo son Berlekamp en el juego de puntos-y-cajas
(o Timbiriche) y John Nunn en finales de ajedrez.

Genética: En el estudio de la genética humana, el
objetivo principal es entender la relación cartografía
entre las partes y la variación individual en las
secuencias del ADN humano y la variabilidad en la
susceptibilidad a las enfermedades. En términos más
llanos, se trata de saber cómo los cambios en la
secuencia de ADN de un individuo afectan al riesgo de
desarrollar enfermedades comunes (como por ejemplo
el cáncer). Esto es muy importante para ayudar a
mejorar el diagnóstico, prevención y tratamiento de las
enfermedades. La técnica de minería de datos que se
utiliza para realizar esta tarea se conoce como
“reducción de dimensionalidad multifactorial”.

Ingeniería eléctrica: Las técnicas minería de datos han
sido ampliamente utilizadas para monitorizar las
condiciones de las instalaciones de alta tensión. La
finalidad de esta monitorización es obtener información
valiosa sobre el estado del aislamiento de los equipos.
Para la vigilancia de las vibraciones o el análisis de los
cambios de carga en transformadores se utilizan ciertas
técnicas para agrupación de datos (clustering) tales
como los Mapas Auto-Organizativos (SOM, Selforganizing map). Estos mapas sirven para detectar
condiciones anormales y para estimar la naturaleza de
dichas anomalías.

Análisis de gases: También se han aplicado técnicas de
minería de datos para el análisis de gases disueltos
(DGA, Dissolved gas analysis) en transformadores
eléctricos. El análisis de gases disueltos se conoce desde
hace mucho tiempo como herramienta para diagnosticar
transformadores. Los Mapas Auto-Organizativos (SOM)
se utilizan para analizar datos y determinar tendencias
que podrían pasarse por alto utilizando las técnicas
clásicas DGA.

Predicción de las audiencias televisivas: La British
Broadcasting Corporation (BBC) del Reino Unido
emplea un sistema para predecir el tamaño de las
audiencias televisivas para un programa propuesto, así
como el tiempo óptimo de exhibición. El sistema utiliza
redes neuronales y árboles de decisión aplicados a datos
históricos de la cadena para determinar los criterios que
participan según el programa que hay que presentar. La
versión final se desempeña tan bien como un experto
humano con la ventaja de que se adapta más fácilmente
a los cambios porque es constantemente re-entrenada
con datos actuales.
Instancias
Paso 1:
Inicialización
2. K-MEANS
K-means (k-medias) es uno de los algoritmos más utilizados para
hacer clustering como técnica de minería de datos y su
implementación es relativamente simple. La idea de K-means es
situar a los prototipos o centros en el espacio, de forma que los
datos pertenecientes al mismo prototipo tengan características
similares.
No obstante, este algoritmo presenta dos inconvenientes:

El agrupamiento final depende de los centroides
iniciales.

La convergencia en el óptimo global no está
garantizada, y para problemas con muchos ejemplares,
requiere de un gran número de iteraciones para
converger.
Un factor que afecta en gran medida el costo computacional del
algoritmo K-means es el número de iteraciones que necesita
realizar, ya que por cada iteración calcula la distancia de cada
objeto a los centroides de los grupos.
Paso 2:
Clasificación
Paso 3:
Cálculo de centroides
Figura 2. Pasos del algoritmo k-means
Descripción del algoritmo K-means estándar [8]
En el algoritmo se pueden identificar tres pasos:
1. Inicialización: Se definen un conjunto de objetos a
particionar (instancias), el número de grupos ó clusters
(parámetro k) y un centroide para cada grupo, que será el
representante de ese cluster. Algunas implementaciones
del algoritmo estándar determinan los centroides iniciales
de forma aleatoria, mientras que otras procesan los datos y
determinan los centroides iniciales mediante cálculos.
2. Clasificación: Para cada instancia de la base de datos se
calcula su distancia a cada centroide, se determina el
centroide más cercano, y el objeto es incorporado al grupo
relacionado con ese centroide.
3. Cálculo de centroides: Para cada grupo generado en el
paso anterior, se vuelve a calcular su centroide
(representante de clase o centro multivariante del cluster
[7]).
4. Condición de convergencia: Las condiciones de
convergencia más utilizadas son: converger cuando
alcanza un número de iteraciones dado, converger cuando
no existe un intercambio de objetos entre los grupos, o
converger cuando la diferencia entre los centroides de dos
iteraciones consecutivas es más pequeño que un umbral
dado. Si la condición de convergencia no se satisface, se
vuelve al paso 2 del algoritmo.
Para obtener los centroides, se calcula la media o la moda según
se trate de atributos numéricos o simbólicos. En la siguiente
Figura se muestra un ejemplo de clustering con el algoritmo Kmeans:
En el ejemplo de la figura se parte de un total de diecisiete
instancias, se configura el algoritmo para que obtenga 3 clusters, y
se inicializan aleatoriamente los centroides de los clusters a un
objeto determinado. Una vez inicializados los datos, se comienza
el bucle del algoritmo. En cada una de las gráficas inferiores se
muestra un paso por el algoritmo. Cada uno de los ejemplos se
representa con un tono de color distinto que indica la pertenencia
de la muestra a un cluster determinado, mientras que los
centroides siguen mostrándose como círculos de mayor tamaño y
sin relleno. En el caso de que no se cumpla la condición de
convergencia, se volverá a elegir un nuevo centroide para cada
cluster, repitiéndose los pasos 2 y 3 del algoritmo.
El algoritmo puede seguir dos enfoques distintos: K-means por
lotes y K-means en línea. El primero se aplica cuando todos los
datos de entrada están disponibles desde un principio, mientras
que el segundo se aplica cuando no se dispone de todos los datos
desde el primer momento, sino que pueden añadirse ejemplos
adicionales más tarde. Cuando se aplica la versión por lotes, se
debe seleccionar arbitrariamente una partición inicial de forma
que cada clase disponga de, al menos, un ejemplo. Como la
totalidad de los datos están disponibles, los centros de cada
partición se calculan como la media de los ejemplos
pertenecientes a esa clase.
2.1 Medida de distancias
Como habrá quedado claro tras el análisis inicial del algoritmo kmeans, es muy importante tener en cuenta cuál es la forma para
calcular la distancia entre el elemento y su centroide.
Dados dos objetos O1, O2, cada uno definido por un conjunto de
atributos, una función de distancia es aquella métrica que el
clasificador emplea para determinar el parecido existente entre O1
y O2, de acuerdo al valor de los atributos. También suele decirse
que la función de distancia calcula la similitud entre dos objetos
(función de similitud). Mientras más parecidos sean dos objetos,
la distancia entre estos es menor y de manera contraria sucede
para objetos lejanos. Una función de distancia comúnmente
empleada es la distancia euclidiana, la cual se define como:
d (O1 , O2 ) 
n
 ( x (O )  x (O ))
i 1
i
1
i
2
2
Donde O1, O2 son los objetos de los cuales se calculará la
distancia, n es el número de atributos y xi(O1), xi(O2) es el valor
de la variable x para el atributo i en los objetos O1, O2. Otras
funciones empleadas para el cálculo de distancias son:

Manhattan
n
D(O1 , O2 )   xi (O1 )  xi (O2 )
Como A está más próximo al cluster (AB) que al cluster (CD), no
se reasigna. Se hace lo mismo para el elemento B:
d2(B, (AB)) = (−1 − 2)2 + (1 − 2)2 = 10
d2(B, (CD)) = (−1 + 1)2 + (1 + 2)2 = 9
Por lo cual, el elemento B se reasigna al cluster (CD) dando lugar
al cluster (BCD). A continuación, se vuelven a calcular los
centroides:
i 1

Paso 2: calculamos las distancias euclídeas de cada observación al
grupo de centroides y reasignamos cada una al grupo más
próximo. Si alguna observación se mueve de grupo, hay que
volver a calcular los centroides de los grupos. Así, las distancias
son:
d2(A, (AB)) = (5 − 2)2 + (3 − 2)2 = 10
d2(A, (CD)) = (5 + 1)2 + (3 + 2)2 = 61
Chebychev
n
D(O1 , O2 )  max xi (O1 )  xi (O2 )
i 1

Minkowsky

r 
D(O1 , O2 )    xi (O1 )  xi (O2 ) 
 i 1

n
1
r
Paso 3: Nuevamente, se vuelven a calcular las distancias para
cada observación para ver si se producen cambios con respecto a
los nuevos centroides:
La distancia euclidiana, al igual que las distancias anteriores se
emplea en el caso en que todos los atributos del objeto son valores
numéricos.
2.2 Ejemplo numérico
Supongamos dos variables x1 y x2 y 4 elementos: A, B, C, D. con
la siguiente tabla de valores:
Se quiere dividir estos elementos en dos grupos (k = 2).
Paso 1: De modo arbitrario, se dividen los elementos en dos
clusters (AB) y (CD) y se calculan los centroides de los dos
clusters.
Cluster (AB)
Cluster (CD)
Como no se producen cambios, entonces la solución para k = 2
clusters es: A y (BCD). Si se quiere comprobar la estabilidad de
los grupos, es conveniente volver a correr el algoritmo con otros
clusters iniciales (una nueva partición inicial). Una vez
considerados los clusters finales, es conveniente interpretarlos;
para ello, se pueden cruzar con otras variables categóricas o se
pueden ordenar de modo que los objetos del primer cluster
aparezcan al principio y los del último cluster al final [10].
3. ANÁLISIS DE DÍGITOS MANUSCRITOS
3.1 Análisis con MATLAB
El ejemplo a analizar trata de un escenario de reconocimiento de
caracteres numéricos manuscritos. Para ello se dispone de una
matriz de 2000 x 784. Las 2000 filas corresponden a 2000 dígitos
manuscritos diferentes y las 784 columnas corresponden a los
distintos valores de intensidad de gris de los 28x28 (784) píxeles
que representan a un dígito. Además, se dispone de otra matriz de
2000 x 1 relacionada directamente con la anterior donde se
especifica, en la misma posición, el dígito asociado al dígito
manuscrito (x_entrenamiento e y_entrenamiento corresponden,
respectivamente, a estas matrices explicadas).
Para la consecución de este análisis se ha utilizado el programa
MATLAB y su función kmeans explicada anteriormente, que
utiliza por defecto la distancia euclídea.
Inicialmente se han calculado los k centroides del conjunto de
muestras de entrenamiento de modo que se han obtenido k
conjuntos de datos o clusters (Representado en la figuras 3 y 4).
5
10
15
20
25
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
comprobar el número de veces que se equivoca nuestro algoritmo
de clustering.
A continuación se muestra una gráfica con la comparación entre
los errores de test y los de entrenamiento. Como era de esperar,
puesto que los clusters se hicieron para las muestras de
entrenamiento, el error es menor (en verde) y, además, para
valores de k pequeños el error es mucho mayor ya que junta
varios dígitos en un mismo centroide provocando errores mayores
a la hora de realizar la clasificación.
510152025
Figura 3. Representación gráfica de los 5 centroides (para k=5)
Evolución del error de clasificación
0.5
5
10
15
20
25
510152025
5
10
15
20
25
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
510152025
0.45
error de clasificación en los conjuntos de entrenamiento
error de clasificación en los conjuntos de test
0.4
510152025
5
10
15
20
25
510152025
5
10
15
20
25
5
10
15
20
25
510152025
5
10
15
20
25
510152025
5
10
15
20
25
510152025
Error de clasifiación
5
10
15
20
25
0.35
0.3
0.25
0.2
10
15
20
25
30
35
510152025
Figura 4. Representación gráfica de los 15 centroides (para
k=15)
40
45
50
55
60
k
Figura 5. Comparación error de test y entrenamiento
3.2 Análisis con Weka
Con dichas figuras se puede concluir que para un valor de k bajo
(menor que 10 en este caso, correspondientes a los 10 números a
identificar) obtenemos una secuencia de centroides que no define
con exactitud cada dígito (concentrando varios dígitos en un
mismo centroide). Por ejemplo para el primer centroide
representado en la ejecución del k-medias con k=5, observamos
como muestras correspondientes a los dígitos 3, 8 y 5 están
concentrados en torno a ese centroide visualizándose una
superposición de los mismos.
Sin embargo para valores de k mayores (Figura 4), tenemos la
representación de un mismo dígito por varios centroides.
El siguiente paso en el análisis sería la construcción del
clasificador mediante las matrices de entrenamiento (x e y),
fijando a cada centroide el dígito que más muestras tiene asignado
a dicho centroide (mediante las 2000 muestras y calculando la
distancia a todos los centroides).
Identificados los centroides con las muestras de entrenamiento, es
momento de utilizar los dígitos manuscritos a evaluar (x_test e
y_test) que podrían provenir, por ejemplo, de una aplicación de
reconocimiento de caracteres manuscritos de un escáner.
Posteriormente se obtiene el centroide que está situado a la
mínima distancia para cada muestra a evaluar y con el clasificador
obtenido anteriormente se determina cuál es el dígito
correspondiente. Además, gracias a la matriz y_test, podremos
Posteriormente se procedió a la conversión manual de los datos de
Matlab a archivos con extensión .arff para poder trabajar con ellos
en Weka.
Para ello se crearon dos archivos. El primero se denomina
x_entrenamiento.arff que contiene 784 atributos de valor
numérico, los cuales respresentan los 784 píxeles provenientes de
la imagen digitalizada del dígito manuscrito, y un atributo de tipo
objeto con los diez dígitos correspondientes. Además posee 12
instancias de dígitos con sus 784 píxeles y el objeto
correspondiente para realizar el análisis. El segundo archivo se
denomina x_test.arff que posee los mismos atributos que el
anterior pero con únicamente 3 instancias correspondientes a los
dígitos 9, 3 y 2 respectivamente. Notar como al final de la línea de
cada instancia aparece un símbolo “?” en vez del objeto
correspondiente.
Se realizaron dos análisis diferentes:

Classify: Para este apartado se utilizó el algoritmo IBk
con los parámetros por defecto y se mostraron las
predicciones para el conjunto de test, previa
introducción de los datos de entrenamiento. Los
resultados obtenidos fueron los siguientes:
inst#,
actual, predicted
1
?
2:uno
2
?
4:tres
3
?
3:dos
Observamos cómo se predicen correctamente las dos
últimas instancias de los datos de test. Por otro lado,
confunde el 9 con el 1; esto puede ser debido al alto
parecido entre ellos si se escribe el 9 con suma rectitud.

Cluster: En este punto se decidió utilizar la herramienta
de weka para kmeans (SimpleKMeans) modificando los
valores por defecto e introduciendo un número de
clusters k=10 (un cluster por dígito, aunque idealmente,
tal y como veíamos en la figura 5, un número de cluster
de 50 aproximadamente tiene muchos menos errores).
El resultado obtenido por weka fue que sólo consiguió
definir 2 clusters, asignando una instancia de la muestra
de test al primero, y las otras dos instancias al otro
cluster, tal y como aparece a continuación:
Cluster Instance
3
1 (33%)
8
2 (67%)
Debido a la falta de muestras de entrenamiento no
pudimos continuar el análisis de clustering con weka.
Concluimos este apartado con la necesidad de añadir al archivo de
entrenamiento muchas más muestras (como en Matlab, que había
2000), puesto que se pierde mucha precisión en Weka al tener
tantos atributos y tan pocas instancias de entrenamiento.
5. REFERENCIAS
[1] Apuntes de la asignatura de Inteligencia en redes de
comunicaciones. Departamento de Ingeniería Telemática.
Universidad Carlos III de Madrid.
[2] S.J. Vallejos, Minería de datos, 2006
[3] Fayyad, U. M., Piatetsky-Shapiro, G. Smyth, P.,Uhturudsamy,
R. (eds). 1996 Advances in Knowledge Discovery and Data
Mining.
[4] G. R. Fernández, Minería de datos en el sistema de
información educativa caso: educación formal, 2007
[5] Fernández, L. Principios de data mining. Facultad de ciencias
de la Computación 2005
[6]http://es.wikipedia.org/wiki/Minería_de_datos#T.C3.A9cnicas
_de_miner.C3.ADa_de_datos
[7] Análisis de conglomerados de K-Medias, Cap. 21, disponible
en página web:
http://www2.uca.es/serv/ai/formacion/spss/Imprimir/21conglk
.pdf
[8] 2° Taller Latino Iberoamericano de Investigación de
Operaciones, Oct. 2007, disponible en página web:
http://www.tlaio.org.mx/Articulos2doTaller/A47iMSVPonenciaTlaio2Sautto.pdf
[9] http://www.mitecnologico.com/Main/AplicacionesMineriaDeDatos
4. CONCLUSIONES

Las aplicaciones en las que se puede emplear la minería
de datos son muy diversas y están orientadas a todo tipo
de ámbitos.

La identificación de dígitos manuscritos mediante kmeans es muy eficiente siempre y cuando se tengan las
suficientes muestras de entrenamiento para elegir
centroides representativos de cada dígito.

La conclusión anterior es muy importante para aplicar la
herramienta de Weka y obtener resultados precisos.
[10] Análisis de Cluster y Multidimensional Scaling, Tema 5,
disponible en página web:
http://halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/A
Mult/tema5am.pdf
[11] Weka Data Mining Software in Java.
http://www.cs.waikato.ac.nz/ml/weka
[12] Herramienta de MATLAB