sklearn-SVC实现与类参数

SVC继承了父类BaseSVC

SVC类主要方法:

★__init__() 主要参数:

C: float参数 默认值为1.0

错误项的惩罚系数。C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确率越高,但是泛化能力降低,也就是对测试数据的分类准确率降低。相反,减小C的话,容许训练样本中有一些误分类错误样本,泛化能力强。对于训练样本带有噪声的情况,一般采用后者,把训练样本集中错误分类的样本作为噪声。

kernel: str参数 默认为‘rbf’

算法中采用的核函数类型,可选参数有:

‘linear’:线性核函数

‘poly’:多项式核函数

‘rbf’:径像核函数/高斯核

‘sigmod’:sigmod核函数

‘precomputed’:核矩阵

具体这些核函数类型,请参考上一篇博客中的核函数。需要说明的是,precomputed表示自己提前计算好核函数矩阵,这时候算法内部就不再用核函数去计算核矩阵,而是直接用你给的核矩阵。核矩阵为如下形式:

还有一点需要说明,除了上面限定的核函数外,还可以给出自己定义的核函数,其实内部就是用你自己定义的核函数来计算核矩阵。

degree:int型参数 默认为3

这个参数只对多项式核函数有用,是指多项式核函数的阶数n

如果给的核函数参数是其他核函数,则会自动忽略该参数。

gamma:float参数 默认为auto

核函数系数,只对‘rbf’,‘poly’,‘sigmod’有效。

如果gamma为auto,代表其值为样本特征数的倒数,即1/n_features.

coef0:float参数 默认为0.0

核函数中的独立项,只有对‘poly’和‘sigmod’核函数有用,是指其中的参数c

probability:bool参数 默认为False

是否启用概率估计。 这必须在调用fit()之前启用,并且会fit()方法速度变慢。

shrinking:bool参数 默认为True

是否采用启发式收缩方式

tol: float参数  默认为1e^-3

svm停止训练的误差精度

cache_size:float参数 默认为200

指定训练所需要的内存,以MB为单位,默认为200MB。

class_weight:字典类型或者‘balance’字符串。默认为None

给每个类别分别设置不同的惩罚参数C,如果没有给,则会给所有类别都给C=1,即前面参数指出的参数C.

如果给定参数‘balance’,则使用y的值自动调整与输入数据中的类频率成反比的权重。

verbose :bool参数 默认为False

是否启用详细输出。 此设置利用libsvm中的每个进程运行时设置,如果启用,可能无法在多线程上下文中正常工作。一般情况都设为False,不用管它。

max_iter :int参数 默认为-1

最大迭代次数,如果为-1,表示不限制

random_state:int型参数 默认为None

伪随机数发生器的种子,在混洗数据时用于概率估计。

★fit()方法:用于训练SVM,具体参数已经在定义SVC对象的时候给出了,这时候只需要给出数据集X和X对应的标签y即可。

★predict()方法:基于以上的训练,对预测样本T进行类别预测,因此只需要接收一个测试集T,该函数返回一个数组表示个测试样本的类别。

★属性有哪些:

svc.n_support_:各类各有多少个支持向量

svc.support_:各类的支持向量在训练样本中的索引

svc.support_vectors_:各类所有的支持向量

# -*- coding:utf-8 -*-

from sklearn.svm import SVC

import matplotlib.pyplot as plt

import numpy as np

