Полигон алгоритмов/Формат данных задачи

Материал из 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: загрузить архив с примером оформления файлов задачи.