Machine learning 对sklearn感到困惑’;OSVM的s实现

Machine learning 对sklearn感到困惑’;OSVM的s实现,machine-learning,scikit-learn,svm,libsvm,sklearn-pandas,Machine Learning,Scikit Learn,Svm,Libsvm,Sklearn Pandas,我最近开始尝试使用OneClassSVM(使用Sklearn)进行无监督学习,我遵循了 . 我为这些愚蠢的问题道歉,但我对两件事有点困惑: 我应该在常规示例和异常值上训练我的svm,还是只在常规示例上训练 OSVM预测的哪些标签表示异常值是1还是-1 对于这些问题,我再次表示歉意,但由于某些原因,我找不到有文档记录的anyware,因为您所引用的示例是关于新颖性检测的,例如: 新颖性检测: 训练数据不受异常值的污染,我们感兴趣的是检测新观测值中的异常 意思是:你应该只训练常规的例子 该方法基于

我最近开始尝试使用OneClassSVM(使用Sklearn)进行无监督学习,我遵循了 .

我为这些愚蠢的问题道歉,但我对两件事有点困惑:

  • 我应该在常规示例和异常值上训练我的svm,还是只在常规示例上训练

  • OSVM预测的哪些标签表示异常值是1还是-1


  • 对于这些问题,我再次表示歉意,但由于某些原因,我找不到有文档记录的anyware

    ,因为您所引用的示例是关于新颖性检测的,例如:

    新颖性检测:

    训练数据不受异常值的污染,我们感兴趣的是检测新观测值中的异常

    意思是:你应该只训练常规的例子

    该方法基于:

    Schölkopf,Bernhard,et al.“估计高维分布的支持”,《神经计算》13.7(2001):1443-1471

    摘录:

    假设您获得了一些从基本概率分布p中提取的数据集,并且您希望估计输入空间的“简单”子集S,从而从p中提取的测试点位于S之外的概率等于0和1之间的某个先验指定值

    我们提出了一种方法来解决这个问题,试图估计一个函数f,它在S上为正,在补码上为负

    上述文件还说:

    内联项标记为1,而离群项标记为-1

    这也可以在您的示例代码中看到,提取:

    #生成一些常规的新颖观察结果
    X=0.3*np.randon.randn(20,2)
    X_检验=np.r_ux[X+2,X-2]
    ...
    #所有常规=输入线(定义见上文)
    y_预测检验=clf.预测(X_检验)
    ...
    #-1=假设的异常值误差更大
    n_error_test=y_pred_test[y_pred_test==-1]。大小