当我使用OneClassSVM执行异常检测时,为什么会得到[[LibSVM]`

问题描述 投票:0回答:1

我正在使用PythonScikit-Learn库执行异常检测。我正在使用OneClassSVM。我有一个问题,因为每当我运行我的代码时(我没有收到错误),它都会打印[[LibSVM]

我不知道为什么得到这个,我的代码中任何地方都没有打印功能。

out_cls = [['One class SVM',OneClassSVM(cache_size=80, coef0=0.5, gamma ='auto', kernel = 'poly', random_state= None, shrinking=True, tol = 0.1, verbose = True, nu = 0.2)],          
           ['Isolation Forest', IsolationForest(behaviour='new', contamination='auto',max_features=4, max_samples=2, n_estimators= 90, random_state=1)]]

r = df
for out in out_cls:

    cls = out[1]
    model = cls.fit(x)
    prediction = model.predict(x)

   # print(model.best_params_)

    result = []
    for i in prediction:
        if i == -1:
            result.append('BOT')

        else:
            result.append('good')

    r[out[0]] = result
python machine-learning scikit-learn libsvm outliers
1个回答
1
投票

scikit-learn中的所有基础SVM功能实际上都基于LibSVM;来自OneClassSVM的文档:

该实现基于libsvm。

另请参见OneClassSVM中对此的大量引用。

此控制台输出只是在模型定义中设置source code的工件;改编来自verbose=True的简单示例:

docs

显示输出为:

from sklearn.svm import OneClassSVM
X=[[0], [0.44], [0.45], [0.46], [1]]
clf = OneClassSVM(gamma='auto', verbose=True)
clf.fit(X)

设置[LibSVM] OneClassSVM(cache_size=200, coef0=0.0, degree=3, gamma='auto', kernel='rbf', max_iter=-1, nu=0.5, random_state=None, shrinking=True, tol=0.001, verbose=True) 将取消verbose=False指示,在任何情况下都不会出现问题,因为它不会以任何方式影响您的代码。

© www.soinside.com 2019 - 2024. All rights reserved.