Wie gehe ich mit anonym skalierten numerischen Prädiktoren an den Wettbewerb numer.ai heran?

9

Numer.ai gibt es schon eine Weile und es scheint nur wenige Beiträge oder andere Diskussionen darüber im Web zu geben.

Das System hat sich von Zeit zu Zeit geändert und ist heute wie folgt eingerichtet:

  1. Zugdaten (N = 96K) und Testdaten (N = 33K) mit 21 Merkmalen mit kontinuierlichen Werten in [0,1] und einem binären Ziel.
  2. Die Daten sind sauber (keine fehlenden Werte) und werden alle 2 Wochen aktualisiert. Sie können Ihre Vorhersagen (auf dem Testsatz) hochladen und den Protokollverlust anzeigen. Ein Teil der Testdaten sind sogar Live-Daten, und Sie werden für gute Vorhersagen bezahlt.

Was ich diskutieren möchte:

Da die Funktionen völlig anonym sind, denke ich, dass wir nicht viel Feature-Engineering durchführen können. Mein Ansatz ist also sehr mechanisch:

  1. Inspiriert davon verwende ich einen Klassifizierungsalgorithmus, um die Trainingsdaten herauszufiltern, die am besten zu meinen Testdaten passen.
  2. Finde eine schöne Vorverarbeitung heraus
  3. trainiere nette Klassifizierungsalgorithmen
  4. baue Ensembles von ihnen (Stapeln, ..).

Die konkrete Frage:

Zu Schritt 1: Haben Sie Erfahrung mit einem solchen Ansatz? Angenommen, ich ordne die Wahrscheinlichkeit, dass Zugproben zum Test gehören (normalerweise unter 0,5), und nehme dann die größten K-Wahrscheinlichkeiten. Wie würden Sie K wählen? Ich habe mit 15K versucht .. aber hauptsächlich einen kleinen Trainingsdatensatz zu haben, um das Training in Schritt 3 zu beschleunigen.

Zu Schritt 2: Die Daten liegen bereits auf einer 0,1-Skala. Wenn ich eine (PCA-ähnliche) lineare Transformation anwende, würde ich diese Skala durchbrechen. Was würden Sie bei der Vorverarbeitung versuchen, wenn Sie solche numerischen Daten haben und keine Ahnung haben, dass dies tatsächlich der Fall ist?

PS: Ich bin mir bewusst, dass ich, wenn numer.ai die Leute bezahlt, die darüber diskutieren, etwas Geld verdienen kann. Aber da dies öffentlich ist, würde dies jedem da draußen helfen ...

PPS: Die heutige Rangliste weist ein interessantes Muster auf: Die ersten beiden mit einem Logverlust von 0,64xx, dann die Nummer 3 mit 0,66xx und die meisten Prädiktoren erreichen 0,6888x.

Somit scheint es ein sehr kleines Spitzenfeld und viele mäßig erfolgreiche Leute (einschließlich mir) zu geben.

Richard
quelle

Antworten:

2

Ich habe mir den Ansatz angesehen und K ausgewählt, indem ich einen Bereich ausprobiert habe, dh 5k, 10k, 15k usw., und dann den Bereich erkundet habe, in den das beste Ergebnis fällt. Sagen wir, das Beste ist 15k, dann könnte ich 13, 14 machen. 15, 16, 17 und so weiter.

Bisher habe ich keine Vorverarbeitung als effektiv befunden.

Beantwortung des Kommentars:

Ich habe versucht, LogisticRegression, SVM, Neuronale Netze, RandomForests, Multinomial NB, Extra Trees zu verwenden. Alle außer Neuronalen Netzen, die die Implementierungen in sklearn verwenden. PyBrain für den NN.

John
quelle
Vielleicht können Sie weitere Details hinzufügen? Ja, wir versuchen Trainingsdaten in verschiedenen Größen. Welche Vorverarbeitung haben Sie versucht? welche Klassifikatoren? Vielen Dank!
Richard