支持向量机SVM

发现一篇非常好的学习SVM的博客

http://blog.csdn.net/on2way/article/details/47731455(1~5系列)

可惜没有python的实现代码

下面是自己写的一个简单Python调用代码以及参数解释

'''
SVC参数解释 
(1)C: 目标函数的惩罚系数C,用来平衡分类间隔margin和错分样本的,default C = 1.0; ----惩罚系数C越大,对距离越重视 
(2)kernel:参数选择有RBF, Linear, Poly, Sigmoid, 默认的是"RBF";       
(3)degree:if you choose 'Poly' in param 2, this is effective, degree决定了多项式的最高次幂; 
(4)gamma:核函数的系数('Poly', 'RBF' and 'Sigmoid'), 默认是gamma = 1 / n_features  ----gamma越大,映射的维度越低,

         gamma越小,映射的维度越高,应该选择一个适中的gamma。
(5)coef0:核函数中的独立项,'RBF' and 'Poly'有效; 
(6)probablity: 可能性估计是否使用(true or false); 
(7)shrinking:是否进行启发式;  ----对于大样本数据时,运行快,时间短
(8)tol(default = 1e - 3): svm结束标准的精度; 
(9)cache_size: 制定训练所需要的内存(以MB为单位); 
(10)class_weight: 每个类所占据的权重,不同的类设置不同的惩罚参数C, 缺省的话自适应; 
(11)verbose: 跟多线程有关,不大明白啥意思具体; 
(12)max_iter: 最大迭代次数,default = 1, if max_iter = -1, no limited; 
(13)decision_function_shape : ‘ovo’ 一对一, ‘ovr’ 多对多  or None 无, default=None 
(14)random_state :用于概率估计的数据重排时的伪随机数生成器的种子。 
 ps:7,8,9一般不考虑。 
'''  
from sklearn.svm import SVC  
import numpy as np  
X= np.array([[-1,-1],[-2,-1],[1,1],[2,1]])   #原始变量
y = np.array([0,0,1,1])    #类别

clf = SVC()  #可调参
s=clf.fit(X,y)
print(s) 
print(clf.predict([[-0.9,-1],[2,3]]))

print(s.support_vectors_)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值