利用sklearn 实现SVM分类

scv  函数
class sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape=None, random_state=None)


该函数的时间复杂度超过了O(N^2)对于较大的数据集(10000样本以上)不建议使用
多分类方法是基于1VS1的SVM结构


参数说明:


C:浮点数 默认为1.0 错误项的惩罚参数C


kernel:核函数 默认为rbf型,其他可选的有linear,poly,sigmoid,precomputed,以及可调用自定义形式callable。如果给出了一个可调用函数,则用于从数据矩阵预先计算核心矩阵; 该矩阵应该是一个数组其形式为(n_samples,n_samples)。


degree:整数形,默认为3。用于多项式核函数的度数('poly')。 被所有其他内核忽略。


gamma:浮点,可选默认为’auto’。该参数是'rbf','poly'和'sigmoid'的内核系数。 如果gamma是'auto',那么将会使用1 / n_features。


Coef0: 浮点型,默认为0.0. 核函数的独立特征,仅仅在’poly’和‘sigmoid’核函数中有意义


probability:布尔型,可选,默认为False。是否启用概率估计,必须在调用fit之前启用,启用后会降低算法效率


shrinking:布尔型,可选默认为True。是否使用缩减启发式。


Tot :  浮点型 默认为3.0。停止标准的公差


cache_size:浮点型,可选。指定内核缓存的大小(以MB为单位)。


Class_weight:{‘dict’,’balanced’ }, 可选。
将类i的参数C设置为SVC的class_weight[I]*C。如果没有给出,所有类的weight 为1.‘balanced’模式使用y 值自动调整权重,调整方式是与输入数据中类频率成反比。如n_samples / (n_classes * np.bincount(y))


verbose: 布尔型,默认为False。启用详细输出。 请注意,此设置利用libsvm中的每个进程运行时设置,如果启用,可能无法在多线程环境中正常工作。
 
Max—iter:整型,可选默认-1。求解器中迭代的极限,或无限制的-1。


decision—function—shape:‘ovo’,’ovr’或者默认 none。是否将一对多’ovr’的决策函数其形式为(n_samples, n_classes),返回为其他的分类器。或者返回原始的一对一’ovo’决策函数其形式为,(n_samples, n_classes * (n_classes - 1) / 2)。默认值“None”目前表现为“ovo”,用于向后兼容,并引发弃用警告,但会将更改为“ovr”在0.19版本。


random_state:int 种子,随机状态实例或无(默认)
伪随机数发生器的种子在混洗数据时用于概率估计。


方法
decision_function(X)样本X与分离超平面的距离。
fit(X,y [,sample_weight])根据给定的训练数据拟合SVM模型。
get_params([deep])获取此估计器的参数。
Predict(X)对X中的样本进行分类
score(X,y [,sample_weight])返回给定测试数据和标签的平均精度。
set_params(\ * \ * params)设置此估计器的参数。


decision_function(X)[source]
样品X与分离超平面的距离。
参数:
X:数组式,形式(n_samples,n_features)
返回值:
X:array-like,shape(n_samples,n_classes *(n_classes-1)/ 2)
返回模型中每个类的样本的决策函数。 如果decision_function_shape ='ovr',则形式为(n_samples,n_classes)


fit(X,y,sample_weight = None)[来源]
根据给定的训练数据拟合SVM模型。
参数:
X:{array-like,sparse matrix},shape(n_samples,n_features)
训练向量,其中n_samples是样本数,n_feature是特征数。 对于kernel =“预计算”,X的预期形状为(n_samples,n_samples)。
y:array-like,shape(n_samples,)
目标值(分类中的类标签,回归中的实数)
sample_weight:array-like,shape(n_samples,)
每样品权重 每个样品重新调整C。 较高的权重会使分类器更加强调这些要点。
返回值:
self:对象
返回自我。
如果X和Y不是C顺序的,并且np.float64和X的连续数组不是scipy.sparse.csr_matrix,则可以复制X和/或y。
如果X是密集数组,则其他方法将不支持稀疏矩阵作为输入。


get_params(deep=True)
获得估计器的参数.
如果为True,将返回此估计器的参数,并包含作为估计量的子对象。


predict(X)[source]
对X中的样本进行分类。
对于一个类的模型,返回+1或-1。
参数:
X:{array-like,sparse matrix},shape(n_samples,n_features)
对于kernel =“precomputed”,X的预期形式为[n_samples_test,n_samples_train]
返回:
y_pred:array,shape(n_samples,)
X中样本的类标签


score(X, y, sample_weight=None)[source]
返回给定测试数据和标签的平均精度。
在多标签分类中,这是一个苛刻度量的子集精度。
参数:
X:array-like,shape =(n_samples,n_features)
测试样品。
y:array-like,shape =(n_samples)或(n_samples,n_outputs)
X的真标签
sample_weight:array-like,shape = [n_samples],可选
样品权重
返回:
分数:浮点
self.predict(X) wrt. y.的平均精度
  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值