Como abordar a competição numer.ai com preditores numéricos em escala anônima?


9

O Numer.ai já existe há algum tempo e parece haver apenas alguns posts ou outras discussões sobre o assunto na web.

O sistema mudou de tempos em tempos e a configuração hoje é a seguinte:

  1. dados de trem (N = 96K) e teste (N = 33K) com 21 características com valores contínuos em [0,1] e um alvo binário.
  2. Os dados estão limpos (sem valores ausentes) e atualizados a cada 2 semanas. Você pode fazer upload de suas previsões (no conjunto de testes) e ver a perda de log. Parte dos dados de teste são dados ativos e você é pago por boas previsões.

O que eu gostaria de discutir:

Como os recursos são totalmente anônimos, acho que não há muita engenharia de recursos que possamos fazer. Portanto, minha abordagem é muito mecânica:

  1. inspirado por isso , uso um algoritmo de classificação para filtrar os dados de treinamento que se ajustam melhor aos meus dados de teste.
  2. Descobrir um bom pré-processamento
  3. treinar bons algoritmos de classificação
  4. construir conjuntos deles (empilhamento, ..).

A questão concreta:

Em relação à etapa 1: você tem experiência com essa abordagem? Digamos que ordene a probabilidade das amostras de trem pertencerem ao teste (geralmente abaixo de 0,5) e, em seguida, tomo as maiores probabilidades de K. Como você escolheria K? Tentei com 15K .. mas principalmente para ter um pequeno conjunto de dados de treinamento para acelerar o treinamento na etapa 3.

Em relação à etapa 2: os dados já estão em uma escala de 0,1. Se eu aplicar qualquer transformação linear (semelhante ao PCA), quebraria essa escala. O que você tentaria no pré-processamento se você tiver esses dados numéricos e não tem idéia do que realmente é.

PS: Estou ciente de que, como o numer.ai paga as pessoas que discutem isso, pode me ajudar a ganhar dinheiro. Mas, como isso é público, isso ajudaria alguém lá fora ...

PPS: A tabela de classificação de hoje tem um padrão interessante: os dois primeiros com perda de log de 0,64xx, depois o número 3 com 0,66xx e, em seguida, a maioria dos preditores atinge 0,6888x.

Portanto, parece haver um campo superior muito pequeno e muitos caras de sucesso moderado (incluindo eu).

Respostas:


2

Analisei a abordagem e selecionaria K tentando um intervalo, ou seja, 5k, 10k, 15k, etc. 15, 16, 17 e assim por diante.

Até agora, não achei nenhum pré-processamento eficaz.

Respondendo ao comentário:

Eu tentei usar LogisticRegression, SVM, Redes Neurais, RandomForests, Multinomial NB, Extra Trees. Todos, exceto redes neurais, usando as implementações no sklearn. PyBrain para o NN.


Talvez você possa adicionar mais alguns detalhes? Sim, tentamos dados de treinamento de vários tamanhos. Qual pré-processamento você já tentou? quais classificadores? Obrigado!
Richard
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.