Weka

Weka (Waikato Environment for Knowledge Analysis) は、ニュージーランドのワイカト大学で開発した機械学習ソフトウェアで、Javaで書かれている。GNU General Public License でライセンスされているフリーソフトウェアである。 Wekaはデータ解析と予測モデリング（英語版）のための視覚化ツールとアルゴリズムの集合体であり、その機能を容易に扱えるグラフィカルユーザインタフェースを備えている。当初のWekaはJavaではなくTcl/Tkでフロントエンドを構築し、（多くはサードパーティー製の）他のプログラミング言語で書かれたモデリングアルゴリズムを実装し、C言語で書かれたデータプリプロセッサとMakefileベースの機械学習システムを備えていた。その当初のバージョンは主に農業分野のデータを分析するツールとして設計されたが、1997年に開発が始まったJavaベースのバージョン (Weka 3) は様々な分野で活用されており、特に教育と研究で使われている。Wekaには次のような利点がある。 GNU General Public License でライセンスされたフリーソフトウェアである。 完全にJavaで実装されているので、ほとんどのプラットフォームで動作する。 データプリプロセッサとモデリング技法を包括的に取り揃えている。 GUIを備えているので使いやすい。 Wekaは、データプリプロセッシング、クラスタリング、統計分類、回帰分析、視覚化、特徴選択といった標準的データマイニングタスクをサポートしている。Wekaの技法は全て、データが単一のフラットファイルか関係（データベース）で与えられ、各データポイントは固定個の属性を持つものと想定している（通常、数値属性と名義属性を使用するが、他の属性型もサポートしている）。Java Database Connectivity を使ってSQLデータベースへのアクセスを提供しており、データベースへのクエリの結果を処理できる。複数の関係データベースからのデータマイニングはできないが、相互にリンクしたデータベースのテーブル群を単一のテーブルに変換してWekaで処理できる形にするソフトウェアが別途用意されている。Wekaが内蔵するアルゴリズムで対応できない重要な分野として、シーケンスモデリングがある。 Wekaの主たるユーザインタフェースは Explorer だが、同じ機能はコンポーネントベースの Knowledge Flow からもコマンドラインからもアクセスできる。また、同一データセットに対して複数のアルゴリズムを適用して得られた予測を体系的に比較評価できる Experimenter も備えている。 Explorer には、Wekaの主要コンポーネントへのアクセスを提供する次のようなパネルがある。 Preprocess パネル - データベース、CSVファイルなどからデータをインポートし、filtering と呼ばれるアルゴリズムでプリプロセッシングする。それらフィルタ群は（例えば数値属性を離散的な属性に変換するなど）データを変換し、特定の基準に従ってインスタンスと属性を削除可能にする。予測モデルの正確度を評価したり、誤った予測やROC曲線を視覚化したり、 Classify パネル - Wekaで classifiers と呼んでいるアルゴリズム（統計分類や回帰分析アルゴリズム）をデータセットに適用でき、決定木などでモデル自身を視覚化したりできる。 Associate パネル - 相関規則学習（英語版）アルゴリズムにアクセスし、データの属性間の重要な相互関係を特定しようと試みる。 Cluster パネル - クラスタリング技法（単純名K平均法アルゴリズム）にアクセスする。複数の正規分布が混合したものを学習するEMアルゴリズムも実装している。 Select attributes パネル - データセット内で最も予言的な属性を識別するアルゴリズム群を提供する。 Visualize パネル - 散布図行列を表示し、特定の散布図を選択して拡大し、さらに様々な選択オペレータを使って分析できる。 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データを記述する。 1993年、ニュージーランドのワイカト大学で最初のバージョンの開発が始まった。Tcl/Tk、C、Makefile などで構成されていた。1997年、Javaで一から書き直すことを決め、モデリングアルゴリズムもJavaで実装することとした。 2005年、SIGKDDの Data Mining and Knowledge Discovery Service Award を受賞。2006年、Pentahoがビジネスインテリジェンス向けにWekaの独占ライセンスを取得し、同社のビジネスインテリジェンス向けスイートのデータマイニングおよび予測分析コンポーネントとして搭載した。 ^ Ian H. Witten; Eibe Frank, Mark A. Hall (2011年). “Data Mining: Practical machine learning tools and techniques, 3rd Edition”. Morgan Kaufmann, San Francisco. 2011年1月19日閲覧。 ^ G. Holmes; A. Donkin and I.H. Witten (1994年). “Weka: A machine learning workbench”. Proc Second Australia and New Zealand Conference on Intelligent Information Systems, Brisbane, Australia. 2007年6月25日閲覧。 ^ S.R. Garner; S.J. Cunningham, G. Holmes, C.G. Nevill-Manning, and I.H. Witten (1995年). “Applying a machine learning workbench: Experience with agricultural databases”. Proc Machine Learning in Practice Workshop, Machine Learning Conference, Tahoe City, CA, USA. pp. 14–21. 2007年6月25日閲覧。 ^ P. Reutemann; B. Pfahringer and E. Frank (2004年). “Proper: A Toolbox for Learning from Relational Data with Propositional and Multi-Instance Learners”. 17th Australian Joint Conference on Artificial Intelligence (AI2004). Springer-Verlag. 2007年6月25日閲覧。 ^ Attribute-Relation File Format (ARFF) ^ Ian H. Witten; Eibe Frank, Len Trigg, Mark Hall, Geoffrey Holmes, and Sally Jo Cunningham (1999年). “Weka: Practical Machine Learning Tools and Techniques with Java Implementations”. Proceedings of the ICONIP/ANZIIS/ANNES'99 Workshop on Emerging Knowledge Engineering and Connectionist-Based Information Systems. pp. 192–196. 2007年6月26日閲覧。 ^ Gregory Piatetsky-Shapiro (2005年6月28日). “KDnuggets news on SIGKDD Service Award 2005”. 2007年6月25日閲覧。 ^ “Overview of SIGKDD Service Award winners” (2005年). 2007年6月25日閲覧。 ^ Pentaho Acquires Weka Project by Pentaho in September 2006 数値解析ソフトウェア ウィキメディア・コモンズには、Wekaに関連するカテゴリがあります。 一般 Weka Project home page ワイカト大学（ニュージーランド） Weka Project home page SourceForge.net Wiki with FAQs, HOWTOs, code-snippets, etc. Community documentation at Pentaho List of algorithms compared to other DM Tools 応用例 頭字語識別 マイクロアレイデータからの遺伝子選択による癌の分類 金属配位をQSPRで分析 植物や病原体のESTの分類 その他の応用 拡張版 Weka4WS - イタリアのカラブリア大学で開発したグリッド対応版のWeka