您的位置:首页 > 其它

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

2018-02-17 18:49 766 查看


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的博客

原文地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息