Weka

Weka (Waikato Environment for Knowledge Analysis) は、ニュージーランドのワイカト大学で開発した機械学習ソフトウェアで、Javaで書かれている。GNU General Public License でライセンスされているフリーソフトウェアである。
概要.
Wekaはデータ解析とのための視覚化ツールとアルゴリズムの集合体であり、その機能を容易に扱えるグラフィカルユーザインタフェースを備えている。当初のWekaはJavaではなくTcl/Tkでフロントエンドを構築し、（多くはサードパーティ製の）他のプログラミング言語で書かれたモデリングアルゴリズムを実装し、C言語で書かれたデータプリプロセッサとMakefileベースの機械学習システムを備えていた。その当初のバージョンは主に農業分野のデータを分析するツールとして設計されたが、1997年に開発が始まったJavaベースのバージョン (Weka 3) は様々な分野で活用されており、特に教育と研究で使われている。Wekaには次のような利点がある。
Wekaは、データプリプロセッシング、クラスタリング、統計分類、回帰分析、視覚化、特徴選択といった標準的データマイニングタスクをサポートしている。Wekaの技法は全て、データが単一のフラットファイルか関係（データベース）で与えられ、各データポイントは固定個の属性を持つものと想定している（通常、数値属性と名義属性を使用するが、他の属性型もサポートしている）。Java Database Connectivity を使ってSQLデータベースへのアクセスを提供しており、データベースへのクエリの結果を処理できる。複数の関係データベースからのデータマイニングはできないが、相互にリンクしたデータベースのテーブル群を単一のテーブルに変換してWekaで処理できる形にするソフトウェアが別途用意されている。Wekaが内蔵するアルゴリズムで対応できない重要な分野として、シーケンスモデリングがある。
Wekaの主たるユーザインタフェースは "Explorer" だが、同じ機能はコンポーネントベースの "Knowledge Flow" からもコマンドラインからもアクセスできる。また、同一データセットに対して複数のアルゴリズムを適用して得られた予測を体系的に比較評価できる "Experimenter" も備えている。
"Explorer" には、Wekaの主要コンポーネントへのアクセスを提供する次のようなパネルがある。
ARFFファイル.
Attribute Relationship File Format (ARFF) はWekaが使用するテキストファイルフォーマットで、このフォーマットでデータベースにデータを格納する。次の例は "weather" 関係データベース用のARFFファイルのヘッダ部を示したものである。
 @relation weather
 @attribute temperature real
 @attribute humidity real
ARFFファイルはヘッダ部とデータ部で構成される。ヘッダ部の先頭行には関係名がある。その後 "@attribute" で属性を定義している。各属性は一意な名前と型が対応している。型としては、数値型、名義型、文字列型、日付型がある。デフォルトのクラス属性はリストの最後のアイテムである。ヘッダ部にはコメント行も書くことができ、行頭に '%' を書く。データ部は "@data" で個々のデータを記述し、コンマで区切って属性を列挙する形で1行に1データを記述する。
歴史.
1993年、ニュージーランドのワイカト大学で最初のバージョンの開発が始まった。Tcl/Tk、C、Makefile などで構成されていた。1997年、Javaで一から書き直すことを決め、モデリングアルゴリズムもJavaで実装することとした。
2005年、の Data Mining and Knowledge Discovery Service Award を受賞。2006年、がビジネスインテリジェンス向けにWekaの独占ライセンスを取得し、同社のビジネスインテリジェンス向けスイートのデータマイニングおよび予測分析コンポーネントとして搭載した。