Як підійти до змагань 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.64xx, потім номер 3 з 0.66xx, а потім більшість прогнозів досягає 0.6888x.

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

Відповіді:


2

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

Поки що я не визнав ефективним попередню обробку.

Відповідаючи на коментар:

Я спробував використовувати LogisticRegression, SVM, Neural Networks, RandomForests, Multinomial NB, Extra Trees. Усі, за винятком нейронних мереж, що використовують реалізації у sklearn. PyBrain для NN.


Можливо, ви можете додати ще кілька деталей? Так, ми намагаємось навчальних даних різного розміру. Яку попередню обробку ви пробували? які класифікатори? Дякую!
Річард
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.