Hvad er ARFF-filformatet?
En .arff-fil er det oprindelige datasætformat til Weka-maskinlæringsplatformen, udviklet af Machine Learning Group ved University of Waikato. Den gemmer mærkede datasæt som almindelig tekst med en struktureret schema-header, hvilket gør den til et almindeligt udvekslingsformat inden for akademisk maskinlæringsforskning.
En .arff-fil har to sektioner. Headeren begynder med @relation (navngivning af datasættet), efterfulgt af @attribute-erklæringer, der definerer hver egenskabs navn og type. Understøttede typer inkluderer NUMERIC, INTEGER, REAL, STRING, DATE (ISO 8601) og nominel (en eksplicit værdiliste i krøllede parenteser {}). @data-sektionen følger efter med kommaseparerede instanser, én pr. linje; manglende værdier er markeret med ?. Linjer, der begynder med %, er kommentarer.
En sparsom variant bruger {index value}-par til højdimensionelle datasæt, hvor de fleste værdier er nul - almindeligt i tekstklassificering. Attributtypen @relational understøtter indlejrede under-datasæt til multi-instans læring.
Trods sin alder er .arff bredt understøttet udover Weka: Python læser det via scipy.io.arff.loadarff(), R håndterer det med pakken foreign, og mange ML-værktøjssæt accepterer det som et udvekslingsformat. For rigere metadata og vægtning pr. instans er Wekas XML-baserede .xrff efterfølgeren, selvom .arff og .csv fortsat er mere almindelige i praksis.
Sikkerhed og tryghed
RISIKO: LOWDatafil i almindelig tekst; intet eksekverbart indhold. Sikker at åbne i enhver teksteditor. Weka behandler den i en JVM-sandbox.
Formatdetaljer
kort fortaltProgrammer der åbner ARFF-filer
Tekniske detaljer
dyb specifikation| Kodning | Almindelig tekst (historisk ASCII; UTF-8 i moderne Weka) |
| Filstruktur | Header (@relation + @attribute erklæringer) efterfulgt af @data-sektion |
| Attributtyper | NUMERIC, INTEGER, REAL, STRING, DATE, NOMINAL (værdiliste i krøllede parenteser), RELATIONAL |
| Token for manglende værdi | ? repræsenterer enhver manglende værdi i @data-sektionen |
| Kommentarsyntaks | Linjer, der begynder med %, er kommentarer; tilladt overalt i filen |
| Sparsom ARFF-variant | {index value}-par i @data-sektionen til højdimensionelle sparsomme datasæt |
| Dato-attributformat | ISO 8601 dato/tidsstren/t/tidsstempler i DATE-attributerklæringer |
| Understøttelse af indlejrede data | @relational attributtype koder under-datasæt til multi-instans læring |
| MIME-type | text/plain (ingen dedikeret MIME-type registreret) |
| Typisk filstørrelse | 1 KB - 500 MB (benchmark-datasæt er typisk 1-50 MB) |
| Python-understøttelse | scipy.io.arff.loadarff() i SciPy; selvstændig arff-pakke på PyPI |
| R-understøttelse | read.arff() i pakken foreign |
| XML-baseret efterfølger | XRFF-format tilføjer instansvægte og rigere metadata for datasæt |
| Platform | Platformsuafhængig: Windows, Linux, macOS |
| Udgivet | 1993 (Weka project, University of Waikato) |
| Seneste version | ARFF with relational attributes (Weka 3.x, extended ~2005) |
| Åben standard | Ja · royaltyfri |
| Specifikation | waikato.github.io |
ARFF-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om ARFF-filer.
Ofte stillede spørgsmål
Hvordan åbner jeg en ARFF-fil?
scipy.io.arff.loadarff() eller arff-pakken.Hvordan konverterer jeg ARFF til CSV?
@relation / @attribute header-linjerne og beholde @data-sektionen - den er allerede kommasepareret.