データマイニングで利用されるツール

データマイニングを始めるといっても、世の中には様々なツールが存在します。

データマイニング系情報サイトKDnuggets(http://www.kdnuggets.com/)が、毎年、データサイエンティスト(KDnuggets上では、Data Minerという表現がされています)にアンケートを実施し、利用されているツールのシェアを公開している情報があります。以下は2015年に発表されたトップ10ツールですが、どのようなツールが主に利用されていることがわかります。

  • RapidMiner
    • オープンソースのデータマイニングツール。スタンドアローンのデータ分析アプリケーションとして、また統合されたデータマイニングエンジン。
  • R
    • 有名な統計言語『 S 言語』をオープンソースとして実装し直した統計解析ソフト。
  • Excel
    • Microsoft社の表計算ソフト。統計分析アドインやピボットテーブル、Excelと統合されたMicrosoft BIなどを使ってデータを分析することができる。
  • SQL
    • 本来はリレーショナルデータベース管理システムにおいて、データの操作や定義を行うための問い合わせ言語。一般的な言語のため近年では、様々なツール・プラットフォームで利用できる。
  • Python
    • オープンソースのプログラム言語。高速な数値計算ライブラリが存在し、昔から科学技術コンピューティングによく利用されている。
  • Weka
    • ニュージーランドのワイカト大学で開発した機械学習のフリーソフトウェア
  • KNIME
    • 「ナイム」と読む。ドイツの Konstanz大のバイオ系の部門が開発したデータ分析用の統合環境。
  • Hadoop
    • 大規模データの分散処理を支えるオープンソースのソフトウェアフレームワーク。アプリケーションが数千ノードおよびペタバイト級のデータを処理することが可能。
  • SAS base
    • Statistical Analysis Systemの略。SAS社の統計計算ソフトウェアの1つです。SAS言語で書かれたプログラムを実行することでデータ分析を行う。医療、医薬の世界で特によく利用されている。
  • Microsoft SQL Server
    • Microsoft社のリレーショナルデータベース管理システム。近年は他のデータベース同様に、分析をサポートする機能が強化されてきている。

というようにトップ10を見てみても様々なツールが存在します。用途によって使い分けるのが適切なのですが、次から特に代表的なツールについて見ていきます。

出典:「KDnuggets 15th Annual Analytics, Data Mining, Data Science Software Poll(2014年6月7日発表)」および「 KDnuggets Annual Software Poll(2013年6月3日発表)」より作成

データ分析(データマイニング)の体系

データ分析の全体像を理解する上で、役に立つフレームワークにCRIS-DM(CRoss-Industry Standard Process for Data Mining)という標準方法論があります。CRIS-DMはSPSS、NCR、ダイムラークライスラー、OHRAがメンバーとなったコンソーシアムで開発された方法論で、データマイニングの手順を規定したものです。2008年以降、更新されておらず(2015年現在)、実務としてあまり参照されないためか、実際のデータマイニングの本等で紹介されることは少ないですが、全体感を理解する上ではわかりやすい手法ですので、ここで引用します。。

CRIS-DMによると、によると、データマイニングの手順は以下の6つのフェーズを繰り返し行うものとされています。

フェーズ1 ビジネスの理解(Business Understanding)

・分析のビジネス目的と課題の理解、仮説の構築など

フェーズ2 データの理解(Data Understanding)

・初期データの収集、コード・数値の定義の理解、充足率・データ品質の評価など

フェーズ3 データの準備(Data Preparation)

・収集したデータのクレンジング、分析用データストアへの投入など

フェーズ4 モデリング(Modeling)

・クロス集計、統計分析、機会学習などの分析手法を活用したデータ分析など

フェーズ5 評価(Evaluation)

・モデルの整合性確認、結果の評価、施策の抽出、ビジネスインパクト評価など

フェーズ6 展開(Deployment)

・分析結果の可視化、恒常的なモデリングの仕組みの構築など

フェーズ1で「ビジネスの理解」をするということと、データをいきなり分析するのではなく、その前にフェーズ2「データの理解」とフェーズ3「データの準備」というフェーズが入っているという点がポイントです。

筆者も実際にDWHやBIのプロジェクトを実施することがあるのですが、ビジネスの理解、データの理解を正しくしないと、結果として作ったDWHやBIから提供される情報自体に意味がなくなるということもあり得ますので、ビジネスの理解、データの理解には非常に慎重に取り組みます。

また、実際のデータは、データを発生させる業務システム側で、担当者が正しく運用していないケース(運用負荷が高くて運用されていない、実害がないのでマスターデータが登録されていないなど)や、例外運用がなされているケース(イベントの際には通常運用以外の運用がされている)もあるため、これらのデータの取り扱いを決めてデータをきれいにするのに多大な時間をかけています。

データ分析においても同様にこれらの前処理が重要なようです。

データサイエンティストとはなにか

 

「データサイエンティスト」という名前は、2013年くらいから様々なところで聞くようになりましたし、「21世紀のもっともセクシーな職業」だそうですが、実際のところ…

「どうやったらなれるの?」

「なにをやっていたら名乗っていいの?」

「どんなことやってるの?」

「どんなスキルが必要なの?」

と、実像がはっきりしないのではないでしょうか。

 

その割には、「データサイエンティスト不足」などということも世間では言われていたりして、なかなかそのイメージが見えてきません。

 

と、言っている筆者も、コンサルファームで分析の仕事をしたり、BIやDWHを使った情報活用をしたりと「データサイエンティストの周辺」の仕事はいろいろやっているのですが、データサイエンティストという人はなかなか少ないし、セミナーなどでしか出会ったことはありません。

 

データサイエンティスト協会によると、データサイエンティストとは

「データサイエンティストとは、データサイエンス力、データエンジニアリング力を ベースにデータから価値を創出し、ビジネス課題に答えを出すプロフェッショナル」

出典:データサイエンティスト協会 2014年12月10日プレスリリース

であり、以下のようなスキルが必要だそうです。

1.ビジネス 力(business problem solving):課題背景を理解した上で、ビジネス 課題を整理し、解決する力

2.データサイエンス 力(data science):情報処理、人工知能、統計学などの情報 科学系の知恵を理解し、使う力

3.データエンジニアリング 力(data engineering):データサイエンスを意味のある 形に使えるようにし、実装、運用できるようにする力

出典:データサイエンティスト協会 2014年12月10日プレスリリース

 

なかなかレベルが高そうですが、「戦略コンサル(戦略家)が戦略でビジネス課題を解決」「ビジネスプロセスコンサルがオペレーション改革でビジネス課題を解決」「ITコンサル(IT部門)やソリューションプロバイダーが技術でビジネス課題を解決」するように、「データでビジネス課題を解決」する新しい職業なのでしょう。

 

戦略コンサルも、ビジネスプロセスコンサル、ITコンサルも高付加価値な人は、ビジネス力とエンジニアリング力(実行力)がある人ですので、そういう意味では、ビジネス課題を解決する職業と同じ位の高いスキルが求められるようです。