データ分析技術者を育てる方法
次は、社内外での講師経験をもとにデータ分析技術者の育成ポイントを簡単に説明します。
・頭で理解するより体得させることを重視
手取り足取りで教えてくれる高額な講座を短期受講して分かった気になっても、技術は身に付きません。そうした座学ではなく、四苦八苦しながら自ら手を動かすことが9割を占めるようなカリキュラムを組みましょう。
・データをじっくりと眺めてもらう
データを可視化するための訓練も兼ねて、さまざまな角度からデータを穴が開くほど眺めましょう。データの可視化を行うことで、先述のマイルとキロメートルの混在例のように、数字を眺めているだけでは気付かないことも気付きやすくなります。
・分類問題では決定木とロジスティック回帰が基本
分類問題では決定木とロジスティック回帰を理解し、自分のものにできれば、まずは十分です。説明性も高く十分に精度も出るため、2018年現在で実際に多く運用されています。
また、精度をさらに数ポイント上げるために勾配ブースティング決定木などの発展的な手法を使用するとモデルがブラックボックス化してしまい、運用に適さないこともあります。
・過学習には気を付けてもらう
過学習とは、学習データにモデルが適合し過ぎてしまい、未知のデータに対する予測精度が悪くなることです。精度の検証方法として、交差検証(Cross Validation:CV)を理解してもらい、未知のデータに対するモデルの精度を推し量りながらモデルをチューニングする必要があります。
また、スタッキングやターゲットエンコーディングなどの応用手法はCVを利用したものとなっているので、十分な理解が必要です。
・決定木、線形モデルのできること/できないことを理解
線形モデルでは交互作用を表現できなかったり、決定木では学習データ以上の予測値を出力できなかったり、それぞれの特徴があります。きちんと中身を理解して、適切に実務に適用できるようになることが大切です。
・評価指標の意味を理解してもらう
モデルが出来上がった、精度が良かった/悪かったら、そこで終わりにするのではなく、その結果からどのように運用するのが適切なのかを判断します。そもそもの問題設定に合った評価指標を選ぶためにも、代表的な評価指標に関する理解は必要です。
・リークを見抜く力
リークとは、本来想定されていない方法で正解あるいはそれに準ずるものが漏れ出て、機械学習ができてしまうことなどを指します。
例えば、簡単な計算で正解を逆算できる変数が入っていたり、検証データが学習データの一部だったりするケースなどです。簡単なモデルと比較して精度が出過ぎている場合には、リークしている恐れがあるので確認が必要です。先述したデータを穴が開くほど眺める習慣は、ここでも役に立ちます。
・将来も運用できる汎化的なモデルを意識すること
極端な例として、変数に自動車の車種名などがダミー変数として使われていた場合、新たな車種名がどんどん増えていくので意味のない変数となってしまいます。この場合は変数を自動車の排気量に置き換えるなど、汎化的にする必要があります。このように、ビジネスでは長期的な運用を見据えた丁寧なモデル作りが大切になります。