Othersこんにちは!takapy(@takapy0210)です。atmaCup#2に参加してきましたので、振り返りや諸々の感想などを残していければと思います。このような経験の振り返りに関しては、YWTのフレームワークを使うと良いという噂を聞いたので実践してみます。カラム名や問題設定については公開OKの許可を頂いております。ソースコードの公開は一度運営側とデータ提供社様との内容のチェック後であればOKです。公開したい方はコンペ終了後などに運営にご連絡下さい。ことでしたので、この範囲でお伝えできればと思います。)が主催するデータコンペティションです。実際に参加者が会場に集まりチームでデータ解析を実施し、得た学びを共有します。いうことで、実際に1つの会場に集まりデータ分析を行います。「睡眠のアプリケーションから取得された睡眠情報とその日の日中のコンディションが紐付いたデータが与えられ、前日のユーザーのコンディションを予測する」というもので、評価指標はRMSEでした。trainデータとtestデータに加えて、ユーザーアンケート情報がデータとして与えられました。(このアンケート情報データはそこまで重要ではなかったようで、ここに時間をかけてしまってスコアが伸びなかった、という方が何名かいました)余談ですが、東京から当日移動して参加された方も多く、懇親会で「我々のコンディションは(早起きしたので)低いですよね笑」なんて話をしたりしました。2019結果まずは結果から。右:PrivatePublic10位からのPrivateで13位(3位Down)でした!強い人はやっぱりちゃんと強くて、カッコ良かったです。上位の方々、おめでとうございます!(AutoMLおじさんに負けなくてよかったぁ・・・)やったこと(Y)お昼を挟んで前半、後半でまとめます。(美味しいお弁当を頂いたのですが、コンペに夢中で写真を撮り忘れました!)モデルはLightGBMで、KFold:5~10あたりでいろいろ試しました。前半(10時30分〜13時)特徴量管理とパイプライン構築EDAしながら、以前発表した方法で特徴量管理とパイプラインを作るところから始めました。ここに結構時間がかかってしまい、結果的に初動が遅くなってしまいました。EncodingしてLightGBMにぶちこみました。その結果、0.6442という、いかにもベースラインっぽいモデルができました。Encodingして、それをマージしました。これで若干スコアがあがりました。ハイパーパラメータ調整ここはヒューリスティックにいくつか試しました。チューニングすればもう少しスコアが伸びたかもしれません。ブレンド学習に使用する特徴量を変えてモデルを複数作成し、ブレンドして予測しました。(これは最後のあがきでしたが、若干スコアあがりました)最終的に1番良いSubを選べていたとしても、あまり順位は変わらなそうでした。submit履歴また、途中で主催者からベースラインモデルの生成〜SubmitまでのHands-Onもあり、コンペに参加したことのない人でもしっかりフォローしてもらえるようになっていました。(このベースライン生成コードはDiscussionでも共有されました)わかったこと(W)特徴量管理とか学習パイプラインはめっちゃ良かった!けど、初動が遅くなりがち。コマンド1発である程度のベースラインモデルができるスクリプトを作っておくと、短期決戦には良さそう。色々な自作スクリプト(関数)持っている人は手数が多い初動も早くなるし、その分いろいろ実験できるんだろうな〜と思いました強い人は強い強いオンサイトコンペ面白い終わった後すぐに懇親会で「この特徴量が〜〜〜」とかいう話ができるのが面白かったです新調したスマホケースに新幹線の切符いれると、切符の磁気がやられて改札が通れなくなるどんなことが重要だったのか上位の方々の話を聞く限りではユーザーIDごとの集計ユーザーIDごとのtargetの平均を、targetから引いた値をtargetとして学習させるあたりがポイントだったみたいです。2つ目の発想なんかは、経験から導かれるものだと思うので、そういう意味でもKaggleなどでいろんなコンペに参加するのはとても大事だな、と思いました。userごとにスコアの傾向が異なるので、学習する前にターゲットの平均をターゲット値から差し引くのがポイントだった。encodingのような特徴量を入れてimplicitに考慮するより、最初に差し引いた方が良い結果になってた。2019次にやること(T)初動を速くできるように、特徴量管理の方法を再考する。自作関数(スクリプト)を作る日付データとか、カテゴリデータとか、渡すとよしなに処理してくれるやつ最後にこのようなオンサイトコンペは初参加でしたが、Kaggleなどのオンラインコンペとはまた違った面白さがありました。(Twitterでは知っている人と実際に会って話せるが最近多くて嬉しいです)また、@nyker_gotoさんが1人でコンペサイトを構築したようなのですが、これがめっちゃ良いしすごかったです!(語彙力)いや、本当に。スコア計算は提出直後にされるし(某nateみたいにメールでお知らせするから待っててね、とかならない)、ベストスコア更新すると「Congratulation!!!🎉」演出があるし・・・。いちユーザーとしてとても使いやすかったです。#2に参加してきました!関連記事2019-06-23GloVeを使って単語の分散表現を取得するこんにちは。takapy(@takapy0210)です。2019に参加しました!(2日目)こんばんは。takapy(@takapy0210)です。Summitの...2019-02-24ランダムフォレストはなぜ「ランダム」なのかこんにちは。takapy(@takapy0210)です。前回に引き続き、後編です。toC企業でMLエンジニアとして働いています。ブログでは主に機械学習界隈の話ができればと思っています。(1)月別アーカイブリンクプライバシーポリシ。