SVC(サポートベクターマシン)の使い方(sklearn)



Python
Pythonとは
基本的な使い方
IDLE

Jupyter Notebook

Markdown

コマンドプロンプトで実行

仮想環境の構築

仮想環境でIDLEを実行

ライブラリのインストール
pipの使い方

numpy , matplotlib等

graphviz

pytorch

Mecab

Pythonの関数:一覧
共通関数
append , extend

class

copy

csv.reader

csv.writer

def , return

dict , defaultdict

enumerate

exit

for

if

import

in

input

lambda

len

list

min/max

OrderedDict

open/close

os

pickle

print

range

re.split

read/readline

round/floor/ceil

split

sys.argv

time

while

write

zip

・特殊メソッド
 ・__name__

 ・__iter__ , __next__

正規表現、メタ文字

データの型の種類

四則演算 (+ , - , * , /)

コメントアウト (# , ''')

numpy
append

arange

argmax/argmin

array

asfarray

astype , dtype

digitize

dot

hstack/vstack

linalg.solve

linspace

max,min

mean

meshgrid

mgrid

ndim

ndmin

pad

poly1d

polyfit

prod

random

reshape

savetxt/loadtxt

shape

std

transpose

where

zeros/zeros_like

scipy
expit

imread

interpolate

signal.square, sawtooth

matplotlib
imshow

figure

pcolormesh

plot

quiver

scatter

scikit-learn
GaussianNB

KMeans

KNeighborsClassifier

SVC

tree

chaospy

keras

chainer

chainerrl

pytorch
BCELoss , MSELoss

Embedding

device

Sequential

Dataset, Dataloader

RNN, LSTM

OpenAI gym
Blackjack-v0

CartPole-v0

tkinter
frame, grid

画像表示

画像を切り取り表示

画像を保存

目的別
ステップ関数

矩形波, 三角波

1 of K 符号化法

線形補間

配列に番号をつける

ベクトル場を描く

線形回帰, 多項式回帰


公開日:2020/2/24         

In English


■SVC関数の説明

サポートベクターマシン(SVM)による分類を実施します。SVMの詳細はこちら。scikit-learn等の各種ライブラリのインストールはこちら

■SVC関数の具体例

以下グラフにおいて特徴データからテストデータのラベル値を分類します。



プログラムは以下のとおり。

from sklearn import svm
import numpy as np
import matplotlib.pyplot as plt

X = np.array([[5,10],[8,50],[10,20]])  # 特徴データ
Y = np.array([1, 2, 3])    # 特徴データのラベル
t = np.array([[9,20]])    # テストデータ

clf = svm.SVC(kernel='rbf', gamma =0.0001, C=1000)    # SVMの定義
clf.fit(X, Y)    # 特徴データにフィッティング
print(clf.predict(t))    # テストデータを分類

plt.plot([5,8,10],[10,50,20],'o')    # 特徴データのプロット
plt.plot([9],[20],'^')    # テストデータのプロット
plt.grid(True)
plt.show()


結果は3という値を返したと思います。確かに特徴データの3に近いところにあるので、結果は妥当かと思います。なおSVCの設定パラメータは以下のとおり。

<kernel>

カーネル関数を設定します。主に以下となります。

 linear:線形
 poly:多項式
 rbf:Radial basis function(放射基底関数) ここではガウスカーネルのこと
 sigmoid:シグモイドカーネル

<gamma>

訓練データの位置を中心とした分布の広がり度合いを決める。値が小さいほど緩やかな分布になり、訓練データの感度が下がる。 値が大きいと鋭い分布になり訓練データの位置に過学習しやすくなる。

<C>

コストパラメータ。値が小さいほど誤りを許容し、大きいほど誤りを許容しなくなるので過学習しやすくなる。









サブチャンネルあります。⇒ 何かのお役に立てればと

関連記事一覧



Python
Pythonとは
基本的な使い方
IDLE

Jupyter Notebook

Markdown

コマンドプロンプトで実行

仮想環境の構築

仮想環境でIDLEを実行

ライブラリのインストール
pipの使い方

numpy , matplotlib等

graphviz

pytorch

Mecab

Pythonの関数:一覧
共通関数
append , extend

class

copy

csv.reader

csv.writer

def , return

dict , defaultdict

enumerate

exit

for

if

import

in

input

lambda

len

list

min/max

OrderedDict

open/close

os

pickle

print

range

re.split

read/readline

round/floor/ceil

split

sys.argv

time

while

write

zip

・特殊メソッド
 ・__name__

 ・__iter__ , __next__

正規表現、メタ文字

データの型の種類

四則演算 (+ , - , * , /)

コメントアウト (# , ''')

numpy
append

arange

argmax/argmin

array

asfarray

astype , dtype

digitize

dot

hstack/vstack

linalg.solve

linspace

max,min

mean

meshgrid

mgrid

ndim

ndmin

pad

poly1d

polyfit

prod

random

reshape

savetxt/loadtxt

shape

std

transpose

where

zeros/zeros_like

scipy
expit

imread

interpolate

signal.square, sawtooth

matplotlib
imshow

figure

pcolormesh

plot

quiver

scatter

scikit-learn
GaussianNB

KMeans

KNeighborsClassifier

SVC

tree

chaospy

keras

chainer

chainerrl

pytorch
BCELoss , MSELoss

Embedding

device

Sequential

Dataset, Dataloader

RNN, LSTM

OpenAI gym
Blackjack-v0

CartPole-v0

tkinter
frame, grid

画像表示

画像を切り取り表示

画像を保存

目的別
ステップ関数

矩形波, 三角波

1 of K 符号化法

線形補間

配列に番号をつける

ベクトル場を描く

線形回帰, 多項式回帰