practica mineria de datos 2

Upload: sergio-pacajes

Post on 16-Oct-2015

27 views

Category:

Documents


0 download

TRANSCRIPT

Data Preprocessing in WEKA

Universidad Catlica Boliviana La PazMinera de DatosDra. Alicia Prez Abelleira

DBASE IIIMarzo 2014Limpieza de los datos y preparacin para el modelado en WEKAEsta 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 datosTome 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). 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 DescriptionGene Accession Number1call2 call...

GB DEF = GABAa receptor alpha-3 subunitA28102_at151A263P ...

... AB000114_at72 A21 A ...

... AB000115_at281A250P ...

... AB000220_at36 A43 A ...

B: Limpieza de los datosRealice 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 microarrays1. 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. 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 modelos1. 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.

3