本文简要介绍python语言中 sklearn.svm.SVC
的用法。
用法:
class sklearn.svm.SVC(*, C=1.0, kernel='rbf', degree=3, gamma='scale', 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', break_ties=False, random_state=None)
C-Support 向量分类。
该实现基于 libsvm。拟合时间至少与样本数量成二次方关系,超过数万个样本可能不切实际。对于大型数据集,可以考虑使用
LinearSVC
或SGDClassifier
,可能在Nystroem
转换器之后。多类支持根据one-vs-one 方案处理。
有关所提供内核函数的精确数学公式以及
gamma
、coef0
和degree
如何相互影响的详细信息,请参阅叙述文档中的相应部分:内核函数。在用户指南中阅读更多信息。
- C:浮点数,默认=1.0
正则化参数。正则化的强度与 C 成反比。必须严格为正。罚分是平方 l2 罚分。
- kernel:{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} 或可调用,默认='rbf'
指定要在算法中使用的内核类型。如果没有给出,将使用‘rbf’。如果给定了可调用对象,则它用于从数据矩阵中预先计算内核矩阵;该矩阵应该是一个形状为
(n_samples, n_samples)
的数组。- degree:整数,默认=3
多项式核函数的度数 (‘poly’)。被所有其他内核忽略。
- gamma:{‘scale’, ‘auto’} 或浮点数,默认='scale'
‘rbf’, ‘poly’ 和 ‘sigmoid’ 的核系数。
- 如果
gamma='scale'
(默认)被传递,那么它使用 1 /(n_features * X.var()) 作为伽玛值, - 如果‘auto’,使用 1 /n_features。
- 如果
- coef0:浮点数,默认=0.0
核函数中的独立项。仅在‘poly’和‘sigmoid’中有意义。
- shrinking:布尔,默认=真
是否使用收缩启发式。请参阅用户指南。
- probability:布尔,默认=假
是否启用概率估计。这必须在调用
fit
之前启用,这会减慢该方法,因为它在内部使用 5 折交叉验证,并且predict_proba
可能与predict
不一致。在用户指南中阅读更多信息。- tol:浮点数,默认=1e-3
停止标准的容差。
- cache_size:浮点数,默认=200
指定内核缓存的大小(以 MB 为单位)。
- class_weight:dict或‘balanced’,默认=无
对于 SVC,将第 i 类的参数 C 设置为class_weight[i]*C。如果没有给出,所有的类都应该有一个权重。 “balanced” 模式使用 y 的值自动调整与输入数据中的类频率成反比的权重,如
n_samples / (n_classes * np.bincount(y))
。- verbose:布尔,默认=假
启用详细输出。请注意,此设置利用了 libsvm 中的 per-process 运行时设置,如果启用,该设置可能无法在多线程上下文中正常工作。
- max_iter:整数,默认=-1
求解器内迭代的硬限制,或 -1 表示无限制。
- decision_function_shape:{‘ovo’, ‘ovr’},默认='ovr'
是否像所有其他分类器一样返回形状为 (n_samples, n_classes) 的 one-vs-rest (‘ovr’) 决策函数,或者返回 libsvm 的原始 one-vs-one (‘ovo’) 决策函数,其形状为 (n_samples, n_classes * (n_classes - 1) /2)。但是,one-vs-one (‘ovo’) 始终用作多类别策略。对于二元分类,该参数被忽略。
- break_ties:布尔,默认=假
如果为真,
decision_function_shape='ovr'
,并且类数 > 2,predict 将根据 decision_function 的置信度值打破平局;否则返回绑定类中的第一个类。请注意,与简单的预测相比,打破平局的计算成本相对较高。- random_state:int、RandomState 实例或无,默认=无
控制伪随机数生成,以对数据进行随机化以进行概率估计。当
probability
为 False 时忽略。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。
- class_weight_:ndarray 形状 (n_classes,)
每个类的参数 C 的乘数。根据
class_weight
参数计算。- classes_:ndarray 形状 (n_classes,)
类标签。
coef_
ndarray 形状 (n_classes * (n_classes - 1) /2, n_features)kernel="linear"
时分配给特征的权重。- dual_coef_:ndarray 形状(n_classes -1,n_SV)
决策函数中支持向量的对偶系数(参见数学公式)乘以它们的目标。对于多类,所有 1-vs-1 分类器的系数。多类情况下系数的布局有些重要。有关详细信息,请参阅用户指南的多类别部分。
- fit_status_:int
如果正确安装,则为 0,否则为 1(将发出警告)
- intercept_:ndarray 形状 (n_classes * (n_classes - 1) /2,)
决策函数中的常数。
- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。- support_:ndarray 形状 (n_SV)
支持向量的索引。
- support_vectors_:ndarray 形状(n_SV,n_features)
支持向量。
n_support_
ndarray 形状 (n_classes,), dtype=int32每个类的支持向量数。
probA_
ndarray 形状 (n_classes * (n_classes - 1) /2)probability=True
时在 Platt 缩放中学习的参数。probB_
ndarray 形状 (n_classes * (n_classes - 1) /2)probability=True
时在 Platt 缩放中学习的参数。- shape_fit_:int 形状的元组 (n_dimensions_of_X,)
训练向量
X
的数组维度。
参数:
属性:
参考:
例子:
>>> import numpy as np >>> from sklearn.pipeline import make_pipeline >>> from sklearn.preprocessing import StandardScaler >>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) >>> y = np.array([1, 1, 2, 2]) >>> from sklearn.svm import SVC >>> clf = make_pipeline(StandardScaler(), SVC(gamma='auto')) >>> clf.fit(X, y) Pipeline(steps=[('standardscaler', StandardScaler()), ('svc', SVC(gamma='auto'))])
>>> print(clf.predict([[-0.8, -1]])) [1]
相关用法
- Python sklearn SVR用法及代码示例
- Python sklearn ShrunkCovariance用法及代码示例
- Python sklearn SelfTrainingClassifier用法及代码示例
- Python sklearn SelectFromModel用法及代码示例
- Python sklearn SparsePCA用法及代码示例
- Python sklearn SpectralEmbedding用法及代码示例
- Python sklearn SelectFpr用法及代码示例
- Python sklearn ShuffleSplit用法及代码示例
- Python sklearn StratifiedGroupKFold用法及代码示例
- Python sklearn SpectralClustering用法及代码示例
- Python sklearn Sum用法及代码示例
- Python sklearn SpectralBiclustering用法及代码示例
- Python sklearn SelectKBest用法及代码示例
- Python sklearn SimpleImputer用法及代码示例
- Python sklearn SGDOneClassSVM用法及代码示例
- Python sklearn StratifiedShuffleSplit用法及代码示例
- Python sklearn SGDRegressor用法及代码示例
- Python sklearn SequentialFeatureSelector用法及代码示例
- Python sklearn SplineTransformer用法及代码示例
- Python sklearn SelectPercentile用法及代码示例
- Python sklearn SkewedChi2Sampler用法及代码示例
- Python sklearn SparseCoder用法及代码示例
- Python sklearn SGDClassifier用法及代码示例
- Python sklearn StratifiedKFold用法及代码示例
- Python sklearn SparseRandomProjection用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.svm.SVC。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。