¿Qué es el formato de archivo ARFF?
Un archivo .arff es el formato nativo de conjuntos de datos para el entorno de aprendizaje automático Weka, desarrollado por el Machine Learning Group de la University of Waikato. Almacena conjuntos de datos etiquetados como texto plano con un encabezado de esquema estructurado, lo que lo convierte en un formato de intercambio común en la investigación académica de aprendizaje automático.
Un archivo .arff tiene dos secciones. El encabezado comienza con @relation (que nombra al conjunto de datos), seguido de declaraciones @attribute que definen el nombre y tipo de cada característica. Los tipos admitidos incluyen NUMERIC, INTEGER, REAL, STRING, DATE (ISO 8601) y nominal (una lista explícita de valores entre llaves {}). La sección @data sigue con las instancias separadas por comas, una por línea; los valores faltantes se marcan con ?. Las líneas que comienzan con % son comentarios.
Una variante dispersa (sparse) utiliza pares {index value} para conjuntos de datos de alta dimensión donde la mayoría de los valores son cero, algo común en la clasificación de texto. El tipo de atributo @relational admite subconjuntos de datos anidados para el aprendizaje multi-instancia.
A pesar de su antigüedad, .arff tiene un amplio soporte más allá de Weka: Python lo lee a través de scipy.io.arff.loadarff(), R lo maneja con el paquete foreign y muchos kits de herramientas de ML lo aceptan como formato de intercambio. Para metadatos más ricos y pesos por instancia, el formato .xrff basado en XML de Weka es el sucesor, aunque .arff y .csv siguen siendo más comunes en la práctica.
Seguridad y protección
RIESGO: LOWArchivo de datos en texto plano; sin contenido ejecutable. Seguro de abrir en cualquier editor de texto. Weka lo procesa en un entorno seguro (sandbox) de JVM.
Detalles del formato
en pocas palabrasProgramas que abren archivos ARFF
Detalles técnicos
especificación profunda| Codificación | Texto plano (ASCII históricamente; UTF-8 en Weka moderno) |
| Estructura del archivo | Encabezado (declaraciones @relation + @attribute) seguido de la sección @data |
| Tipos de atributos | NUMERIC, INTEGER, REAL, STRING, DATE, NOMINAL (lista de valores entre llaves), RELATIONAL |
| Token de valor faltante | ? representa cualquier valor faltante en la sección @data |
| Sintaxis de comentarios | Las líneas que comienzan con % son comentarios; permitidos en cualquier lugar del archivo |
| Variante ARFF dispersa | Pares {index value} en la sección @data para conjuntos de datos dispersos de alta dimensión |
| Formato de atributo de fecha | Cadenas de fecha/hora ISO 8601 dentro de las declaraciones de atributos DATE |
| Soporte de datos anidados | El tipo de atributo @relational codifica subconjuntos de datos para aprendizaje multi-instancia |
| Tipo MIME | text/plain (no hay un tipo MIME dedicado registrado) |
| Tamaño de archivo típico | 1 KB - 500 MB (los conjuntos de datos de referencia suelen tener entre 1-50 MB) |
| Soporte de Python | scipy.io.arff.loadarff() en SciPy; paquete arff independiente en PyPI |
| Soporte de R | read.arff() en el paquete foreign |
| Sucesor basado en XML | El formato XRFF añade pesos de instancia y metadatos de conjunto de datos más ricos |
| Plataforma | Multiplataforma: Windows, Linux, macOS |
| Lanzado | 1993 (Weka project, University of Waikato) |
| Última versión | ARFF with relational attributes (Weka 3.x, extended ~2005) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | waikato.github.io |
Conversiones de ARFF
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos ARFF.
Preguntas frecuentes
¿Cómo abro un archivo ARFF?
scipy.io.arff.loadarff() o el paquete arff.