faculta de informática. ingeniería informática

Anuncio
FACULTA DE INFORMÁTICA. INGENIERÍA INFORMÁTICA
PRÁCTICAS DE RECONOCIMIENTO DE FORMAS
PRÁCTICA 1. Organización y Visualización de Conjuntos de Datos.
TIEMPO: 2 horas
Introducción
En las Prácticas y Trabajos de la asignatura de Reconocimiento de Formas se utilizarán un
conjunto de datos prácticos, o dataset, obtenidos de la bibliografía y de las bases de datos
públicos de aprendizaje. Estas contienen conjuntos de datos aportados por docentes e
investigadores para probar y comparar algoritmos. Cada dataset está contenido en un fichero
ASCII con la siguiente organización a la que denominaremos como TIPO 1:

La primera línea contiene el número de objetos o muestras de la base de datos.

La segunda línea contiene el número de características o atributos del conjunto de datos.
Todos son de naturaleza numérica.

Cada línea sucesiva contiene un vector de datos numéricos con las características de una
muestra y finaliza con un número entero adicional que es el ordinal de la clase a la que
pertenece la muestra.
En algunos casos no se incluye la información de la clase de la muestra. Esta situación se
presenta en los conjuntos de datos para aprendizaje no supervisado o clustering. Este caso
constituye el TIPO 0.
Los conjuntos de aprendizaje que utilizaremos en el curso son los siguientes. Estarán
localizables en el directorio ii-rf\DataSets:
Iris.- Base de datos clásica en Reconocimiento de Formas correspondiente a tres tipos de flor
de iris (setosa, versicolor, Virginica) definidos por cuatro características (sepal-length,sepalwidth, petal-length, petal-width).
Iris1.- Base de datos obtenida a partir de Iris, donde se han unido dos clases (versicolor y
virginica) de forma que el problema pasa a ser linealmente separable.
Gauss2d.- Base de datos correspondiente a un problema bidimensional con dos clases. Una
clase se distribuye según una normal de media (0.0,0.0) y desviación estándar igual a 1.0 en
las ambas direcciones. La otra clase se distribuye según una normal de media (7.0,7.0) y
desviación estándar 2.0 en cada dimensión.
Gauss2d1.- Base de datos similar a la anterior pero centradas las clases en (0.0,0.0) y en
(4.0,4.0), por lo que existe un cierto solape entre las muestras de las dos clases.
Glass.- Base de datos de la UCI que contine 9 características y 6 clases. Buena para probar
algoritmos de clustering.
Fosil.- Este conjunto de datos consiste en 87 muestras de tres tipos de fósiles caracterizados
por 6 características que se corresponden con diferente medidas morfológicas de los fósiles.
British.- En esta base de datos se incluyen cuatro datos socio-económicos sobre ciudadanos
británicos, que se han agrupado en cuatro categorías. La información sobre las categorías y los
datos no se conocen.
Pima.- Base de datos que contiene muestras que indican la ausencia (clase 1) o presencia
(clase 2) de diabetes en mujeres de la tribu india Pima. La información sobre cada individuo
viene dada por 8 características que incluyen desde resultados de análisis de sangre hasta la
edad.
Muestra1.- Conjunto de muestras para utilizar en comprobación de algoritmos de clustering,
tipo 0, por tener tres grupos claramente diferenciados y pocas muestras. El espacio en este
ejemplo es bidimensional y no contiene la indicación de la clase.
Actividades Propuestas:
1. Construir una función MATLAB de lectura de los ficheros del dataset
DataSet = leedataset(nombre,tipo)
Donde DataSet es una estructura con los siguientes campos de información:
DataSet.nobj:
DataSet.natrib:
DataSet.nclases:
DataSet.frec(i):
DataSet.dato(i,j):
DataSet.clase(i):
número de objetos o muestras del dataset.
número de atributos o características.
número de clases.
frecuencia o número de aparición de muestras de una clase i.
array con el datos del atributo o característica j de un objeto i.
la clase de un objeto i.
El argumento nombre corresponde al fichero del dataset y tipo debe valer 0 para los ficheros
sin clases y 1 para los ficheros con clases. En el primer caso el índice de clase del array de
datos solo tiene un valor como si se tratase de una clase única.
Sugerencias: utilizar las funciones fopen, fscanf y fclose
2. Construir una función MATLAB que presente gráficamente los resultados de distribución de
los datos de un dataset.
Displaydataset(dataset)
Displaydataset2(dataset,x,y)
Displaydataset3(dataset,x,y,z)
La primera función displaydataset presenta en 2D las primeras dos característica del
dataset. La función displaydataset2 presenta en 2D las características que sean especificadas
en sus argumentos mientras que displaydataset3 es análoga pero en 3D.
Sugerencia: Utilizar las funciones plot(x,y,marca)
y plot3(x,y,z,marca), donde
marca es el tipo de signo que se imprime en la posición del datos, por ejemplo ‘ro’ para un
circulo rojo o ‘b*’ para una estrella azul. Para mayor detalle consultar el manual de gráficos en
MATLAB o utilizar el comando help.
3. Con estas herramientas realizar un análisis crítico sobre la “separabilidad” visual de las
clases de algunas bases de datos
Descargar