データマイニングの方法について
最近知ったデータマイニングのフレームワークについて説明します。
「データサイエンティストって何やってるの??」って方には、彼らの仕事の理解の助けになるかもしれませんが、データマイニングの経験がある方にとってはごく当たり前のことなのでつまらないと思います。その点ご了承ください。
で、早速ですが、有名なフレームワークは3つあります。
1.The KDD process
2.SEMMA
3.CRISP-DM
正確にはそれぞれ違うのですが、根本的にはほぼ同じなので
今回は個人的に一番しっくりくるCRISP-DMについて詳しく説明します。
CRISP-DMとはCRoss Industry Standard Process for Data Miningの略で、
以下の6つのステップから成ります。
[1]ビジネス理解
[2]データ理解
[3]データ準備
[4]モデリング
[5]評価
[6]展開
では、詳細について私の浅い経験と解釈を踏まえて書いていきます。
[1]ビジネス理解:
まず、データマイニングの目的(落としどころ)を決めます。
顧客(社内でも同様)がどのようなビジネスを行っていて
何を求めているのかをヒアリングを通じて把握します。
「データがあるから何とかして!」という無茶振りなケースも少なくないですが、「データから○○が分かる(できる)ようになったら嬉しいですか?」という風に探っていってニーズを引き出します。
[2]データ理解:
その次は、顧客からデータを頂いて中身を見てみます。
データの信頼性(欠損や異常値がどのくらいあるか)をチェックしたり、
簡単な集計や可視化などをPerlやR、Excelなどを使って行います。
「説明を見ると、Aのファイルのこの項目とBのこの項目は同じものを差してるはずだけれど、どうして一致しないの?」なんて苦悩したりします。
[3]データ準備:
そして、詳細な分析、モデリングを行うための準備です。
外れ値や欠損値を除去したり適正だと思われる値で埋める作業や、値を対数や指数変換したり標準化する作業、複数のファイルを統合したり変数を抽出する作業などを行います。
[4]モデリング:
漸く一番データマイニングらしいモデリングです。
RやKNIMEを使って様々なモデルを適用したり色々な分析手法を試します。
モデルのパラメータを変えたり、変数をいじったりして
実際のデータをより適切に表現できるように試行錯誤を重ねます。
[5]評価:
モデリングの結果を評価します。
モデルそのものの精度も重要ですが、他に検証すべき点はないか、この結果で顧客に喜んでもらえるかどうかについて検討します。
[6]展開:
最後に、顧客に報告してビジネスに適用してもらいます。
行ったモデリング、分析の結果をレポートを作成して報告します。
その後、その結果を実際に顧客のビジネスに落とし込む方法について
顧客と共に検討し、適用いただくという感じです。
すでに気付いておられる方もいると思いますが、これらのプロセスは順番に一通りやれば終わるというものではありません。[3]データ準備と[4]モデリングは何度も繰り返しますし、[5]評価を1回でクリアできないことも多々あります。真に求めるものを手に入れるために、以上のプロセスを何度も何度も繰り返します。
巷で言われている様に、求められているアウトプットを最終的に出せるデータサイエンティストはとてもセクシーですが、実際に行っている作業は意外と泥臭いのです。
(参考)
Visual Guides to CRISP-DM ,KDD and SEMMA
http://recipp.ipp.pt/bitstream/10400.22/136/1/KDD-CRISP-SEMMA.pdf
KDD, SEMMA AND CRISP-DM: A PARALLEL OVERVIEW
http://recipp.ipp.pt/bitstream/10400.22/136/1/KDD-CRISP-SEMMA.pdf