「データサイエンスにおいて、ドメイン知識が重要」
そんなことを聞いたことがある人も多いのではないでしょうか。
わかっている人にとってはうんうんと納得する内容なのですが、私がデータサイエンスをかじり出したときは、
「専門知識が多ければ、よくわからんけど有利そうだよね」
くらいにしか思っていませんでした。
今回はそんなドメイン知識がどのように活かされるのか、これまでの経験から説明していきたいと思います。
ドメイン知識とはデータの背景を知っていることである
データサインエスを行う際に、分析者がそのデータのことについてどれくらい知っているかによってどのような分析アプローチを取るのか変わってきます。
そのデータは誰が、いつ、どのようにして取得されたのかといった背景です。
例えば、とあるアンケートの設問で職業を埋める欄があり、そこが空欄となっているデータがあるとします。
この空欄の意味するところは何でしょうか?
- 学生なので職業はない
- 特殊な職業でなんて書けばよいかわからない
- 職業欄自体を見落としていた
- 無職、ニート
空欄の意味を想像することはできますが、どれが正解かはわかりません。
もしこのアンケートを作成した本人であれば、
「主婦を対象としたアンケートなので、職業欄の空欄は専業主婦を表しており、しかも空欄の割合が多い」
といったよな意図を理解することができます。
しかしながら、アンケート作成に関わっていない分析者が単にアンケート結果を受け取っただけなのであれば、空欄の意味を知ることはできません。
つまりデータの背景やビジネス観点を知らいないと、この空欄をどうやって埋めたらいいのか判断がつかないのです。
ドメイン知識は特徴量エンジニアリングで活きてくる
浅いながらもデータサイエンティストとして仕事をしていると、データの背景をしっかり理解していることで機械学習の予測精度が大きく改善する例を何度も目にしてきました。
例えば、営業の例として
「日報のデータから優秀な営業が行っている行動を分析することはできないか?」
なんてことをよく聞かれます。
しかしながら、この手の分析は非常に難しいテーマとなります。
なぜならば、優秀な営業のもつノウハウは
- こまめにクライアントと連絡取っている
- 何度もアプローチを仕掛けている
- 業務態度が良好
そういった普段の努力も少なからずあるとは思いますが、実際は
- お客さんと事あるごとに飲みに行っている
- ゴルフを一緒にする
- お客さんが実は知り合いの知り合い
といったような営業日報には表れない要素が売上と強い相関があったりするケースがあります。
さすがに営業日報に飲みに行った回数や接待をした回数を測るような内容は書かない、むしろ書けないですよね。
しかし、これらの内容がドメイン知識としてやはり重要になってくるのです。
では、この場合どうやってそんな情報を集めるのか?
時間も手間もかかりますが、実は優秀な営業さんを取っ捕まえてヒアリングあるのみなのです。
他にも、製造業の分野で
「とある部品の摩耗による交換タイミングを予測したい」
という例があったとすると、設備から得られるセンサーデータや過去の点検を行った結果をデータとして用いる場合が多いと思いますが、
分析を始める前に
”そもそもどうして摩耗という物理現象が発生するのか?”
という現場の人が一番詳しく知っている着目点に立ち戻って考えてみると、おのずと摩耗の原因となる要因が重要だとわかってきます。
もしかすると摩耗というメカニズムを数式で表現することで、より精度の高いモデルを作ることができるかもしれません。
これらの知識はまさにドメイン知識であり、その業務を長年目にしている人こそが、真の特徴量エンジニアリングを成し得るのです。
ドメイン知識を身に着けるには?
ドメイン知識は一長一短で身につくものではないので、ある意味データサイエンスを学ぶよりも難易度が高いかもしれません。
「データサイエンスから離れて1つの業務を長くこなす」
これができれば、ドメイン知識は身に付きますが、それではデータサイエンティストとしての業務ができなくなりますよね。
なので私のおすすめとしては、新卒でデータサイエンティストになるのではなく、他業界で経験を積んでからデータサイエンティストを目指す、ということです。
実際、私の周りの成功しているデータサイエンティストは皆さんそれぞれの出身を持っている人が多いです。
ドメイン知識の奥はとても深し。
データサイエンスだけでは気が付けない世界がそこにはあるのです。
ぜひ、機械学習で何かを予測するときはドメイン知識の神様である現場の人の意見を聞いて、課題解決に勤しんでください。
コメント