データマイニングツール”Orange”

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
日本ではデータマイニング用のツールといえば、商用ではSAS、IBM ModelerやExcelなど。オープンソース系ではRが主流ですが、ちょっと変わったツールのご紹介です。

Orange – Data Mining Fruitful & Fun
Orange (http://orange.biolab.si)は汎用の機械学習やデータマイニング用のツールで、スロベニアのLjubljana大学のコンピューター情報サイエンス学部の Janez DemšarさんとBlaž Zupanさんらによって開発が始まり、現在ではオープンソースとしてコミュニティベースで開発が続けられています。
Orangeはあまり経験のないデータマイニングの初心者から、スクリプトを書いてデータ処理のアルゴリズムを実装するプログラマーまで、多様なインターフェースを持つユニークなツールとなっています。また、多岐にわたるプラットフォームをサポートしており、Windows, Mac OS X, Linuxで動かすことが出来ます。
周りを見ていると、この手の作業を行う人はRのユーザーが多く、Rでの文法を覚えて処理コードを書いている人が多いような印象を持っています。またはオンライン広告関係の方がNeteezaのような強力なデータ分析用のエンジンとともに、フロントをIBM Modelerを使っているようなお金持ちな構成(うらやましい!)で作業をされている場合もあるようです。
Orangeは機能面で言えば、ちょうどその隙間を埋めるといいますか、データマイニングの初心者でも、気軽にいろいろなアルゴリズムを使ってデータ処理をしてみるツールとしては良いツールだと思います。(いかんせん、現時点では日本語版が無いというのがハードルが高いのですが、この手の業務をするレベルの人は比較的、簡単な英語は読みこなせるのではと期待。)
Orangeのツールとしての特徴を挙げていきます。
 

ビジュアルなプログラミング環境

ウィジェットを組み合わせることで、データソースの指定から、処理するロジックの指定、出力の指定などのスキームを作ることが出来ます。この辺りのUIはIBM Modeler(旧SPSS Clementine)に似ています。

多様な可視化の機能

データ分析の作業にあたっては、結果を表現するためのビジュアライゼーションの機能が重要になってきます。Orangeでは普通の棒、折れ線グラフなどの他に、ツリー図、産婦図、ネットワーク図からヒートマップまで、多様な出力様式に対応できます。

ウィジェット

ビジュアルプログラミングを行う際に利用できるウィジェットは100を超え、さらに開発が続けられています。これらは標準的なデータ分析のタスクの他に、集計処理や機械学習のアルゴリズムの実装であったり、さらにはバイオインフォマティックス向けのBioorangeのような専用のアドオンも開発されています。

スクリプト用のインターフェース

Orangeの拡張は基本的にPythonで行いますs。Pythonのスクリプト用のインターフェースが用意されており、新しいアルゴリズムの実装や、データ処理フローの制御などを行う事が出来ます。また、Orangeのコンポーネントの再利用が可能であり、Pythonで実装されるデータ処理スクリプトにOrangeのライブラリを利用する事も出来ます。

ダウンロード

今の所、日本語版は用意されておりませんので、主に英語版での利用となるかと思います。
http://orange.biolab.si/download/
Windows版:
基本的にはPythonの実行環境も同梱されている”Full package”を選択します。
インストール用のexeファイルをダウンロードして実行し、指示に従ってください。
すでにインストール済みでバージョンアップを行う際には、”Pure Orange”版を選択し、既存の環境を上書きます。
Mac OS X版:
“Bundle”版でdmgファイルをダウンロードするか、Pypiパッケージを利用してインストールします。
パワーユーザーは、安定版または開発版のソースコードをダウンロードして、独自にビルドすることも可能です。

起動!

アイコンをダブルクリックして起動します。
 Orange Icon
ワークフローを記述するキャンバス画面が表示されます。初回起動の場合にはチュートリアル(Tutorial)を起動して、操作方法をチェックしてください。
日本語での資料が少ないので、徐々に翻訳を行ってみております。何かの機会にでも公開したいと思います。
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。