Как подойти к конкурсу numer.ai с анонимными масштабированными числовыми предикторами?

9

Numer.ai существует уже какое-то время, и, похоже, в сети только несколько сообщений или других обсуждений.

Время от времени система менялась, и сегодня ее установка такова:

  1. обучающие (N = 96K) и тестовые (N = 33K) данные с 21 признаком с непрерывными значениями в [0,1] и двоичной целью.
  2. Данные чистые (без пропущенных значений) и обновляются каждые 2 недели. Вы можете загрузить свои прогнозы (на тестовом наборе) и увидеть потерю журнала. Часть тестовых данных - это даже живые данные, и вам платят за хорошие прогнозы.

Что я хотел бы обсудить:

Поскольку функции являются полностью анонимными, я думаю, что мы не можем сделать много функций. Так что мой подход очень механический:

  1. Вдохновленный этим, я использую алгоритм классификации, чтобы отфильтровать те тренировочные данные, которые лучше всего соответствуют моим тестовым данным.
  2. Разберитесь с хорошей предварительной обработкой
  3. обучить хорошие алгоритмы классификации
  4. строить из них ансамбли (укладывать, ..).

Конкретный вопрос:

По поводу шага 1: есть ли у вас опыт такого подхода? Допустим, я заказываю вероятность того, что образцы поездов принадлежат тесту (обычно ниже 0,5), а затем беру наибольшую K вероятностей. Как бы вы выбрали K? Я пытался с 15K ... но главным образом иметь небольшой набор данных тренировки, чтобы ускорить обучение на шаге 3.

Относительно шага 2: данные уже в масштабе 0,1. Если бы я применил любое (как PCA) линейное преобразование, то я бы сломал эту шкалу. Что бы вы попробовали в предварительной обработке, если бы у вас были такие числовые данные и вы не знали, что это на самом деле.

PS: я знаю, что, поскольку numer.ai платит, люди, обсуждающие это, могут помочь мне заработать немного денег. Но так как это публично, это помогло бы кому-то там ...

PPS: Сегодняшняя таблица лидеров имеет интересную картину: две верхние с лог-лоссом 0,64хх, затем номер 3 с 0,66хх, а затем большинство предсказателей достигают 0,6888х.

Таким образом, кажется, что очень малая верхняя часть поля и множество умеренно успешных парней (включая меня).

Ричард
источник

Ответы:

2

Я посмотрел на подход и выбрал бы K, попробовав диапазон, то есть 5k, 10k, 15k и т. Д., А затем исследуя диапазон, в котором падает лучший результат, скажем, лучший - 15k, тогда я мог бы сделать 13, 14, 15, 16, 17 и так далее.

До сих пор я не нашел никакой предварительной обработки эффективной.

Отвечая на комментарий:

Я пытался использовать LogisticRegression, SVM, нейронные сети, RandomForests, Multinomial NB, дополнительные деревья. Все, кроме нейронных сетей, использующих реализации в sklearn. PyBrain для NN.

Джон
источник
Может быть, вы можете добавить больше деталей? Да, мы пробуем данные тренировок разных размеров. Какую предварительную обработку вы пробовали? какие классификаторы? Спасибо!
Ричард