Numer.aiはここしばらくの間存在しており、それに関するWebでの投稿やその他の議論はほとんどないようです。
システムは随時変更され、今日のセットアップは次のとおりです。
- トレーニング(N = 96K)およびテスト(N = 33K)で、[0,1]の連続値とバイナリターゲットを持つ21個のフィーチャ。
- データはクリーンで(欠損値なし)、2週間ごとに更新されます。(テストセットの)予測をアップロードして、ログの損失を確認できます。テストデータの一部はライブデータでもあり、適切な予測に対して報酬が支払われます。
私が議論したいこと:
機能は完全に匿名であるため、私たちができる機能エンジニアリングはそれほど多くはないと思います。だから私のアプローチは非常に機械的です:
- これに触発されて、分類アルゴリズムを使用して、私のテストデータに最も適合するトレーニングデータを除外します。
- いくつかの素晴らしい前処理を理解する
- 素晴らしい分類アルゴリズムを訓練する
- それらのアンサンブルを構築します(スタッキングなど)。
具体的な質問:
ステップ1について:そのようなアプローチの経験はありますか?トレーニングサンプルがテストに属する確率(通常は0.5未満)を注文し、最大のK確率を取得するとします。どのようにKを選びますか?私は15Kで試しましたが、主にステップ3のトレーニングを高速化するために小さなトレーニングデータセットを用意しました。
ステップ2に関して:データはすでに0,1スケールです。(PCAのような)線形変換を適用すると、このスケールが壊れます。そのような数値データがあり、これが実際にそうであることがわからない場合、前処理で何を試みますか?
PS:numer.aiが給料を支払っているので、これについて議論している人々が私にお金を稼ぐのを助けることができることを私は知っています。しかし、これは公開されているので、これは誰かを助けるでしょう...
PPS:今日のリーダーボードには興味深いパターンがあります。ログ損失が0.64xxの上位2つ、次に0.66xxの3位、そしてほとんどの予測子は0.6888xに達しています。
したがって、非常に小さなトップフィールドと適度に成功した人(私を含む)がたくさんいるようです。