Pasos de preproceso
El proceso de preprocesamiento de datos en Weka incluye limpieza de datos (Data cleaning), integración de datos (Data integration), transformación de datos (Data transformation) y reducción de datos (Data reduction).
1. Data Cleaning (Limpieza de datos)
Este paso busca mejorar la calidad de los datos eliminando valores faltantes, suavizando datos ruidosos, identificando y eliminando valores atípicos, y resolviendo inconsistencias. En Weka, puedes hacerlo usando filtros. Ejemplos:
Ejemplo 1: Rellenar valores faltantes
- Paso: Carga el dataset en Weka.
- Filtro: Utiliza Filters -> Unsupervised -> Attribute -> ReplaceMissingValues.
- Este filtro rellena los valores faltantes en los atributos. Para atributos numéricos, reemplaza los valores faltantes con la media. Para atributos nominales, reemplaza con el valor más común.
Ejemplo: En el dataset weather.arff, si falta el valor en la columna temperature, Weka lo reemplaza con la media de temperature.
Ejemplo 2: Suavizar datos ruidosos
- Filtro: Aplica técnicas de discretización para suavizar los datos ruidosos.
- Usa Filters -> Unsupervised -> Attribute -> Discretize para convertir un atributo numérico en categorías discretas.
Ejemplo: El atributo temperature puede ser discretizado en rangos como “bajo”, “medio”, y “alto”, lo que puede suavizar las fluctuaciones menores en los datos.
Ejemplo 3: Identificación y eliminación de outliers (valores atípicos)
- Filtro: Utiliza filtros para eliminar valores que estén fuera de un rango.
- Puedes utilizar Filters -> Unsupervised -> Instance -> RemoveWithValues para eliminar valores fuera de ciertos umbrales.
Ejemplo: Si el valor de humidity es mayor de 100% o menor que 0%, puedes utilizar este filtro para eliminar esos registros.
2. Data Integration (Integración de datos)
Este proceso implica combinar datos de múltiples fuentes para obtener un dataset unificado. Aunque Weka no tiene una interfaz específica para integrar bases de datos, puedes hacerlo manualmente al combinar archivos de diferentes fuentes fuera de Weka o importar múltiples datasets.
Ejemplo 4: Integración de datos desde múltiples fuentes
- Si tienes dos archivos CSV o ARFF, uno con datos meteorológicos y otro con información adicional como la ubicación, puedes combinar esos archivos antes de cargarlos en Weka usando herramientas externas como Python o Excel.
Luego, puedes cargar ese dataset integrado en Weka para análisis. La clave en la integración es asegurarte de que los datos compartan un identificador común para combinarse correctamente (como una columna ID).
3. Data Transformation (Transformación de datos)
Este proceso implica modificar los datos para hacerlos más adecuados para el análisis. Incluye normalización, estandarización y discretización.
Ejemplo 5: Normalización de datos
- Filtro: Usa Filters -> Unsupervised -> Attribute -> Normalize.
- Esto convierte los valores numéricos en un rango común, generalmente entre 0 y 1.
Ejemplo: Si el atributo temperature varía entre 10°C y 40°C, normalizarlo lo transformará para que varíe entre 0 y 1, haciendo los valores más comparables con otros atributos.
Ejemplo 6: Estandarización de datos
- Filtro: Aplica Filters -> Unsupervised -> Attribute -> Standardize.
- Esto transforma los valores numéricos en una distribución con media 0 y desviación estándar 1.
Ejemplo: Si el atributo humidity tiene una media de 70% y una desviación estándar de 10%, la estandarización convertirá estos valores a una nueva escala basada en la desviación de la media.
Ejemplo 7: Discretización de datos
- Filtro: Usa Filters -> Unsupervised -> Attribute -> Discretize.
- Esto convierte atributos numéricos en categorías discretas, dividiendo el rango en segmentos definidos.
Ejemplo: El atributo temperature puede ser discretizado en tres categorías: “bajo” (10-20°C), “medio” (21-30°C) y “alto” (31-40°C).
4. Data Reduction (Reducción de datos)
Este paso reduce el tamaño del dataset manteniendo la información más relevante, lo cual puede hacerse mediante selección de atributos o reducción de la dimensionalidad.
Ejemplo 8: Selección de atributos irrelevantes
- Filtro: Usa Filters -> Unsupervised -> Attribute -> Remove.
- Puedes eliminar atributos irrelevantes para reducir el tamaño del dataset.
Ejemplo: En el dataset weather.arff, si decides que el atributo windy no es relevante para el análisis, puedes eliminarlo.
Ejemplo 9: PCA para reducción de dimensionalidad
- Filtro: Usa Filters -> Unsupervised -> Attribute -> PrincipalComponents para aplicar análisis de componentes principales (PCA).
- Esto reduce la dimensionalidad del dataset al convertir los atributos en componentes principales que capturan la mayor varianza.
Ejemplo: Si tienes muchos atributos en un dataset, el filtro PCA puede reducirlos a unos pocos componentes principales que aún capturan la mayoría de la variabilidad en los datos.