Co to jest format pliku ARFF?
Plik .arff to natywny format zbiorów danych dla środowiska uczenia maszynowego Weka, opracowany przez Machine Learning Group na University of Waikato. Przechowuje on etykietowane zbiory danych jako zwykły tekst ze strukturalnym nagłówkiem schematu, co czyni go powszechnym formatem wymiany w akademickich badaniach nad uczeniem maszynowym.
Plik .arff składa się z dwóch sekcji. Nagłówek zaczyna się od @relation (nazwa zbioru danych), po którym następują deklaracje @attribute definiujące nazwę i typ każdej cechy. Obsługiwane typy to NUMERIC, INTEGER, REAL, STRING, DATE (ISO 8601) oraz nominalny (jawna lista wartości w nawiasach klamrowych {}). Następnie występuje sekcja @data z instancjami oddzielonymi przecinkami, po jednej w linii; brakujące wartości są oznaczane znakiem ?. Linie zaczynające się od % są komentarzami.
Wariant rzadki (sparse) używa par {index value} dla wielowymiarowych zbiorów danych, w których większość wartości to zero - co jest powszechne w klasyfikacji tekstu. Typ atrybutu @relational obsługuje zagnieżdżone podzbiory danych dla uczenia wieloinstancyjnego.
Pomimo swojego wieku, .arff jest szeroko wspierany poza programem Weka: Python odczytuje go poprzez scipy.io.arff.loadarff(), R obsługuje go za pomocą pakietu foreign, a wiele zestawów narzędzi ML akceptuje go jako format wymiany. Następcą oferującym bogatsze metadane i wagi dla poszczególnych instancji jest oparty na XML format .xrff, choć w praktyce .arff i .csv pozostają bardziej powszechne.
Bezpieczeństwo
RYZYKO: LOWPlik danych w formacie zwykłego tekstu; brak zawartości wykonywalnej. Bezpieczny do otwarcia w dowolnym edytorze tekstu. Weka przetwarza go w piaskownicy JVM.
Szczegóły formatu
w pigułceProgramy otwierające pliki ARFF
Szczegóły techniczne
specyfikacja| Kodowanie | Zwykły tekst (historycznie ASCII; UTF-8 w nowoczesnej wersji Weka) |
| Struktura pliku | Nagłówek (deklaracje @relation + @attribute), a następnie sekcja @data |
| Typy atrybutów | NUMERIC, INTEGER, REAL, STRING, DATE, NOMINAL (lista wartości w nawiasach klamrowych), RELATIONAL |
| Token brakującej wartości | ? reprezentuje dowolną brakującą wartość w sekcji @data |
| Składnia komentarzy | Linie zaczynające się od % są komentarzami; dozwolone w dowolnym miejscu pliku |
| Wariant rzadki ARFF | Pary {index value} w sekcji @data dla wielowymiarowych rzadkich zbiorów danych |
| Format atrybutu daty | Ciągi daty/godziny ISO 8601 w deklaracjach atrybutów DATE |
| Obsługa danych zagnieżdżonych | Typ atrybutu @relational koduje podzbiory danych dla uczenia wieloinstancyjnego |
| Typ MIME | text/plain (brak zarejestrowanego dedykowanego typu MIME) |
| Typowy rozmiar pliku | 1 KB - 500 MB (zbiory wzorcowe zazwyczaj 1-50 MB) |
| Wsparcie dla Python | scipy.io.arff.loadarff() w SciPy; samodzielny pakiet arff w PyPI |
| Wsparcie dla R | read.arff() w pakiecie foreign |
| Następca oparty na XML | Format XRFF dodaje wagi instancji i bogatsze metadane zbioru danych |
| Platforma | Wieloplatformowy: Windows, Linux, macOS |
| Wydano | 1993 (Weka project, University of Waikato) |
| Najnowsza wersja | ARFF with relational attributes (Weka 3.x, extended ~2005) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | waikato.github.io |
Konwersje ARFF
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki ARFF.
Najczęściej zadawane pytania
Jak otworzyć plik ARFF?
scipy.io.arff.loadarff() lub pakiet arff.