赞
踩
class sklearn.svm.SVC(C=1.0, kernel=’rbf’, degree=3, gamma=’auto_deprecated’, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape=’ovr’, random_state=None)
C-Support向量分类。
实现基于libsvm。拟合时间复杂度大于样本数量的二次型,这使其难以扩展到包含10000个以上样本的数据集。
多类支持是根据一对一方案处理的。
核函数的精确数学公式以及gamma、coef0和degree这些参数是比较重要的
>>> linear_svc = svm.SVC(kernel='linear')
>>> linear_svc.kernel
'linear'
>>> rbf_svc = svm.SVC(kernel='rbf')
>>> rbf_svc.kernel
'rbf'
您可以通过将内核作为python函数或预计算Gram矩阵来定义自己的内核。
具有自定义内核的分类器与任何其他分类器的行为相同,除了:
字段support_vectors_现在为空,只有支持向量的索引存储在support_中
fit()方法中第一个参数的引用(而不是副本)被存储以供将来引用。如果这个数组在fit()和predict()的使用之间发生变化,您将会得到 无法预计的结果。
使用Python函数作为内核
还可以通过在构造函数中将函数传递给关键字kernel来使用自己定义的内核。
您的内核必须以两个形状矩阵(n_samples_1, n_features)、(n_samples_2, n_features)作为参数,并返回一个形状矩阵(n_samples_1, n_samples_2)。
下面的代码定义了一个线性内核,并创建了一个使用该内核的分类器实例:
>>> import numpy as np
>>> from sklearn import svm
>>> def my_kernel(X, Y):
... return np.dot(X, Y.T)
...
>>> clf = svm.SVC(kernel=my_kernel)
print(__doc__)
import numpy as np
impor
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。