Олимпиадный тренинг

Задача . 7. Пять новых признаков


Задача

Темы:

Пять новых признаков

Для каждого объекта известны 20 числовых признаков x_00, x_01, …, x_19. Требуется предсказать класс объекта — 0 или 1.

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

Данные
  • train.csv — исходные признаки и правильный класс в столбце target;
  • test.csv — исходные признаки объектов, классы которых скрыты;
  • sample_features.json — пример структуры ответа.

Столбец row_id — идентификатор объекта; использовать его в формулах нельзя.

Формат ответа

Загрузите файл features.json с описаниями выбранных формул:

{
  "features": [
    {"name": "f_0", "op": "mul", "left": "x_05", "right": "x_14"},
    {"name": "f_1", "op": "sub", "left": "x_08", "right": "x_17"}
  ]
}

Пример показывает формат и не является готовым решением.

Каждая формула применяется отдельно к каждой строке. Поля left и right содержат имена исходных столбцов или числа. Разрешены операции:

  • add — сложение;
  • sub — вычитание правого операнда из левого;
  • mul — умножение;
  • div — деление левого операнда на правый;
  • min — минимум;
  • max — максимум.

При делении на число с модулем меньше 10−12 результат равен нулю. Имена новых признаков должны быть уникальны и начинаться с f_. Использовать в формулах target и другие новые признаки нельзя.

Проверка

Чекер добавляет ваши признаки к исходным 20 столбцам и обучает своё детерминированное дерево глубины не более 4 с минимумом 30 объектов в листе.

Ответ засчитывается, если ROC-AUC на скрытой выборке не ниже 0,95. Можно предложить меньше пяти признаков.

Сдавать нужно только JSON с формулами. Вычислять предсказания для test.csv и отправлять код не требуется.


Статистика успешных решений по компиляторам
Комментарий учителя