機械学習

ビーライン100%一致

私は本物の大きな猫ではありません。githubでxgboostを見つけました。



Beelineから500krの追求は、私が以前興味を示していた機械学習の世界に突入することを余儀なくされましたが、自信を示さず、したがって、急落しませんでした。 この点に関して、 xgboostは現在、ワシントン大学の中国人同志から舵を取ることを簡単に検索しました。 私が理解しているように、これは機械学習の分野におけるAppleのようなものです。ボタンを1つ押すだけで、すぐに美しいものが手に入りました。



綿密な調査の結果、設定が明らかになりました。これにより、トレーニングを加速または減速したり、このプログラムで与えられた予測を調整したり、粗くしたりできます。 プログラムへの入力データは、libsvm形式で提供されるのが最も便利です。 確かに(csvからaviまで)何でもlibsvmに変換できるライブラリがたくさんありますが、この場合はJavaScriptバイクを管理しました。



そのため、すでに9月30日にxgboostの助けを借りて、76.58%のヒットが予備的な見積もりに従って受け取られました。 その間、熱心な大物は77%以上減少しました! アンサンブルの利点(多数決の原則に基づいた複数の予測の組み合わせ)を読んだ後、既存の予測と無相関になる他の方法を探し始めました。 ほぼ同じ起源の予測のアンサンブルを作成する場合、それらの精度は平均化されるため、完全に異なる予測からの場合、精度は向上します。



サポートベクター法(SVM)を試しました。これは、近隣の遠隔性と「ランダムフォレスト」に基づいて重み付けされた最近隣の方法です。 これらの方法では、データの準備が既に必要です:正規化する場所、要因の重要性を評価する場所、Python sklearn(Sci-Kit Learn)で「辞書で読み書きする」レベルでpythonを知っているので、少し理解する必要がありました。そこの利点は、ドキュメントと例が猫にはっきりしていることです。 結果ははるかに悪く、ヒットの57〜73%が、これらの方法が重要であるデータを準備できないことに影響しました。 彼は、本、ダミー変数へのカテゴリー、範囲[0; 1]の数字を書いているように見えたが、取るに足らないものを投げた。



モデルを多様化するために、重要な要素と重要でない要素を取り除き始めました。 x8変数には、すべての変数で利用可能な年齢グループに関する情報の90%以上が含まれています(72%+ヒットを与えることができるのは1つだけです)。 この情報のないXgboostは、多くの場合見逃し始めました-ヒットの55%以内ですが、最も近い隣人については、驚いたことに73%が残りました。 トレーニングに利用できる情報のさまざまな切り捨てを含む数十のオプションを作成したので、それらをアンサンブルで収集しました... 77.05%。 これは悲しい...



したがって、入力データまたはメソッドを処理するためのいくつかの有用な手法は適用されませんでしたが、知識のある人々が適用されました。 まあ、すでにそれは迷惑になりました。 結局のところ、最初に予想したように、ランダムな15,000ではなく、最初の15,000のテストラインで予備評価のビーラインチェックが常に実行されることが、少し励みになりました。 これは、トレーニングと相互検証のためにさらに数行のデータを引き出すことができることを意味します。 それらで突然未知で有用な何か?!



コンテストの主催者がこれを想定していたかどうかは不明ですが、10月27日、数時間と約2万3千回の試行を検索することで、正解のテストサンプルの最初の1万5千行を受け取りました(キャプチャがなく、ソリューションの送信頻度に制限がなかったため、 1〜2回のフローでも迅速かつ安価に合格した)。 しかし、これらの追加の15kは、NWSの楽しさ以外に特別な利点をもたらしませんでした:私の推定によると、リーダーはテストデータの70%を回避できませんでした。使用した方法では、年齢グループを決定する新しい情報を見つけることができなかったからです。



Beeline MLレッスンの実際の結果





そして、ビーラインのコンテストにはどのように参加しましたか?



All Articles