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