データマイニング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

データマイニングテンプレート:Lang-en)とは、統計学パターン認識人工知能等のデータ解析の技法を大量のデータに網羅的に適用することで知識を取り出す技術。DMと略して呼ばれる事もある。通常のデータの扱い方からは想像が及びにくい、ヒューリスティク(heuristic、発見的)な知識獲得が可能であるという期待を含意していることが多い。とくにテキストを対象とするものをテキストマイニング、そのなかでもウェブページを対象にしたものをウェブマイニングと呼ぶ。英語ではknowledge-discovery in databases(データベースからの知識発見)の頭文字をとってKDDとも呼ばれる。

定義

データマイニングの定義としては、「明示されておらず今まで知られていなかったが、役立つ可能性があり、かつ、自明でない情報をデータから抽出すること」[1]、「データの巨大集合やデータベースから有用な情報を抽出する技術体系」[2]などがある。 データマイニングは、通常はデータの解析に関する用語として用いられるが、人工知能という用語などと同様、包括的な用語であり、様々な文脈において多様な意味で用いられる。

歴史

データマイニングの発展には、大量のデータ蓄積が可能となったことが直接的に関係している。デジタル形式でのデータの収集は、コンピュータを用いてデータ解析をすることを念頭に置いて1960年代には既に行われつつあった。関係データベースとその操作用の言語SQLが1980年代に出現し、オンデマンドで動的なデータ解析が可能となった。1990年代に至り、データ量は爆発的に増大した。データウェアハウスがデータの蓄積に用いられ始めた。 これに伴い、データベースにおける大量データを処理するための手法としてデータマイニングの概念が現れ、統計解析の手法や人工知能分野での検索技術等が応用されるようになった。

解析手法

頻出パターン抽出

データ集合の中から,高頻度で発生する特徴的なパターンを見つける。

  • 相関ルール抽出
    • データベースに蓄積された大量のデータから、頻繁に同時に生起する事象同士を相関の強い事象の関係、すなわち相関ルールとして抽出する技術。POSEコマースの取引ログに含まれる購買履歴を利用したバスケット解析が著名である。
      • 例1:スーパーでビデオを買った人のうちガムテープを買う人が多い → 両者を同じ場所に置く。
      • 例2:本Aを買う人は、後に本Bを買うことが多い → 本Aの購入者に本Bを薦めるダイレクトメールを送る。
  • その他の頻出パターン
    • 時系列やグラフを対象としたものもある

クラス分類

クラス分類は与えられたデータに対応するカテゴリを予測する問題。

回帰分析

与えられたデータに対応する実数値を予測する問題

  • 代表的な手法:線形回帰、ロジスティック回帰、サポートベクトル回帰
    • 例:曜日、降水確率、今日の売上げなどのデータを元に、明日の売上げという実数値データを予測

クラスタリング

データの集合をクラスタと呼ぶグループに分ける。クラスタとは、同じクラスタのデータならば互いに似ていて、違うクラスタならば似ていないようなデータの集まり。

  • データ・クラスタリングを参照
    • 例:Webの閲覧パターンのデータから、類似したものをまとめることで、閲覧の傾向が同じ利用者のグループを発見する。

参考文献

  1. W. Frawley and G. Piatetsky-Shapiro and C. Matheus, Knowledge Discovery in Databases: An Overview. AI Magazine, Fall 1992, pp. 213-228.
  2. D. Hand, H. Mannila, P. Smyth: Principles of Data Mining. MIT Press, Cambridge, MA, 2001. ISBN 0-262-08290-X (各データマイニング手法の理論背景などが中心)
  • Jiawei Han and Micheline Kamber "Data Mining: Concepts and Techniques," Morgan Kaufmann, second edition, 2006, ISBN 978-1558609013 (何でも載っている百科事典的な本)
  • Ian H. Witten and Eibe Frank, "Data Mining: Practical Machine Learning Tools and Techniques," Elsevier, second edition, 2005, ISBN 978-0120884070 (いろいろな手法の利用法とフリーのツールWekaのチュートリアル)
  • 元田 浩, 津本 周作, 山口 高平, 沼尾 正行「データマイニングの基礎」オーム社, 2006, ISBN 978-4274203480 (初学者向けで全体を俯瞰できる本)
  • 福田剛志, 森本康彦, 徳山豪著 「データマイニング」共立出版, 2001.9, ISBN 4-320-12002-7 (相関ルール抽出について詳しい)

