Qu'est-ce que le format de fichier ARFF ?
Un fichier .arff est le format de jeu de données natif de l'établi d'apprentissage automatique Weka, développé par le Machine Learning Group de l'University of Waikato. Il stocke des jeux de données étiquetés sous forme de texte brut avec un en-tête de schéma structuré, ce qui en fait un format d'échange courant dans la recherche académique en apprentissage automatique.
Un fichier .arff comporte deux sections. L'en-tête commence par @relation (nommant le jeu de données), suivi des déclarations @attribute définissant le nom et le type de chaque caractéristique. Les types pris en charge incluent NUMERIC, INTEGER, REAL, STRING, DATE (ISO 8601) et nominal (une liste explicite de valeurs entre accolades {}). La section @data suit avec des instances séparées par des virgules, une par ligne ; les valeurs manquantes sont marquées par un ?. Les lignes commençant par % sont des commentaires.
Une variante éparse utilise des paires {index value} pour les jeux de données à haute dimension où la plupart des valeurs sont nulles - courant dans la classification de texte. Le type d'attribut @relational prend en charge les sous-jeux de données imbriqués pour l'apprentissage multi-instances.
Malgré son âge, le format .arff est largement pris en charge au-delà de Weka : Python le lit via scipy.io.arff.loadarff(), R le gère avec le package foreign, et de nombreux kits d'outils ML l'acceptent comme format d'échange. Pour des métadonnées plus riches et des poids par instance, le format .xrff basé sur XML de Weka est le successeur, bien que .arff et .csv restent plus courants en pratique.
Sécurité et sûreté
RISQUE : LOWFichier de données en texte brut ; aucun contenu exécutable. Sûr à ouvrir dans n'importe quel éditeur de texte. Weka le traite dans un bac à sable JVM.
Détails du format
en brefProgrammes qui ouvrent les fichiers ARFF
Détails techniques
spécifications approfondies| Encodage | Texte brut (ASCII historiquement ; UTF-8 dans le Weka moderne) |
| Structure du fichier | En-tête (déclarations @relation + @attribute) suivi de la section @data |
| Types d'attributs | NUMERIC, INTEGER, REAL, STRING, DATE, NOMINAL (liste de valeurs entre accolades), RELATIONAL |
| Jeton de valeur manquante | ? représente toute valeur manquante dans la section @data |
| Syntaxe des commentaires | Les lignes commençant par % sont des commentaires ; autorisées n'importe où dans le fichier |
| Variante ARFF éparse | Paires {index value} dans la section @data pour les jeux de données épars à haute dimension |
| Format d'attribut Date | Chaînes de date/heure ISO 8601 dans les déclarations d'attribut DATE |
| Support des données imbriquées | Le type d'attribut @relational encode des sous-jeux de données pour l'apprentissage multi-instances |
| Type MIME | text/plain (aucun type MIME dédié enregistré) |
| Taille de fichier typique | 1 Ko - 500 Mo (jeux de données de référence couramment entre 1 et 50 Mo) |
| Support Python | scipy.io.arff.loadarff() dans SciPy ; package arff autonome sur PyPI |
| Support R | read.arff() dans le package foreign |
| Successeur basé sur XML | Le format XRFF ajoute des poids d'instance et des métadonnées de jeu de données plus riches |
| Plateforme | Multiplateforme : Windows, Linux, macOS |
| Publié | 1993 (Weka project, University of Waikato) |
| Dernière version | ARFF with relational attributes (Weka 3.x, extended ~2005) |
| Standard ouvert | Oui · libre de droits |
| Spécification | waikato.github.io |
Conversions ARFF
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers ARFF.
Foire aux questions
Comment ouvrir un fichier ARFF ?
scipy.io.arff.loadarff() ou le package arff.