Полигон алгоритмов/Формат данных задачи
Материал из MachineLearning.
Задачи в формате системы «Полигон» представляют собой набор .csv-файлов. Разделителем служит точка с запятой (;). Пропуск или пусто поле --- двумя подряд идущими разделителями. Например, если в строке есть значения 3, пропуск и 4, то строка в .csv-файле будет выглядеть так: «3;;4». Не все данные для задачи являются необходимыми. Обязательные файлы --- это матрица объекты-признаки и вектор значений. Все остальные данные --- необязательные. Необязательные файлы отмечены (*).
Содержание |
Общая информация/Index.csv(*)
Информация о задаче. Файл может лежать в архиве, передаваемом системе. В первой строке записан размер данных задачи <Число_объектов>;<Число_признаков>. В следующих строках указано расположение прочей информации о задаче. В первой ячейке строки идет имя информации, во второй и последующих --- сама информация.
Имя | Ожидаемые значения во второй ячейке строки |
---|---|
Objects | Имя файла, в котором лежит матрица объекты-признаки задачи. По умолчанию это файл Objects.csv |
Target | Имя файла, в котором лежат данные целевого признака. По умолчанию это файл Target.csv |
PropertyTypes | Имя файла, в котором лежит информация о типах признаков. По умолчанию это файл PropertyTypes.csv |
PropertyNames | Имя файла, в котором лежат имена признаков задачи. По умолчанию это файл PropertyNames.csv |
NominalsDescription | Имя файла, в котором лежат описания номинальных признаков задачи. По умолчанию это файл NominalsDescription.csv |
BadClass | Метка выделенного («плохого») класса. Относительно этого класса рассчитываются некоторые показатели в системе. |
Данные/Objects.csv
Матрица объекты-признаки. Так как это матрица, то число ячеек в каждой строке должно быть постоянным и равно числу признаков. Число строк должно совпадать с числом объектов. Не нужно оставлять в этом файле имена колонок-признаков их нужно вынести в PropertyNames. В ячейках могут находиться пропуски, дробные числа (для числовых признаков, десятичный разделитель — точка), целые числа (числовые и номинальные признаки) или строки (только для номинальных признаков). Размер матрицы N на M.
Целевой вектор/Target.csv
Столбец размером N. Может содержать целые числа или строки. Не может содержать пропусков.
Типы признаков/PropertyTypes.csv(*)
Столбец размером M. Каждая строка должна быть равна одному из 4-х значений «NUM», «ORD», «NOM», «BIN». Не может содержать пропусков.
Тип признака | Описание |
---|---|
NUM | Числовой признак, например: доход, возраст, рост, вес. |
ORD | Номинальный, упорядоченный признак. Число значений данного признака конечно, все значения целые. На значениях признака определен естественный для чисел порядок. |
NOM | Номинальный признак имеет конечное число значений. Значения признака не сравнимы друг с другом. Пример номинального признака: пол. |
BIN | Бинарный признак. Да/нет, true/false. В матрице должен быть 1/0 соответственно. |
Имена признаков/PropertyNames.csv(*)
Столбец длинны M. Состоит из строк, каждая строка --- имя признака. Порядок строк должен соответствовать порядку признаков в матрице Objects.
Описание значений номинальных признаков/NominalsDescription.csv(*)
Каждая строка соответствует одному номинальному признаку. В первой ячейке должно идти имя признака совпадающее с именем признака в PropertyNames. Формат оставшихся ячеек в строке такой: <число>:<строка>, где число — одно из чисел стоящее в соответствующей данному признаку колонке в Objects, строка — пользовательское представление данного значения.
Данное описание может отсутствовать для некоторых признаков, если в матрице Objects вместо чисел стоят строки с пользовательскими представлениями в колонке соответствующей данному признаку.
Пример
TODO: загрузить архив с примером оформления файлов задачи.