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 .

参见

SVC

使用libsvm进行分类的支持载体机。

LinearSVC

可扩展线性支持向量机分类使用liblinear。

引用

[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对象

更新的对象。