Come affrontare la competizione num.ai con predittori numerici in scala anonima?


9

Numer.ai è in circolazione da un po 'di tempo e sembrano esserci solo pochi post o altre discussioni al riguardo sul web.

Il sistema è cambiato di volta in volta e la configurazione oggi è la seguente:

  1. treno (N = 96K) e test (N = 33K) dati con 21 caratteristiche con valori continui in [0,1] e un obiettivo binario.
  2. I dati sono puliti (senza valori mancanti) e aggiornati ogni 2 settimane. Puoi caricare le tue previsioni (sul set di test) e vedere la perdita del registro. Parte dei dati del test sono persino dati in tempo reale e vieni pagato per buone previsioni.

Di cosa vorrei discutere:

Dato che le funzionalità sono totalmente anonime, penso che non ci sia molta ingegneria delle funzionalità che possiamo fare. Quindi il mio approccio è molto meccanico:

  1. ispirato da questo utilizzo un algoritmo di classificazione per filtrare quei dati di allenamento che si adattano meglio ai miei dati di test.
  2. Capire un po 'di preelaborazione
  3. addestrare simpatici algoritmi di classificazione
  4. costruisci gruppi di essi (accatastamento, ..).

La domanda concreta:

Per quanto riguarda il passaggio 1: hai esperienza con un simile approccio? Diciamo che ordino la probabilità che i campioni di treno appartengano al test (di solito inferiore a 0,5) e quindi prendo le maggiori probabilità K. Come sceglieresti K? Ho provato con 15K .. ma principalmente per avere un piccolo set di dati di allenamento per velocizzare l'allenamento nel passaggio 3.

Per quanto riguarda il passaggio 2: i dati sono già su una scala 0,1. Se applico una trasformazione lineare (simile a PCA), spezzerei questa scala. Cosa proveresti nella preelaborazione se disponi di tali dati numerici e non hai idea che ciò sia effettivamente.

PS: Sono consapevole del fatto che, poiché numer.ai paga la gente che discute di questo, potrebbe aiutarmi a fare soldi. Ma dato che è pubblico, questo aiuterebbe chiunque là fuori ...

PPS: la classifica di oggi ha un modello interessante: i primi due con perdita di log di 0,64xx, quindi numero 3 con 0,66xx e quindi la maggior parte dei predittori raggiunge 0,6888x.

Quindi sembra che ci sia un top field molto piccolo e molti ragazzi di moderato successo (incluso me).

Risposte:


2

Ho esaminato l'approccio e selezionerei K provando un intervallo, cioè 5k, 10k, 15k ecc. E quindi esplorando l'intervallo in cui cade il risultato migliore, diciamo che il migliore è 15k, quindi potrei fare 13, 14, 15, 16, 17 e così via.

Finora non ho trovato nessuna pre-elaborazione efficace.

Rispondere al commento:

Ho provato a usare LogisticRegression, SVM, Neural Networks, RandomForests, Multinomial NB, Extra Trees. Tutti tranne Neural Networks che utilizzano le implementazioni in sklearn. PyBrain per la NN.


Forse puoi aggiungere qualche dettaglio in più? Sì, proviamo dati di allenamento di varie dimensioni. Quale preelaborazione hai provato? quali classificatori? Grazie!
Richard,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.