AutoML パッケージの開発を円滑に進めたい / How to develop AutoML package
by
Kon
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
AutoML パッケージの開発を円滑に進めたい データと ML 周辺エンジニアリングを考える会 #2 Jul 19, 2019
Slide 2
Slide 2 text
Yu Ohori (a.k.a. Kon) NS Solutions Corporation (Apr 2017 - ) ● Researcher ● Data Science & Infrastructure Technologies ● System Research & Development Center ● Technology Bureau @Y_oHr_N @Y-oHr-N #SemiSupervisedLearning #AnomalyDetection #DataOps
Slide 3
Slide 3 text
約 3 ヶ月,同僚 3 名と以下の大会に参加した April 1, 2019 - July 20, 2019 3 任意のデータセットに対 する予測精度を競う大会 https://www.4paradigm.com/competition/kddcup2019
Slide 4
Slide 4 text
何故参加したか? AutoML 周辺技術の調査 開発力強化 案件利用 4
Slide 5
Slide 5 text
本大会の内容は? 入力 ● 5 つの表形式データセット ● スキーマ,関係等が記載されたファイル(右図) 提出物 ● 学習,予測を行うコード 制約 ● 計算資源:4 vCPUs (16 GB Memory) ● 計算時間:数十分程度 評価指標 ● AUROC 5
Slide 6
Slide 6 text
本大会の課題は? 時系列データの扱い ● data leak を予防する方法は? ● concept drift に対応する方法は? 複数表の扱い ● 一対多,多対多で結ばれる表を結合する方法は? 4 つの型の扱い ● cat 型を num 型に変換する方法は? ● multi-cat 型を num 型に変換する方法は? ● time 型を num 型に変換する方法は? 6
Slide 7
Slide 7 text
Concept drift とは? データを生成する確率分布が時間経過で変化する現象 ● cat 型の場合,新規カテゴリの出現が相当 7 Gama, J., et al., "A survey on concept drift adaptation," ACM CSUR, 46(4), p. 44, 2014.
Slide 8
Slide 8 text
結果は? 計算時間超過で失格… 通過チームは 31/161 パッケージの内容は 懇親会でお話します 8
Slide 9
Slide 9 text
開発中,問題になったことは? コードが煩雑で,予測精度が低下した際にバグを特定できない 9
Slide 10
Slide 10 text
どうやってこれらの問題を解決したか? Codecov カバレッジを記録 CircleCI テストを実行 Comet.ml 学習結果を記録 開発者 変更を push/PR GitHub 外部サービスに通知 テスト及び CV スコアの監視を継続的に行い,バグの混入を早急に察知する 10
Slide 11
Slide 11 text
何故これらのサービスを採用したか? 環境構築の手間を削減できるため ● mlflow は自身でサーバを構築する必要がある private リポジトリに無料利用できるため ● Travis CI は課金する必要がある ● Code Climate は private リポジトリに利用できない 11
Slide 12
Slide 12 text
何を学習結果として記録したか? ● commit ID ● ブランチ名 ● 実行日時 ● 計算時間 ● 標準出力 ● 依存関係 ● 学習曲線 ● CV スコア ● ベストパラメータ ● 等 12