Está en la página 1de 3

Universidad Catlica Boliviana La Paz

Minera de Datos
Dra. Alicia Prez Abelleira


DBASE III
Marzo 2014
Limpieza de los datos y preparacin para el modelado
en WEKA
Esta gua ha sido adaptada del curso de Gregory Piatetsky-Shapiro disponible en KDnuggets. El sitio
oficial de Weka (http://www.cs.waikato.ac.nz/ml/weka/) contiene otros conjuntos de datos de
ejemplo y otros recursos y documentacin.

En un prctico anterior trabaj con el subconjunto seleccionado de los primeros 50 genes de un
conjunto de datos sobre leucemia. Ahora trabajar en un contexto ms realista, con un conjunto real
de datos genticos, desde el comienzo del proceso.
Ver que el proceso de minera de datos frecuentemente tiene muchos pequeos pasos que deben
hacerse correctamente para obtener buenos resultados. Aunque parezcan tediosos, merece la pena
llegar a la meta colaborar en un diagnstico temprano para la leucemia y hacerlo correctamente.
A. Obtencin de los datos
Tome el archivo comprimido ALL_AML_datos_originales.zip de la carpeta de Datos y extraiga:
Conjunto de entrenamiento: data_set_ALL_AML_train.txt
Conjunto de prueba: data_set_ALL_AML_independent.txt
Datos sobre muestras y clase: table_ALL_AML_samples.txt
Estos datos proceden del trabajo pionero de Todd Golub et al en MIT: Molecular Classification of
Cancer: Class Discovery and Class Prediction by Gene Expression Monitoring (pdf).
1. Cambie el nombre del archivo de entrenamiento a ALL_AML_gfila.train.orig.txt y del de prueba a
ALL_AML_gfila.test.orig.txt.
Convencin: se usar la misma raz para archivos de tipo similar y diferentes extensiones para
distintas versiones de estos archivos. Aqu orig se refiere a los archivos de entrada originales y
"gfila" significa genes en filas. Usaremos la extensin .tmp para archivos temporales que se usan
normalmente para un solo paso del proceso y pueden eliminarse posteriormente.
Tanto el conjunto de entrenamiento como el de prueba estn separados por TABs y tienen 7130
registros. El conjunto de entrenamiento debera tener 78 campos y el de prueba 70 campos. Los
primeros dos campos son Gene Description (una descripcin larga, como por ejemplo GB DEF =
PDGFRalpha protein) y Gene Accession Number (un nombre corto, como por ejemplo
X95095_at).
Los campos restantes son parejas de nmero de muestra (ej. 1,2, 38) y el call" del chip
Affymetrix (P significa gene est presente, A si est ausente, M si es marginal).

2

Piense en el conjunto de entrenamiento como una tabla muy alta y estrecha con 7130 filas y 78
columnas. Note que desde el punto de vista de la minera de datos est transpuesta. Es decir, los
atributos (genes) estn en filas y las observaciones (muestras o instancias) estn en columnas. Este es
el formato estndar de los datos de microarrays pero para usarlo con algoritmos de aprendizaje
automtico como los de Weka tendremos que trasponer la matriz para obtener archivos que tengan
los genes en columnas y las muestras en filas. Lo haremos en el paso B.6 de este prctico.
Este es un pequeo extracto de los datos:
Gene Description
Gene Accession
Number
1 call 2 call ...
GB DEF = GABAa receptor alpha-3 subunit A28102_at 151 A 263 P ...
... AB000114_at 72 A 21 A ...
... AB000115_at 281 A 250 P ...
... AB000220_at 36 A 43 A ...
B: Limpieza de los datos
Realice los siguientes pasos de limpieza tanto en el conjunto de entrenamiento como de prueba.
Utilice las herramientas que le parezcan ms convenientes y familiares (puede usar herramientas de
Unix, scripts o Excel).

Documente todos los pasos y cree archivos intermedios para cada paso. Despus de cada paso,
informe sobre el nmero de campos y de registros en los archivos de entrenamiento y de prueba.
Pasos de limpieza de los datos de microarrays
1. Elimine los registros iniciales en que Gene Description contiene control. (Son controles del
chip Affymetrix, no genes humanos). Llame a los archivos resultantes
ALL_AML_gfila.train.noaffy.tmp y ALL_AML_gfila.test.noaffy.tmp
Cuntos hay en cada archivo?
2. Elimine el primer campo (descripcin larga) y los campos call, es decir, conserve los campos
numerados 2,3,5,7,9
3. Cambie "Gene Accession Number" a "ID" en el primer registro.
(Nota: Esto evitar problemas posibles para algunas herramientas de minera de datos con
espacios en blanco en los nombres de atributo).
4. Normalice los datos de la siguiente forma: para cada valor, ponga el valor mnimo del campo a
20 y el mximo a 16.000, es decir, reemplace los valores menores a 20 por 20 y anlogamente
con el mximo. (Nota: los bilogos consideraron que los valores menores que 20 o mayores que
16000 eran poco fiables en este experimento).
Llame a los archivos generados as: ALL_AML_gfila.train.norm.tmp y
ALL_AML_gfila.test.norm.tmp
5. Extraiga del archivo table_ALL_AML_samples.txt las tablas
ALL_AML_idclass.train.txt y ALL_AML_idclass.test.txt con ids y etiquetas de muestras,
separadas por comas.
Aada una fila de cabecera con ID y Class a cada uno de los archivos.

3

El archivo ALL_AML_idclass.train.txt debera tener 39 registros y dos columnas. El primer
registro (cabecera) tiene ID Class, los siguientes 27 registros tienen clase ALL y los ltimos
tienen clase AML.
ALL_AML_idclass.test.txt debera tener 20 muestras "ALL" y 14 muestras "AML",
entremezcladas.
6. Note que los nmeros de las muestras en los archivos ALL_AML_gfila* estn en un orden
distinto a los de los archivos *idclass*. Cree archivos combinados adecuadamente
ALL_AML_gfila_class.train.csv y ALL_AML_gfila_class.test.csv que tengan ID como el primer
campo, Class como el ltimo, y los campos expresin de gene en medio.
7. Ahora es el momento de transponer los datos, dado que los algoritmos que vamos a utilizar
esperan recibir los atributos en columnas y las instancias en filas. Trasponga el conjunto de
entrenamiento y el de prueba y genere los archivos ALL_AML_gcol_class.test.csv y
ALL_AML_gcol_class.train.csv (gcol significa genes en columnas) o, mejor an, archivos en
formato .arff. Estos archivos deberan tener cada uno 7071 campos, y 39 registros en el conjunto
de entrenamiento train y 35 registros en el de prueba. Pruebe a abrirlos con Weka.
Las versiones antiguas de Excel no permiten ms de 256 columnas, y en este caso tenemos ms
de 7000 campos (atributos). En tal caso puede escribir un pequeo programa (en Java, un script
de shell o una macro de VBA) para trasponer los datos.
C: Construccin de modelos
1. Si no lo ha hecho ya en el paso B7, convierta
ALL_AML_gcol_class.train.csv en ALL_AML_genes.train.arff
ALL_AML_gcol_class.test.csv en ALL_AML_genes.test.arff
2. Usando ALL_AML_genes.train.arff como conjunto de entrenamiento y
ALL_AML_genes.test.arff como conjunto de prueba, construya un modelo usando OneR. Qu
precisin obtiene?

3. Ahora, excluyendo el campo ID, construya modelos usando OneR, NaiveBayes Simple y J4.8
(a) usando slo el conjunto de entrenamiento
(b) usando los conjuntos de entrenamiento y prueba.
Qu modelos y tasas de error obtiene con cada mtodo?
Atencin: puede que algunos de los mtodos no terminen o produzcan errores debido al gran
nmero de atributos de estos datos.

4. Si hay llegado hasta aqu enhorabuena!
Segn su experiencia, diga tres cosas importantes en el proceso de minera de datos.