Numer.ai istnieje już od jakiegoś czasu i wydaje się, że w Internecie jest niewiele postów lub innych dyskusji na ten temat.
System zmieniał się od czasu do czasu, a dzisiejsza konfiguracja jest następująca:
- pociąg (N = 96K) i dane testowe (N = 33K) z 21 cechami o wartościach ciągłych w [0,1] i celu binarnym.
- Dane są czyste (brak brakujących wartości) i aktualizowane co 2 tygodnie. Możesz przesłać swoje prognozy (na zestaw testowy) i zobaczyć utratę logów. Część danych testowych to nawet dane na żywo i zarabiasz za dobre prognozy.
O czym chciałbym porozmawiać:
Ponieważ funkcje są całkowicie anonimowe, myślę, że niewiele jest inżynierii funkcji, którą możemy zrobić. Więc moje podejście jest bardzo mechaniczne:
- zainspirowany tym używam algorytmu klasyfikacji, aby odfiltrować dane treningowe, które najlepiej pasują do moich danych testowych.
- Wymyśl jakieś ładne wstępne przetwarzanie
- trenuj ładne algorytmy klasyfikacji
- buduj ich zespoły (układanie w stosy, ...).
Konkretne pytanie:
Dotyczący kroku 1: Czy masz doświadczenie z takim podejściem? Powiedzmy, że porządkuję prawdopodobieństwo przyłożenia próbek pociągu do testu (zwykle poniżej 0,5), a następnie biorę największe prawdopodobieństwo K. Jak wybrałbyś K? Próbowałem z 15K .. ale przede wszystkim miałem mały zestaw danych treningowych, aby przyspieszyć trening w kroku 3.
Odnośnie do kroku 2: Dane są już w skali 0,1. Gdybym zastosował transformację liniową (podobną do PCA), złamałbym tę skalę. Co byś próbował w przetwarzaniu wstępnym, jeśli masz takie dane liczbowe i nie masz pojęcia, że tak naprawdę jest.
PS: Zdaję sobie sprawę, że ponieważ numer.ai płaci ludziom, którzy o tym dyskutują, może pomóc mi zarobić trochę pieniędzy. Ale ponieważ jest to publiczne, pomogłoby to każdemu ...
PPS: Dzisiejsza tabela liderów ma ciekawy wzór: dwie pierwsze z utratą logarytmiczną 0,64xx, następnie numer 3 z 0,66xx, a następnie większość predyktorów osiąga 0,6888x.
Tak więc wydaje się, że jest bardzo małe pole bitwy i wielu umiarkowanie udanych facetów (w tym ja).