Что такое формат файла ARFF?
Файл .arff является родным форматом наборов данных для среды машинного обучения Weka, разработанной группой машинного обучения в Университете Уайкато. Он хранит размеченные наборы данных в виде простого текста со структурированным заголовком схемы, что делает его распространенным форматом обмена в академических исследованиях в области машинного обучения.
Файл .arff состоит из двух разделов. Заголовок начинается с @relation (название набора данных), за которым следуют объявления @attribute, определяющие имя и тип каждого признака. Поддерживаемые типы включают NUMERIC, INTEGER, REAL, STRING, DATE (ISO 8601) и номинальный (явный список значений в фигурных скобках {}). Далее следует раздел @data с экземплярами, разделенными запятыми, по одному на строку; пропущенные значения помечаются символом ?. Строки, начинающиеся с %, являются комментариями.
Разреженный вариант использует пары {index value} для многомерных наборов данных, где большинство значений равны нулю - это часто встречается при классификации текстов. Тип атрибута @relational поддерживает вложенные поднаборы данных для обучения на нескольких экземплярах.
Несмотря на свой возраст, .arff широко поддерживается за пределами Weka: Python читает его через scipy.io.arff.loadarff(), R обрабатывает его с помощью пакета foreign, и многие инструментарии ML принимают его в качестве формата обмена. Для более богатых метаданных и весов отдельных экземпляров преемником является формат .xrff на базе XML, хотя .arff и .csv остаются более распространенными на практике.
Безопасность и защита
РИСК: LOWТекстовый файл данных; не содержит исполняемого контента. Безопасно открывать в любом текстовом редакторе. Weka обрабатывает его в песочнице JVM.
Детали формата
в двух словахПрограммы, открывающие файлы ARFF
Технические подробности
глубокая спецификация| Кодировка | Простой текст (исторически ASCII; UTF-8 в современной Weka) |
| Структура файла | Заголовок (объявления @relation + @attribute), за которым следует раздел @data |
| Типы атрибутов | NUMERIC, INTEGER, REAL, STRING, DATE, NOMINAL (список значений в фигурных скобках), RELATIONAL |
| Токен пропущенного значения | ? представляет любое пропущенное значение в разделе @data |
| Синтаксис комментариев | Строки, начинающиеся с %, являются комментариями; разрешены в любом месте файла |
| Разреженный вариант ARFF | Пары {index value} в разделе @data для многомерных разреженных наборов данных |
| Формат атрибута даты | Строки даты/времени ISO 8601 в объявлениях атрибутов DATE |
| Поддержка вложенных данных | Тип атрибута @relational кодирует поднаборы данных для обучения на нескольких экземплярах |
| MIME-тип | text/plain (выделенный MIME-тип не зарегистрирован) |
| Типичный размер файла | 1 КБ - 500 МБ (эталонные наборы данных обычно 1-50 МБ) |
| Поддержка Python | scipy.io.arff.loadarff() в SciPy; отдельный пакет arff на PyPI |
| Поддержка R | read.arff() в пакете foreign |
| Преемник на базе XML | Формат XRFF добавляет веса экземпляров и более богатые метаданные набора данных |
| Платформа | Кроссплатформенный: Windows, Linux, macOS |
| Выпущен | 1993 (Weka project, University of Waikato) |
| Последняя версия | ARFF with relational attributes (Weka 3.x, extended ~2005) |
| Открыть стандартное | Да · без роялти |
| Спецификация | waikato.github.io |
Конвертации ARFF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах ARFF.
Часто задаваемые вопросы
Как открыть файл ARFF?
scipy.io.arff.loadarff() или пакет arff.