Filtros Weka
1. Discretize (Unsupervised → Attribute → Discretize)
- Descripción: Convierte atributos numéricos en atributos discretos (categorías) dividiendo el rango de valores en intervalos.
- Uso: Ideal para cuando se requiere convertir atributos continuos en categóricos, como en el caso de aplicar algoritmos que funcionan mejor con datos discretos (ej. Naive Bayes).
- Ejemplo: Discretizar un atributo de temperatura que va de 0 a 100 en 10 rangos de igual tamaño.
2. Normalize (Unsupervised → Attribute → Normalize)
- Descripción: Normaliza los valores numéricos para que estén en un rango específico (generalmente entre 0 y 1).
- Uso: Es útil cuando se desea estandarizar los atributos para que tengan el mismo rango de valores, lo que puede mejorar el rendimiento de algunos algoritmos (como KNN, SVM).
- Ejemplo: Si tienes atributos con diferentes escalas (ej. edad de 0 a 100 y salario de 10,000 a 100,000), este filtro los normaliza al mismo rango.
3. Standardize (Unsupervised → Attribute → Standardize)
- Descripción: Estandariza los atributos numéricos para que tengan media cero y desviación estándar uno.
- Uso: Útil para algoritmos que asumen que los datos tienen una distribución normal o cuando los atributos tienen diferentes escalas. Es una alternativa a la normalización.
- Ejemplo: Estandarizar la altura y el peso de personas para tener una media 0 y desviación estándar 1.
4. Remove (Unsupervised → Attribute → Remove)
- Descripción: Elimina uno o más atributos del conjunto de datos.
- Uso: Útil cuando ciertos atributos son irrelevantes para el análisis o aprendizaje, o contienen demasiados valores faltantes.
- Ejemplo: Eliminar un ID único de un dataset que no aporta información útil para el modelo.
5. ReplaceMissingValues (Unsupervised → Attribute → ReplaceMissingValues)
- Descripción: Reemplaza los valores faltantes en un dataset. Los valores numéricos se reemplazan por la media y los categóricos por la moda.
- Uso: Para limpiar datos antes de aplicar un algoritmo de aprendizaje automático, ya que muchos modelos no pueden manejar valores faltantes directamente.
- Ejemplo: Reemplazar valores faltantes en atributos de edad o ingresos.
6. Resample (Unsupervised → Instance → Resample)
- Descripción: Crea una nueva muestra aleatoria del dataset original, con o sin reemplazo.
- Uso: Para equilibrar clases en un dataset (sobre o submuestreo), o generar subconjuntos de datos para validación cruzada o boosting.
- Ejemplo: Si tienes un dataset con clases desbalanceadas, puedes usar resampling para equilibrar la proporción de clases.
7. SMOTE (Supervised → Instance → SMOTE)
- Descripción: Aplica la técnica Synthetic Minority Over-sampling Technique (SMOTE) para generar nuevas instancias sintéticas de la clase minoritaria.
- Uso: Es útil para equilibrar datasets desbalanceados, en particular cuando hay muchas menos instancias de una clase (clase minoritaria) y se desea mejorar la precisión del modelo en esa clase.
- Ejemplo: Aumentar artificialmente el número de instancias de una clase “fraude” en un dataset de transacciones bancarias.
8. RemoveUseless (Unsupervised → Attribute → RemoveUseless)
- Descripción: Elimina los atributos que no aportan información útil, como aquellos con solo un valor (sin variabilidad).
- Uso: Útil para reducir el número de atributos cuando hay algunos que no aportan variabilidad y, por lo tanto, no son relevantes para el análisis.
- Ejemplo: Si un atributo es constante (ej. todo el mundo tiene la misma respuesta para ese atributo), el filtro lo elimina.
9. PrincipalComponents (Unsupervised → Attribute → PrincipalComponents)
- Descripción: Realiza análisis de componentes principales (PCA) para reducir la dimensionalidad del dataset.
- Uso: Se usa cuando hay muchos atributos, algunos de los cuales pueden ser redundantes. PCA transforma los atributos originales en un número menor de componentes principales que aún explican la mayor parte de la variabilidad en los datos.
- Ejemplo: Usar PCA en un dataset de 100 atributos para reducirlo a 10 componentes principales.
10. NominalToBinary (Unsupervised → Attribute → NominalToBinary)
- Descripción: Convierte los atributos categóricos (nominales) en variables binarias (dummy variables).
- Uso: Esto es útil cuando se desea usar un algoritmo que solo maneja datos numéricos, ya que las variables categóricas no son interpretadas de manera directa.
- Ejemplo: Convertir un atributo
Color
con valoresRojo, Verde, Azul
en tres columnas binarias:Color_Rojo
,Color_Verde
,Color_Azul
.
11. StringToWordVector (Unsupervised → Attribute → StringToWordVector)
- Descripción: Convierte atributos de tipo texto en vectores de palabras, utilizando técnicas como TF-IDF.
- Uso: Se utiliza para convertir datos textuales en representaciones numéricas que puedan ser utilizadas por algoritmos de aprendizaje automático.
- Ejemplo: Convertir reseñas de productos en vectores de palabras para clasificación de sentimientos.
12. FilteredClassifier (Supervised → Attribute → FilteredClassifier)
- Descripción: Permite aplicar un filtro de preprocesamiento automáticamente antes de entrenar un clasificador.
- Uso: Útil cuando se desea aplicar un filtro específico y entrenar un modelo en un solo paso, en lugar de hacerlo por separado.
- Ejemplo: Aplicar el filtro
Standardize
y entrenar un clasificador comoJ48
en una sola operación.
13. NumericToNominal (Unsupervised → Attribute → NumericToNominal)
- Descripción: Convierte atributos numéricos en nominales (categóricos).
- Uso: Se utiliza cuando se desea tratar los valores numéricos como categorías, en lugar de como números continuos.
- Ejemplo: Convertir la edad de una persona (numérica) en rangos como
Joven, Adulto, Anciano
.
14. Reorder (Unsupervised → Attribute → Reorder)
- Descripción: Cambia el orden de los atributos en el dataset.
- Uso: Útil cuando el orden de los atributos es importante, por ejemplo, cuando se desea que un atributo en particular sea el primero o el último.
- Ejemplo: Mover el atributo de clase al final de un dataset.
15. Add (Unsupervised → Attribute → Add)
- Descripción: Añade un nuevo atributo con valores constantes o calculados.
- Uso: Se usa cuando se necesita incluir un nuevo atributo en el dataset, como una columna que representa una operación entre otros atributos o un valor constante.
- Ejemplo: Añadir una columna con la suma de dos atributos existentes.