找到SVM分類器的支持向量(scikit-learn)

這裏寫圖片描述

0.庫的導入

# 導入庫
from sklearn.svm import SVC
from sklearn import datasets
from sklearn.preprocessing import StandardScaler
import numpy as np

1.加載Iris Flower 數據集

#Iris Flower 數據集有三個類別,這裏只加載兩個類別
iris = datasets.load_iris()
X = iris.data[:100,:]
y = iris.target[:100]

2.特徵標準化

# 特徵標準化
scaler = StandardScaler()
X_std = scaler.fit_transform(X)

3.訓練支持向量分類器

# 創建支持向量分類器對象
svc = SVC(kernel='linear', random_state=0)

# 訓練分類器
model = svc.fit(X_std, y)

4.查看支持向量

# 查看支持向量的值
model.support_vectors_
array([[-0.5810659 ,  0.43490123, -0.80621461, -0.50581312],
       [-1.52079513, -1.67626978, -1.08374115, -0.8607697 ],
       [-0.89430898, -1.46515268,  0.30389157,  0.38157832],
       [-0.5810659 , -1.25403558,  0.09574666,  0.55905661]])

5.查看支持向量的索引值

# 查看支持向量在所有數據點中的索引值
model.support_
array([23, 41, 57, 98])

6.查看每個類別的支持向量的個數

# 查看每個類別有幾個支持向量,這裏可以看到每個類別各有兩個支持向量
model.n_support_
array([2, 2])

7.說明

翻譯自Chris Albon的博客

原文地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章