1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

One Class SVMの実装

Posted at

#0 はじめに
本記事はsklearnでOne Class SVMを実装する際の自分用メモとして記載した内容です。他の記事を読んで理解した点や、記憶しておきたい点を図を用いてまとめています。

#1 準備
読み込む関数は以下です。
image.png

#2 データ定義

今回訓練データ、試験データ、外れ値データとして以下を定義します。

image.png

X_trainX_testX_outliersのグラフはそれぞれ以下の通りです。

image.png

image.png

image.png

#3 データ学習

image.png

clf.get_paramsで学習に使われたパラメータが表示される
image.png

clf.decision_function(X_test)では各分布点における識別境界との距離を表しプラス値が分類内、マイナス値で分類外を意味する。
image.png

clf.predict(X_test)は1もしくは-1を返し、与えられた各点が外れ値かどうかがわかる。
image.png

外れ値として与えたX_outliersの範囲内外を調べるためにpredictdecision_functionを一つの表にまとめると以下のようになる。

image.png

外れ値が多いため、-1となっているデータが多いが、一部1となっているところがあり学習データ範囲内になっていることがわかる。

image.png

#4 結果表示

image.png

sample_set_1は外れ値データセットの中で学習範囲内であったものの集合で、sample_set_mina1は外れ値データセットの中で外れ値であったものの集合です。

以下OKとなっている2点が1の点です。

image.png

以上、簡単な実装メモでした。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?