X=np.array([[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[3,1],[4,1],[5,1],

[5,2],[6,1],[6,2],[6,3],[6,4],[3,3],[3,4],[3,5],[4,3],[4,4],[4,5]])

Y=np.array([1]*14+[-1]*6)

T=np.array([[0.5,0.5],[1.5,1.5],[3.5,3.5],[4,5.5]])

svc=SVC(kernel='poly',degree=2,gamma=1,coef0=0)

svc.fit(X,Y)

pre=svc.predict(T)

print pre

print svc.n_support_

print svc.support_

print svc.support_vectors_

运行结果:

[ 1  1 -1 -1]      #预测结果

[2 3]           #-1类和+1类分别有2个和3个支持向量

[14 17  3  5 13] #-1类支持向量在元训练集中的索引为14,17,同理-1类支持向量在元训练集中的索引为3,5,13

[[ 3.  3.]    #给出各支持向量具体是哪些,前两个是-1类的

[ 4.  3.]

[ 1.  4.]   #后3个是+1的支持向量

[ 2.  2.]

[ 6.  4.]]

结果如图所示。

svc预测概率_sklearn-SVC实现与类参数相关推荐

  1. svc预测概率_机器学习朴素贝叶斯 SVC对新闻文本进行分类

    朴素贝叶斯分类器模型(Naive Bayles) Model basic introduction: 朴素贝叶斯分类器是通过数学家贝叶斯的贝叶斯理论构造的,下面先简单介绍贝叶斯的几个公式: 先验概率: ...

  2. svc预测概率_利用Python高概率预测英雄联盟胜负,分析了1982场才得出的数据!...

    如今,只要随便进入一个网吧,都会发现玩<英雄联盟>的人是最多的,可以这么说,<英雄联盟>已经是当之无愧的端游一哥.而在拥有如此基数玩家的<英雄联盟>,已经不仅仅是一 ...

  3. 机器学习算法——概率类模型评估指标4(校准可靠性曲线及预测概率直方图)

    一.预测概率直方图 我们可以通过绘制直方图来查看模型的预测概率的分布. 直方图以样本的预测概率分箱后的结果为横坐标,每个箱中的样本数量为纵坐标绘制一个图像. 具体代码实现为: from sklearn ...

  4. 独家 | Python的“predict_prob”方法不能真实反映预测概率校准(如何实现校准)...

    作者:  Samuele Mazzanti 翻译:欧阳锦 校对:王可汗 本文约2300字,建议阅读8分钟 本文讨论了使用python中" predict_proba"的方法所生成的 ...

  5. python计算多个模型在不同数据集上的预测概率、获取每个数据集上的最优模型、多个最优模型的ROC曲线进行对比分析

    pytyon计算多个模型在不同数据集上的预测概率.获取每个数据集上的最佳模型.多个最优模型的ROC曲线进行对比分析 目录

  6. R语言glm拟合logistic回归模型:模型评估(模型预测概率的分组密度图、混淆矩阵、准确率、精确度、召回率、ROC、AUC)、PRTPlot函数获取logistic模型最优阈值(改变阈值以优化)

    R语言glm拟合logistic回归模型:模型评估(模型预测概率的分组密度图.混淆矩阵.Accuray.Precision.Recall.ROC.AUC).PRTPlot函数可视化获取logistic ...

  7. python基于模型对测试集和训练集的预测概率结果文件可视化模型的校准曲线、多个模型的校准曲线(calibration curve)

    python基于模型对测试集和训练集的预测概率结果文件可视化模型的校准曲线.多个模型的校准曲线(calibration curve) 目录

  8. R语言构建xgboost模型、预测推理:输出预测概率、预测标签

    R语言构建xgboost模型.预测推理:输出预测概率.预测标签 目录 R

  9. 预测概率是什么?ROC曲线是什么?PR曲线是什么?ROC曲线和PR曲线使用场景差异?

    预测概率是什么?ROC曲线是什么?PR曲线是什么?ROC曲线和PR曲线使用场景差异? 目录

  10. Keras之DNN:基于Keras(sigmoid+binary_crossentropy+predict_proba)利用DNN实现分类预测概率——DIY二分类数据集预测新数据点

    #Keras之DNN:基于Keras(sigmoid+binary_crossentropy+predict_proba)利用DNN实现分类预测概率--DIY二分类数据集&预测新数据点 目录 ...

最新文章

  1. SAP PM 设备维护事务码收集整理
  2. 开发实习生做什么_实习生月薪6W,还有住房补贴!投行前台到底是做什么的?...
  3. 11.6 java中jar包使用
  4. 关于字符集报错显示“255”Unknown initial character set index '255' received from server.
  5. 【STM32】FreeRTOS资源(持续更新)
  6. Super Mario HDU - 4417(主席树解决区间数字小于k的个数||线段树+离线)
  7. 如何用matlab消除谐波,如何在含有整次谐波和非整次谐波的信号中去除整次谐波?...
  8. 重学java基础第二十三课:java基础 注释
  9. 《白帽子讲web安全》学习笔记 (3)
  10. 大数据时代下的“管理”要素数据化
  11. python实现外挂自动学习网络课程实例
  12. 计算机网络各章节知识点总结
  13. windows 在一个文件夹打开cmd的方式
  14. Origin | 图形动画制作
  15. 在个人计算机系统中 常见外存储器有(),内蒙古事业单位专业知识计算机考试题库:计算机基础练习题(22)...
  16. matplotlib实现多个子图的盒须图
  17. 清华计算机2020保研,清华大学2020届保研情况
  18. NVIDIA中文车牌识别系列-3:使用TLT训练车牌号识别LPR模型
  19. 能上QQ却打不开网页的原因及解决办法
  20. Python等级考试一道关于血压的综合题解析

热门文章

  1. matlab语言与测绘,MATLAB语言及测绘数据处理应用
  2. reflections歌词翻译_问:关于玛丽亚凯莉的一首Reflections 的中文翻译(不要翻译机!)...
  3. html文档头部标记,HTML头部标记
  4. vue 图片剪裁插件
  5. 域名申请:一定要进行实名认证吗?
  6. 越狱Season 1-Season 1, Episode 3: Cell Test
  7. windows7怎么安装android,安卓手机如何装win7系统
  8. AI之路最近的一些思考
  9. 多糖类水凝胶构建制备介绍(瑞禧多糖水凝胶简述)
  10. Mendix APP在腾讯云部署说明文档