sklearn.svm.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。
用户手册里面可以了解更多关于异常检测的知识。

参数(kernel,gamma,nu和tol比较重要)

kernel: string, optional (default=’rbf’),
核函数,字符串型,可选择的,默认为’rbf’,即高斯核
指定算法中要使用的内核类型。 它必须是“linear”,“poly”,“ rbf”,“ sigmoid”,“precomputed”或可调用项之一。 如果没有给出,将使用“ rbf”。 如果给出了可调用对象,则将其用于预先计算内核矩阵。

degree: int, optional (default=3)
阶数,整形,可选择的。
多项式内核函数(“ poly”)的阶数。 被所有其他内核忽略

gamma:{‘scale’, ‘auto’} or float, optional (default=’scale’)
内核系数,{‘scale’, ‘auto’}或者浮点型,可选择的,默认为’scale’
“ rbf”,“ poly”和“ Sigmoid”的内核系数。
如果传递了gamma =‘scale’(默认值),则它将1 /(n_features * X.var())用作gamma值,
如果为‘auto’,则使用1 / n_features。
在版本0.22中进行了更改:gamma的默认值从‘auto’更改为’scale’。

coef0:float, optional (default=0.0)
内和参数,浮点型,可选择的,默认为0.0
内核函数中的独立参数。 它仅对“ poly”和“ sigmoid”有意义。

tol:float, optional
停止标准的度量

nu:float, optional
训练误差分数的上限,支持向量分数的下限。 应该在间隔(0,1]中。默认情况下,取0.5。

shrinking:boolean, optional
布尔值,可选的
是否使用缩小的启发式方法。

cache_size:float, optional
指定内核缓存的大小(以MB为单位)。

verbose:bool, default: False
启用详细输出。 请注意,此设置利用了libsvm中每个进程的运行时设置,如果启用了该设置,则该设置可能无法在多线程上下文中正常工作。

max_iter:int, optional (default=-1)
对求解器内的迭代进行硬性限制,或者为-1(无限制)。

属性

support_:列向量(n_SV)
支持向量的索引

support_vectors_:矩阵(n_SV, n_features)
支持向量

dual_coef_:行向量,shape = [1, n_SV]
分配给特征的权重(原始问题的系数)。 仅在线性内核的情况下可用。
coef_是从dual_coef_和support_vectors_派生的只读属性

intercept_:行向量,shape = [1,]
决策函数中的常数。

offset_:浮点型
偏移量用于根据原始分数定义决策函数。 我们具有以下关系:Decision_function = score_samples-offset_。 该偏移量与intercept_相反,并且为与其他异常值检测算法保持一致而提供。

fit_status_:整型
如果正确安装,则为0,否则为1(将发出警告)

例子

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)  # doctest: +ELLIPSIS
##array([1.7798..., 2.0547..., 2.0556..., 2.0561..., 1.7332...])

方法

decision_function(self, X):
到分离超平面的距离。
如果样本在分离超平面的里面则距离是正的,反之距离是负的。
参数:
X:shape (n_samples, n_features)
返回值:
dec:shape (n_samples,)
返回样本的决策函数

fit(self, X, y=None, sample_weight=None, **params)
检测样本集合X的软边界
参数
X:shape (n_samples, n_features)
样本集,其中n_samples是样本数,n_features是特征数。

sample_weight:shape (n_samples,)
每样本权重。 每个样品重新定标C。 较高的权重迫使分类器更加强调这些要点。

y:被忽略
未使用,按惯例提供API一致性。

返回
self:object

注意
如果X不是C顺序的连续数组,则将其复制。

fit_predict(self, X, y=None)
对X执行拟合并返回X的标签。
对于离群值返回-1,对于群体内的值返回1。

参数
X:shape (n_samples, n_features)
输入数据

y:忽略

get_params(self, deep=True)
获取此估计量的参数。

参数
deep:布尔值,默认为True
如果为True,则将返回此估计量和作为估计量的包含子对象的参数。

返回:参数名称映射到其值。

predict(self, X)
对X中的样本执行分类。对于一类模型,返回+1或-1。

参数
X:shape=(n_samples, n_features)
对于内核=“precomputed”,X的预期形状为[n_samples_test,n_samples_train]

返回
X的分类标签

score_samples(self, X)
样本的原始评分功能。

参数
X:(n_samples, n_features)

返回
返回样本的(未移位)评分函数。

set_params(self, **params)
设置此估算器的参数。
该方法适用于简单的估计器以及嵌套对象(例如管道)。

参数
**params:估计器参数

返回
估算器实例。

发布了41 篇原创文章 · 获赞 13 · 访问量 6692

猜你喜欢

转载自blog.csdn.net/comli_cn/article/details/103898791