Anomaly チュートリアル¶
ここではJubatusの外れ値検知である、jubaanomalyを使用した、Jubatus Clientの使い方を説明します。
Jubatusでの外れ値検知では、LOF(Local Outlier Factor)をサポートしています。 LOFとは、N次元空間で、近く(近傍)にある点がどの程度あるかを調べる事で、外れ値を検出する方法です。 不正検知、障害検知などに利用することができます。
サンプルプログラムの概要¶
サンプルとして、KDDカップ(Knowledge Discovery and Data Mining Cup)の結果データを学習させ、外れ値を検知するプログラムを用います。
最初に、結果データをクライアント側で用意し、データを抽出しサーバ側に学習させます。
結果データは KDD Cup 1999 Data から kddcup.data_10_percent.gz
をダウンロード後、解凍してください。
次に、学習させた際の戻り値から近傍かどうかを判定し、外れ値であれば結果を出力します。
処理の流れ¶
Jubatus Clientを使ったコーディングは、主に以下の流れになります。
- Jubatus Serverへの接続設定
サーバ側で起動している Jubatus ServerのHOSTやPORTを指定し、接続設定をします。
- 学習用データの準備
kddcup.data_10_percent.txtから1行ずつ読み出します。
- データの学習(学習モデルの更新)
読み出した学習用データをaddメソッドでサーバ側に与え、学習を行います。
- 結果の出力
addメソッドの戻り値にて外れ値かどうか判定し、結果を出力します。