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

Материал из MachineLearning.

Перейти к: навигация, поиск
Основная статья: Полигон алгоритмов

Задачи в формате системы «Полигон» представляют собой набор .csv-файлов. Разделителем служит точка с запятой (;). Пропуск или пусто поле --- двумя подряд идущими разделителями. Например, если в строке есть значения 3, пропуск и 4, то строка в .csv-файле будет выглядеть так: «3;;4». В качестве разделителя дробной и целой части числа используется запятая («,»).

Не все данные для задачи являются необходимыми. Обязательные файлы --- это матрица объекты-признаки и вектор значений целевого признака. Все остальные данные --- необязательные. Необязательные файлы отмечены (*).

Содержание

Общая информация/Index.csv(*)

Информация о задаче. Файл может лежать в архиве, передаваемом системе. В первой строке записан размер данных задачи <Число_объектов>;<Число_признаков>. В следующих строках указано расположение прочей информации о задаче. В первой ячейке строки идет имя информации, во второй и последующих --- сама информация.

Имя Ожидаемые значения во второй ячейке строки
Objects Имя файла, в котором лежит матрица объекты-признаки задачи. По умолчанию это файл Objects.csv
Target Имя файла, в котором лежат данные целевого признака. По умолчанию это файл Target.csv
PropertyDesciption Имя файла, в котором лежит информация о признаках. По умолчанию это файл PropertyDescription.csv
Loss Имя файла, в котором лежит информация о ценах ошибок. По умолчанию это файл Loss.csv
Weights Имя файла, в котором лежит информация о весах объектов. По умолчанию это файл Weights.csv
MajorClass Метка выделенного (важного) класса. Относительно этого класса рассчитываются некоторые показатели в системе.

Данные/Objects.csv

Матрица объекты-признаки. Так как это матрица, то число ячеек в каждой строке должно быть постоянным и равно числу признаков. Число строк должно совпадать с числом объектов. Не нужно оставлять в этом файле имена колонок-признаков их нужно вынести в PropertyNames. В ячейках могут находиться пропуски, дробные числа (для числовых признаков, десятичный разделитель — точка), целые числа (числовые и номинальные признаки) или строки (только для номинальных признаков). Размер матрицы N на M.

Целевой вектор/Target.csv

Столбец размером N. Может содержать целые числа или строки. Не может содержать пропусков.

Описание признаков/PropertyDesciption.csv(*)

M+1 строка с ячейками. Первые M строк - описание признаков из матрицы Objects, последняя, M+1-ая, строка -- описание целевого признака. Формат строк следующий:

<Имя признака>; <Тип признака>[; <Подробное описание признака>[; <Список значений для номинального признака>]]

Имя признака

Тестовое поле, рекомендуемая длина не более 20 символов. Это обязательное поле

Тип признака

Может быть одним из следующих 4-х значений: «NUM», «ORD», «NOM», «BIN». Это обязательное для заполнения поле.

Тип признака Описание
NUM Числовой признак, например: доход, возраст, рост, вес.
ORD Номинальный, упорядоченный признак. Число значений данного признака конечно, все значения целые. На значениях признака определен естественный для чисел порядок.
NOM Номинальный признак имеет конечное число значений. Значения признака не сравнимы друг с другом. Пример номинального признака: пол.
BIN Бинарный признак. Да/нет, true/false. В матрице должен быть 1/0 соответственно.

Подробное описание признака

Текстовое поле. Здесь можно подробно описать суть признака, способ его измерения.

Список значений для номинальных признаков

Формат ячеек в строке такой: <число>:<строка>, где число — одно из чисел стоящее в соответствующей данному признаку колонке в Objects, строка — пользовательское представление данного значения.

Данное описание может отсутствовать для некоторых номинальных признаков, если в матрице Objects вместо чисел стоят строки с пользовательскими представлениями в колонке соответствующей данному признаку.

Матрица цен ошибок/Loss.csv(*)

Матрица размером <Число классов> на <Число классов>. В ячейке с индексами (i, j) стоит штраф, который назначается алгоритму если он выдал решение j, на i-ом классе.

Вектор весов/Weights.csv(*)

Вектор длинны N. Отражает важность объектов при решении задачи. Состоит из чисел, не должен иметь пропусков.

Пример

TODO: загрузить архив с примером оформления файлов задачи.


См. также