Weka

From Wikipedia, the free encyclopedia

Weka (Waikato Environment for Knowledge Analysis) は、ニュージーランドワイカト大学で開発した機械学習ソフトウェアで、Javaで書かれている。GNU General Public License でライセンスされている自由ソフトウェアである。

概要

Wekaのロゴ。ニュージーランドの固有種ニュージーランドクイナ (weka) が使われている。

Wekaはデータ解析予測モデリング英語版のための視覚化ツールとアルゴリズムの集合体であり、その機能を容易に扱えるグラフィカルユーザインタフェースを備えている[2]。当初のWekaはJavaではなくTcl/Tkでフロントエンドを構築し、(多くはサードパーティー製の)他のプログラミング言語で書かれたモデリングアルゴリズムを実装し、C言語で書かれたデータプリプロセッサMakefileベースの機械学習システムを備えていた。その当初のバージョンは主に農業分野のデータを分析するツールとして設計されたが[3][4]、1997年に開発が始まったJavaベースのバージョン (Weka 3) は様々な分野で活用されており、特に教育と研究で使われている。Wekaには次のような利点がある。

Wekaは、データプリプロセッシングクラスタリング統計分類回帰分析、視覚化、特徴選択といった標準的データマイニングタスクをサポートしている。Wekaの技法は全て、データが単一のフラットファイルか関係(データベース)で与えられ、各データポイントは固定個の属性を持つものと想定している(通常、数値属性と名義属性を使用するが、他の属性型もサポートしている)。Java Database Connectivity を使ってSQLデータベースへのアクセスを提供しており、データベースへのクエリの結果を処理できる。複数の関係データベースからのデータマイニングはできないが、相互にリンクしたデータベースのテーブル群を単一のテーブルに変換してWekaで処理できる形にするソフトウェアが別途用意されている[5]。Wekaが内蔵するアルゴリズムで対応できない重要な分野として、シーケンスモデリングがある。

Wekaの主たるユーザインタフェースは Explorer だが、同じ機能はコンポーネントベースの Knowledge Flow からもコマンドラインからもアクセスできる。また、同一データセットに対して複数のアルゴリズムを適用して得られた予測を体系的に比較評価できる Experimenter も備えている。

Explorer には、Wekaの主要コンポーネントへのアクセスを提供する次のようなパネルがある。

  • Preprocess パネル - データベースCSVファイルなどからデータをインポートし、filtering と呼ばれるアルゴリズムでプリプロセッシングする。それらフィルタ群は(例えば数値属性を離散的な属性に変換するなど)データを変換し、特定の基準に従ってインスタンスと属性を削除可能にする。予測モデルの正確度を評価したり、誤った予測やROC曲線を視覚化したり、
  • Classify パネル - Wekaで classifiers と呼んでいるアルゴリズム(統計分類回帰分析アルゴリズム)をデータセットに適用でき、決定木などでモデル自身を視覚化したりできる。
  • Associate パネル - 相関規則学習英語版アルゴリズムにアクセスし、データの属性間の重要な相互関係を特定しようと試みる。
  • Cluster パネル - クラスタリング技法(単純名K平均法アルゴリズム)にアクセスする。複数の正規分布が混合したものを学習するEMアルゴリズムも実装している。
  • Select attributes パネル - データセット内で最も予言的な属性を識別するアルゴリズム群を提供する。
  • Visualize パネル - 散布図行列を表示し、特定の散布図を選択して拡大し、さらに様々な選択オペレータを使って分析できる。

ARFFファイル

Attribute Relationship File Format (ARFF) はWekaが使用するテキストファイルフォーマットで、このフォーマットでデータベースにデータを格納する。次の例は "weather" 関係データベース用のARFFファイルのヘッダ部を示したものである。

@relation weather
@attribute outlook {sunny, overcast, rainy}
@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}

ARFFファイルはヘッダ部とデータ部で構成される。ヘッダ部の先頭行には関係名がある。その後 "@attribute" で属性を定義している。各属性は一意な名前と型が対応している。型としては、数値型、名義型、文字列型、日付型がある。デフォルトのクラス属性はリストの最後のアイテムである。ヘッダ部にはコメント行も書くことができ、行頭に '%' を書く。データ部は "@data" で個々のデータを記述し、コンマで区切って属性を列挙する形で1行に1データを記述する[6]

歴史

1993年、ニュージーランドワイカト大学で最初のバージョンの開発が始まった。Tcl/Tk、C、Makefile などで構成されていた。1997年、Javaで一から書き直すことを決め、モデリングアルゴリズムもJavaで実装することとした[7]

2005年、SIGKDDの Data Mining and Knowledge Discovery Service Award を受賞[8][9]。2006年、Pentahoビジネスインテリジェンス向けにWekaの独占ライセンスを取得し、同社のビジネスインテリジェンス向けスイートのデータマイニングおよび予測分析コンポーネントとして搭載した[10]

脚注

関連項目

外部リンク

Related Articles

Wikiwand AI