NuSRC#
- class sklearn.svm.NuSVC(*, nu=0.5, 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)[源代码]#
NU-支持向量分类。
与SRC类似,但使用参数来控制支持载体的数量。
该实现基于libsvm。
阅读更多的 User Guide .
- 参数:
- nu浮点数,默认值=0.5
保证金误差分数的上限(请参阅 User Guide )和支持量分数的下限。应在区间(0,1]内。
- kernel{'linear','poly','rbf','sigmoid','precomputed'}或可调用, 默认值='rbf'
指定算法中使用的内核类型。如果没有给出,则将使用“rBF”。如果给出了可调用内容,则使用它来预计算核矩阵。有关不同内核类型的直观可视化,请参阅 具有不同支持机核的地块分类边界 .
- degreeint,默认=3
多项核函数(“poly”)的次数。必须是非负的。被所有其他内核忽视。
- gamma请输入'scale','auto'}或float,default='scale'
“rbf”、“poly”和“sigmoid”的核系数。
如果
gamma='scale'
(默认)被传递,然后它使用1 /(n_features * X.var())作为gamma的值,如果是“自动”,则使用1 / n_features
如果为浮动,则必须为非负数。
在 0.22 版本发生变更: 的默认值
gamma
从“自动”更改为“规模”。- coef0float,默认=0.0
核函数中的独立项。它仅在“多聚体”和“西格玛”中显着。
- shrinking布尔,默认=True
是否使用收缩启发式。看到 User Guide .
- probability布尔,默认=假
是否启用概率估计。必须在呼叫之前启用此功能
fit
,将减慢该方法的速度,因为它内部使用5倍交叉验证,并且predict_proba
可能不符合predict
.阅读更多的 User Guide .- tol浮点数,默认值= 1 e-3
停止标准的容忍度。
- cache_size浮动,默认=200
指定内核缓存的大小(以MB为单位)。
- class_weight{dict,' balanced '},默认=无
Set the parameter C of class i to class_weight[i]*C for SVC. If not given, all classes are supposed to have weight one. The "balanced" mode uses the values of y to automatically adjust weights inversely proportional to class frequencies as
n_samples / (n_classes * np.bincount(y))
.- verbose布尔,默认=假
启用详细输出。请注意,此设置利用了libsvm中的每进程运行时设置,如果启用该设置,则可能无法在多线程上下文中正常工作。
- max_iterint,默认=-1
求解器内迭代的硬限制,或-1表示无限制。
- decision_function_shape' vo ',',默认=' ovr '
是否像所有其他分类器一样返回形状(n_samples,n_classes)的一vs-rest(' ovr ')决策函数,或者返回具有形状(n_samples,n_classes *(n_classes - 1)/ 2)的libsvm的原始一vs-一(' vo ')决策函数。然而,一对一(“vo”)始终被用作多类策略。对于二进制分类,该参数将被忽略。
在 0.19 版本发生变更: decision_function_shape默认为“ovr”。
Added in version 0.17: decision_function_shape='ovr' 建议。
在 0.17 版本发生变更: 弃用 decision_function_shape='ovo' and None .
- break_ties布尔,默认=假
如果属实,
decision_function_shape='ovr'
,且班级数量> 2, predict 将根据信心值打破关系 decision_function ;否则返回绑定类中的第一个类。请注意,与简单的预测相比,打破平局的计算成本相对较高。看到 SV打破平局示例 作为其使用示例decision_function_shape='ovr'
.Added in version 0.22.
- random_stateint,RandomState实例或无,默认=无
控制伪随机数的生成,用于洗牌数据以进行概率估计。时忽略
probability
是假的。传递一个int值,以便在多个函数调用中获得可重复的输出。看到 Glossary .
- 属性:
- class_weight_形状的nd数组(n_classes,)
每个类的参数C的乘数。根据
class_weight
参数.- classes_形状的nd数组(n_classes,)
独特的班级标签。
coef_
形状的nd数组(n_classes *(n_classes -1)/ 2,n_features)在以下情况下分配给要素的权重
kernel="linear"
.- dual_coef_形状nd数组(n_classes - 1,n_SV)
决策函数中支持载体的双重系数(请参阅 数学公式 ),乘以他们的目标。对于多类,所有1 vs 1分类器的系数。多类情况下系数的布局有些不平凡。看到 multi-class section of the User Guide 有关详细信息
- fit_status_int
如果正确匹配,则为0;如果算法不收敛,则为1。
- intercept_形状的ndarray(n_classes *(n_classes - 1)/ 2,)
决策功能中的常数。
- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( Names of features seen during fit. Defined only when
X
has feature names that are all strings.Added in version 1.0.
- n_iter_形状的nd数组(n_classes *(n_classes - 1)// 2,)
优化例程为适应模型而运行的迭代次数。此属性的形状取决于优化的模型数量,而优化的模型数量又取决于类的数量。
Added in version 1.1.
- support_形状的nd数组(n_SV,)
支持载体指数。
- support_vectors_ndrow形状数组(n_SV,n_features)
支持载体。
n_support_
形状的nd数组(n_classes,),dype = int 32每个类别的支持载体数量。
- fit_status_int
如果正确匹配,则为0;如果算法不收敛,则为1。
probA_
形状的ndarray(n_classes *(n_classes - 1)/ 2,)Platt缩放中学习的参数
probability=True
.probB_
形状的ndarray(n_classes *(n_classes - 1)/ 2,)Platt缩放中学习的参数
probability=True
.- shape_fit_形状的int的多元组(n_dimensions_of_X,)
训练载体的数组维度
X
.
引用
[1]LIBSVM: A Library for Support Vector Machines <http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf>
_[2]Platt, John (1999). "Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods" <https://citeseerx.ist.psu.edu/doc_view/pid/42e5ed832d4310ce4378c44d05570439df28a393>
_示例
>>> import numpy as np >>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) >>> y = np.array([1, 1, 2, 2]) >>> from sklearn.pipeline import make_pipeline >>> from sklearn.preprocessing import StandardScaler >>> from sklearn.svm import NuSVC >>> clf = make_pipeline(StandardScaler(), NuSVC()) >>> clf.fit(X, y) Pipeline(steps=[('standardscaler', StandardScaler()), ('nusvc', NuSVC())]) >>> print(clf.predict([[-0.8, -1]])) [1]
- decision_function(X)[源代码]#
Evaluate the decision function for the samples in X.
- 参数:
- X形状类似阵列(n_samples,n_features)
输入样本。
- 返回:
- X形状的nd数组(n_samples,n_classes *(n_classes-1)/ 2)
返回模型中每个类的样本的决策函数。如果decision_function_shape =' ovr ',则形状为(n_samples,n_classes)。
注意到
如果decision_function_shape =' vo ',则函数值与样本X到分离超平面的距离成比例。如果需要确切的距离,请将函数值除以权重载体的规范 (
coef_
).另见 this question 了解详情。如果decision_function_shape ='ovr',则判定函数是卵判定函数的单调变换。
- fit(X, y, sample_weight=None)[源代码]#
根据给定的训练数据对支持机模型进行匹配。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵} 或(n_samples,n_samples)
训练载体,在哪里
n_samples
是样本数量和n_features
是功能的数量。对于core =“precalled”,X的预期形状是(n_samples,n_samples)。- y形状类似阵列(n_samples,)
目标值(分类中的类别标签,回归中的真实数字)。
- sample_weight形状类似数组(n_samples,),默认=无
每个样品的重量。根据样本重新调整C。更高的权重迫使分类器更加强调这些点。
- 返回:
- self对象
拟合估计量。
注意到
如果X和y不是np.float64的C排序且连续数组,并且X不是scipy.sparse.csr_matrix,则可以复制X和/或y。
如果X是密集数组,那么其他方法将不支持稀疏矩阵作为输入。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- predict(X)[源代码]#
对X中的样本进行分类。
对于一级模型,返回+1或-1。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}或 (n_samples_test,n_samples_train)
对于core =“预先计算”,X的预期形状是(n_samples_Test,n_samples_train)。
- 返回:
- y_pred形状的nd数组(n_samples,)
X中样本的类别标签。
- predict_log_proba(X)[源代码]#
计算X中样本可能结果的log概率。
模型需要在训练时计算概率信息:与属性匹配
probability
设置为True。- 参数:
- X形状类似阵列(n_samples,n_features)或 (n_samples_test,n_samples_train)
对于core =“预先计算”,X的预期形状是(n_samples_Test,n_samples_train)。
- 返回:
- T形状的nd数组(n_samples,n_classes)
返回模型中每个类别的样本的log概率。这些列按排序顺序对应于类,因为它们出现在属性中 classes_ .
注意到
概率模型是使用交叉验证创建的,因此结果可能与通过预测获得的结果略有不同。此外,它将在非常小的数据集上产生无意义的结果。
- predict_proba(X)[源代码]#
计算X中样本可能结果的概率。
模型需要在训练时计算概率信息:与属性匹配
probability
设置为True。- 参数:
- X形状类似阵列(n_samples,n_features)
对于core =“预先计算”,X的预期形状是(n_samples_Test,n_samples_train)。
- 返回:
- T形状的nd数组(n_samples,n_classes)
返回模型中每个类的样本的概率。这些列按排序顺序对应于类,因为它们出现在属性中 classes_ .
注意到
概率模型是使用交叉验证创建的,因此结果可能与通过预测获得的结果略有不同。此外,它将在非常小的数据集上产生无意义的结果。
- score(X, y, sample_weight=None)[源代码]#
返回给定测试数据和标签的平均准确度。
在多标签分类中,这是子集准确度,这是一个苛刻的指标,因为您需要为每个样本正确预测每个标签集。
- 参数:
- X形状类似阵列(n_samples,n_features)
测试样本。
- y形状的类似阵列(n_samples,)或(n_samples,n_outputs)
真正的标签
X
.- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- 返回:
- score浮子
平均准确度
self.predict(X)
w.r.t.y
.
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') NuSVC [源代码]#
请求元数据传递给
fit
法请注意,此方法仅适用于以下情况
enable_metadata_routing=True
(见sklearn.set_config
).请参阅 User Guide 关于路由机制如何工作。The options for each parameter are:
True
:元数据被请求并传递给fit
如果提供的话。如果未提供元数据,则会忽略请求。False
:未请求元数据,元估计器不会将其传递给fit
.None
:不请求元数据,如果用户提供元估计器,则元估计器将引发错误。str
:元数据应通过此给定别名而不是原始名称传递给元估计器。
默认 (
sklearn.utils.metadata_routing.UNCHANGED
)保留现有请求。这允许您更改某些参数的请求,而不是其他参数。Added in version 1.3.
备注
只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在
Pipeline
.否则就没有效果了。- 参数:
- sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged
元数据路由
sample_weight
参数fit
.
- 返回:
- self对象
更新的对象。
- set_params(**params)[源代码]#
设置此估计器的参数。
该方法适用于简单估计器以及嵌套对象(例如
Pipeline
).后者具有以下形式的参数<component>__<parameter>
以便可以更新嵌套对象的每个组件。- 参数:
- **paramsdict
估计参数。
- 返回:
- self估计器实例
估计实例。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') NuSVC [源代码]#
请求元数据传递给
score
法请注意,此方法仅适用于以下情况
enable_metadata_routing=True
(见sklearn.set_config
).请参阅 User Guide 关于路由机制如何工作。The options for each parameter are:
True
:元数据被请求并传递给score
如果提供的话。如果未提供元数据,则会忽略请求。False
:未请求元数据,元估计器不会将其传递给score
.None
:不请求元数据,如果用户提供元估计器,则元估计器将引发错误。str
:元数据应通过此给定别名而不是原始名称传递给元估计器。
默认 (
sklearn.utils.metadata_routing.UNCHANGED
)保留现有请求。这允许您更改某些参数的请求,而不是其他参数。Added in version 1.3.
备注
只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在
Pipeline
.否则就没有效果了。- 参数:
- sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged
元数据路由
sample_weight
参数score
.
- 返回:
- self对象
更新的对象。