しろかい!

アプリ開発や機械学習などの開発Tips.

LIBLINEARをインストールして簡単な予測を行う

ロジスティック回帰を使って簡単に多クラス分類ができるライブラリ「LIBLINEAR」のインストール方法と,基本的な2つのコマンドである trainpredict (学習と予測) の使い方のまとめです.
LIBLINEAR は線形分類に特化しており,計算が非常に高速です.
(データが線形分離可能かは予め調べておきましょう)

インストール

Mac 及び Linux系OS へのインストール方法です.
2015/9/8 時点での最新版である ver.2.01 をインストールします.

ターミナルを開き,任意のディレクトリで以下のコマンドを実行します.

$ wget 'http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/liblinear.cgi?+http://www.csie.ntu.edu.tw/~cjlin/liblinear+tar.gz' -O liblinear.tar.gz
$ tar xzvf liblinear.tar.gz
$ cd liblinear-2.01
$ make

これでインストールは完了です.

ちなみに,公式サイトからDLしてきてインストールすることも可能です.

学習と予測

以下のページの「READMEを読む」の項以降が参考になります.
LIBLINEARを使ってみたメモ | mwSoft

基本的に使うコマンドは以下の2つだけです.
インストールしたディレクトリ (liblinear-2.01/) 上で実行して下さい.

学習

./train [options] training_set_file [model_file]
  • [options]: モデルのパラメータなどの指定を行える.
  • training_set_file: 学習に使うデータセット.特定の形式 (以下 LIBLINEAR形式 と呼びます) にする必要がある.
  • [model_file]: 生成されるモデルファイルの名前を指定する.

./train -h でヘルプが見れます.

[options] で色々なパラメータを指定できますが,基本的にチューニングが必要なのは -c:コスト と-B:バイアス の2つです.また,どのソルバー (-s で指定) を使うかも重要です.

また、-v n で n-fold cross validation を実行できます.チューニング時に役に立ちます.

予測

./predict [options] test_file model_file output_file
  • [options]: 出力内容などの設定.
  • test_file: 予測 (テスト) に使うデータセット.学習時同様,特定の形式にする必要がある.
  • model_file: 学習したモデルファイルを指定する.
  • output_file: 予測結果を出力するファイルの名前を指定する.

まとめ

簡単にインストールでき,しかも trainpredict という2つのコマンドのみで学習から予測まで行えてしまう LIBLINEAR について,とりあえず簡単な予測を行えるところまで説明しました.
LIBLINEAR はターミナルからのコマンド実行以外にも,各種プログラミング言語から呼び出して使うこともできます.
Python での使い方については近いうちにまとめたいと思います.