(特に)無いです。

興味のある話題なんでも書きます。テーマは(特に)無いですが、データ分析や関連したトピックが多いかもしれません。

自社の新卒研修でコンペみたいな演習があったのでエキサイティングにした

f:id:marupippi:20191112185218p:plain

こんにちは。縁あって年初に弊社の19卒向け新卒研修企画に携わることになり、資料改訂のほかちょっとした研修内容のアップデートを担当しました。 せっかくなので、ブログという形で広く社外の方にもやったことを知ってもらえればなと思います。

自社の新卒研修とは??

私の所属する株式会社ブレインパッドでは、およそ2ヶ月半の新卒研修を実施します。ビジネス・エンジニアリング・アナリティクスの観点からカリキュラムが組まれており、私が企画に携わったのはアナリティクスの分野となります。 すでに研修の全容については、実際に受講してくれた後輩による神サマリが詳しいので、参考になると思います。 加えて、分析の基礎のテキストなども公開されているので、これらをご覧になった方もいるかと思います。 これらの資料は弊社の"OpenBPプロジェクト"のもと公開されており、この記事もその一環という位置付けにさせていただいてます(社内で使われた資料というわけではないのですが承諾を得ました)。

私が資料作成を担当したのは、R研修(こちらは資料未公開)やアナリティクスパートの最終日に行われる分析演習で、今回は後者についてご紹介します。

コンペみたいな演習とは??

分析演習では、研修を通して学んできた知識をもとに、分析の一連の流れを実践することが目的となっています。具体的には、データ理解・前処理、分析(モデル作成)、評価・検証による精度向上などを一通り実践するコンテンツとなっています。受講者はデータ分析に基づいて予測を行い、その結果の正確さを追求します。

f:id:marupippi:20191030232432p:plain
分析の流れのイメージ

コンセプト自体は非常に興味深い分析演習ですが、例年のままでは、演習の実施という点において持続可能性が低いという弱点がありました。どういうことかというと、演習当日の講師負担が非常に大きいのです。

分析演習における講師の役割は、

  • 質問対応
  • 受講者のテストデータに対する予測結果の評価

というように、大きく2つあります。 講師はどちらもこなす必要があり忙しく、受講者もテストデータの評価タイミングが限られ、コンセプトの良さを活かしきれていないという課題がありました。 f:id:marupippi:20191030234026p:plain

私が実際に新卒として研修を受講していた頃から、評価に関わる作業を簡略化し、分析演習を最大限楽しめるよう(=エキサイティング)にできないかと思っていました。

エキサイティングにしたとは??

分析演習のフローですが、何かに酷似していると思いませんか?

そうです。データ分析コンペです。研修受講者が共通の問題に対して精度というスコアで順位を競う、というのが分析演習だと表現することもできます。 もちろん研修なので、必要以上に競争感を煽るようなことは避けるべきです。データ分析は課題解決の手段であるということを忘れ分析自体が目的になってしまうようなマインドを養うことは不適切であることは十分承知です。 とはいえ、ここまで学んできた知識を使って試行錯誤したい・自分の力を試したいという気持ちは受講者にも少なからずあるでしょう。分析演習の魅力を最大限活かすために、分析コンペの風味を取り入れることにしました。

プチ要件定義

分析コンペとして、世界的に知られたKaggleのプラットフォームを参考にしました。現状バラバラの場所に用意されていた各種資料等をひとつのプラットフォームにまとめるには、Kaggleのような形で利用できるwebアプリを構築することが近道と考えたためです。

分析演習で必要な情報・データ・機能は、

  • 概要が閲覧できる(KaggleのOverviewページ)
  • 学習用データ、評価用データがダウンロードできる(Dataページ)
  • 予測の提出ができる(Submissionページ)
  • 自分や他者のスコアが確認できる(Leaderboardページ)
  • コードの実行や議論のできるページも本家にはあるが、研修の範囲ではスコープ外

と、Kaggleを参考に実装すれば良さそうです。さすが世界的データ分析コンペのプラットフォームですね*1

私は機械学習畑の出身でなければ情報工学畑の出身でもないため、webアプリ開発の知識はほとんどなかったのですが、同期のエンジニアやFlaskのチュートリアルやらを頼りに手探りで構築してみようと思いました。

作成したリーダーボード(仮)アプリ

実際に作成したもののスクリーンショットが以下になります。だいぶ本家をオマージュしたレイアウトとなってしまっているのには目をつぶってください。 f:id:marupippi:20191031001419p:plain f:id:marupippi:20191031001415p:plain

研修本番に導入!

このように、データダウンロード、アウトプットの提出、スコアの確認が1つのプラットフォーム内で完結します。このアプリを用いて分析演習を行うことで、受講者も講師も本来の演習に集中できるようになったと思います。 従来のフローでは、アウトプット提出の機会が3回しかなく、各自の試行錯誤の効果が実感しにくい状態でした。今回はその制限を設ける必要がなく、いつでも提出できます。受講者の中には10回以上提出してくれた方もおり、まさにエキサイティングしたのではと考えています。最終的には2日間の累計提出数が100件を超えており、アプリが役に立ったと言えますね(1人で100回ぐらいむやみに投稿するような受講者がいなかったのは幸いでした笑)。

ソースコードについて

稚拙で恥ずかしいのですが、このアプリのコードはgithubにて公開しています。あくまで自分の管理用ではありますが、どなたでもアプリを試していただけますし、なんならIssueをいただけたら嬉しいです。きっとツッコミどころが満載なので、自分の今後の成長に期待しています。

最後に

新卒研修内の分析演習のためのKaggle風webアプリを作成し、受講者・講師共にハッピーな仕組みを作りました。 用いた技術としては大したものはありませんが、演習当日の様子からも研修を少しでも楽しくすることができたと実感しており、意義ある取り組みだと自負しています。このアプリについては”講師の負担が少ない”ため、新卒研修のみならず中途社員向けの入社時トレーニングでも活用されています。何事も使われるということは嬉しいですね。私自身にとっても、直接業務に役立つ訳ではないにしろ、改めてデータ分析の面白さを考える機会にもなり、良い経験になりました。来年度の新卒研修にも関わることになったら、研修資料の質の向上はもちろん、今回のアップデートのようなアプローチからも、新卒社員にとって意味のある研修を作ることに力添えしていきたいと思っています。

*1:余談ですが、弊社ではKaggleから知見をまとめ、社内外に還元する活動を推奨しています。詳しくは活動成果のQiita記事もご覧ください!

自己紹介等

はじめまして。受託分析企業でデータサイエンティストとして働く新卒2年目の駆け出しデータ分析官です。 同期の一部からまるぴっぴと呼ばれているのでこちらでも同様に自称したいと思います。

自己紹介で書きたいことが(特に)ないので、後々追記して充実させていきたいと思います。