ソフトウェア

商業ソフトウェア

無償ソフトウェア

  • GNU R (r-project.org): S言語仕様をGNU GPL実装した汎用統計可視化環境。一般的に"R言語"や"R"とも呼ばれる。無償の貢献プログラムパッケージは4000を越え、Wekaを利用するRwekaやRandom forestなどもある。UIは、R GUIかターミナル経由のコマンドライン入力のみ。下記RED Rなどの援用でダイアグラム入力も出来る。R自体はインタプリタだが、速度が必要ならC言語Fortranのコードを直接記述してコンパイル実行でき、パッケージRcpp併用でC++も混在可能。信頼性に定評があり、米国FDA公認。マルチプラットフォーム。GNU GPLオープンソース。
  • Weka (waikato.ac.nz/ml/weka): ワイカト大学で開発された、javaベースのデータマイニングソフトウェア。ダイアグラムなど多様なグラフィカルインタフェースで高度なマイニング手法を視覚的に構築し駆使できる。連関規則ニューラルネットワークSVM、決定木などさまざまな分析手法があらかじめ数多くモジュールとして組み込まれており、コードを書く事なくモジュールをリンクで結んでいけば入力・分析・出力までの流れを構築できる。ゼロからコードを書いてモジュール登録もできる他、プラグインによる機能拡張も可能。ただデータマイニング研究用のツールとして産まれただけに、的確に使うには分析手法の専門的な評価知識が必要。GNU GPLオープンソース。
  • RapidMinerコミュニティ版 (rapid-i-partner.jp/product/miner): 上記商用エンタープライズ版からサポートサービスなどを除いたフリー版。オープンソース。内部にWekaを統合し、Weka同様にダイアグラム式の分析フローを構築できる。GNU Rへのインタフェースもある。
  • Orange (orange.biolab.si): グラフィカルデータマイニングソフトウェア。コードを書かなくともモジュールをダイアグラムで結んでいけば分析フローを構築できる。Pythonで書かれている。Windows,OSX,各種Linux対応のマルチプラットフォーム。GNU GPLオープンソース。
  • Red-R (red-r.org): GNU Rにダイアグラムインタフェースを統合できるソフトウェア。フロントエンドにOrangeを利用しているためOrangeと同一の感覚でRを使えるばかりか、GNU Rの既存のコードとダイアグラムを相互に変換できる。GNU GPLオープンソース。
  • R-Analitic Flow (ef-prime.com): GNU Rにダイアグラムインタフェースを統合できるソフトウェア。GNU Rの既存のコードとダイアグラムを相互に変換できる。RED Rに比べ、新規の分析フロー開発を重視した機能が充実している。日本の企業ef-primeが無料で配布しているので日本語マニュアルがあり、有償の法人サポートもある。RjpWikiにはユーザーコミュニーティがある。
  • D3.js (d3js.org): ブラウザを使って統計データを様々な表現で可視化するための JavaScriptライブラリ。
  • OpenCV: イメージや形状データの認識・抽出・予測処理を目的としたコンピュータビジョンライブラリであるが、パターン認識機械学習など汎用性ある関数が数多く収録され、データマイニングでの可用性も高い。インテルが開発。オープンソース。
  • Shogun toolbox (Shogun): マルチカーネル学習(MKL)などサポートベクターマシンを中心として最先端のアルゴリズムを網羅した機械学習ツールボックス。C++で実装され、MATLABGNU RGNU OctavePythonJavaLuaRubyC# から利用可能なインタフェースがある。GNU GPL3。

関連項目

外部リンク