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: 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:估计器参数
返回
估算器实例。