#0 はじめに
本記事はsklearnでOne Class SVMを実装する際の自分用メモとして記載した内容です。他の記事を読んで理解した点や、記憶しておきたい点を図を用いてまとめています。
#2 データ定義
今回訓練データ、試験データ、外れ値データとして以下を定義します。
X_train
とX_test
とX_outliers
のグラフはそれぞれ以下の通りです。
#3 データ学習
clf.get_params
で学習に使われたパラメータが表示される
clf.decision_function(X_test)
では各分布点における識別境界との距離を表しプラス値が分類内、マイナス値で分類外を意味する。
clf.predict(X_test)
は1もしくは-1を返し、与えられた各点が外れ値かどうかがわかる。
外れ値として与えたX_outliers
の範囲内外を調べるためにpredict
とdecision_function
を一つの表にまとめると以下のようになる。
外れ値が多いため、-1
となっているデータが多いが、一部1
となっているところがあり学習データ範囲内になっていることがわかる。
#4 結果表示
sample_set_1
は外れ値データセットの中で学習範囲内であったものの集合で、sample_set_mina1
は外れ値データセットの中で外れ値であったものの集合です。
以下OKとなっている2点が1
の点です。
以上、簡単な実装メモでした。