OneClassSVM#
- class sklearn.svm.OneClassSVM(*, kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False, max_iter=-1)[源代码]#
无监督离群点检测。
估计多维分布的支持。
该实现基于libsvm。
阅读更多的 User Guide .
- 参数:
- 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
核函数中的独立项。它仅在“多聚体”和“西格玛”中显着。
- tol浮点数,默认值= 1 e-3
停止标准的容忍度。
- nu浮点数,默认值=0.5
训练错误比例的上限和支持量比例的下限。应在区间(0,1]内。默认情况下将采用0.5。
- shrinking布尔,默认=True
是否使用收缩启发式。看到 User Guide .
- cache_size浮动,默认=200
指定内核缓存的大小(以MB为单位)。
- verbose布尔,默认=假
启用详细输出。请注意,此设置利用了libsvm中的每进程运行时设置,如果启用该设置,则可能无法在多线程上下文中正常工作。
- max_iterint,默认=-1
求解器内迭代的硬限制,或-1表示无限制。
- 属性:
coef_
nd数组形状(1,n_features)在以下情况下分配给要素的权重
kernel="linear"
.- dual_coef_形状的nd数组(1,n_SV)
决策函数中支持量的系数。
- fit_status_int
如果安装正确,则为0,否则为1(将发出警告)
- intercept_形状的nd数组(1,)
决策函数中的常数。
- 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_int
优化例程为适应模型而运行的迭代次数。
Added in version 1.1.
n_support_
形状的nd数组(n_classes,),dype = int 32每个类别的支持载体数量。
- offset_浮子
用于根据原始分数定义决策函数的偏差。我们有这样的关系:decision_函数= score_samples -
offset_
.抵消量与intercept_
并且提供是为了与其他异常值检测算法保持一致。Added in version 0.20.
- shape_fit_形状的int的多元组(n_dimensions_of_X,)
训练载体的数组维度
X
.- support_形状的nd数组(n_SV,)
支持载体指数。
- support_vectors_ndrow形状数组(n_SV,n_features)
支持载体。
参见
sklearn.linear_model.SGDOneClassSVM
使用随机梯度下降来求解线性一类支持者。
sklearn.neighbors.LocalOutlierFactor
使用本地异常值因子(LOF)的无监督异常值检测。
sklearn.ensemble.IsolationForest
隔离森林算法。
示例
>>> from sklearn.svm import OneClassSVM >>> X = [[0], [0.44], [0.45], [0.46], [1]] >>> clf = OneClassSVM(gamma='auto').fit(X) >>> clf.predict(X) array([-1, 1, 1, 1, -1]) >>> clf.score_samples(X) array([1.7798..., 2.0547..., 2.0556..., 2.0561..., 1.7332...])
有关更扩展的示例,请参阅 物种分布建模
- decision_function(X)[源代码]#
到分离超平面的符号距离。
带符号距离对于内点为正值,对于离群点为负值。
- 参数:
- X形状类似阵列(n_samples,n_features)
数据矩阵。
- 返回:
- dec形状的nd数组(n_samples,)
Returns the decision function of the samples.
- fit(X, y=None, sample_weight=None)[源代码]#
检测样本集X的软边界。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
一组样本,其中
n_samples
是样本数量和n_features
是功能的数量。- y忽视
未使用,按照惯例,为了API一致性而存在。
- sample_weight形状类似数组(n_samples,),默认=无
每个样品的重量。根据样本重新调整C。更高的权重迫使分类器更加强调这些点。
- 返回:
- self对象
拟合估计量。
注意到
如果X不是C排序连续数组,则会复制它。
- fit_predict(X, y=None, **kwargs)[源代码]#
在X上执行fit并返回X的标签。
异常值返回-1,内值返回1。
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
输入样本。
- y忽视
未使用,按照惯例,为了API一致性而存在。
- **kwargsdict
将传递给的论点
fit
.Added in version 1.4.
- 返回:
- y形状的nd数组(n_samples,)
1代表内部值,-1代表异常值。
- 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中样本的类别标签。
- score_samples(X)[源代码]#
样本的原始评分功能。
- 参数:
- X形状类似阵列(n_samples,n_features)
数据矩阵。
- 返回:
- score_samples形状的nd数组(n_samples,)
返回样本的(未移动)评分函数。
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') OneClassSVM [源代码]#
请求元数据传递给
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对象
更新的对象。