更改 OneclassSVM 中预测函数的输出 class 标签值

To change the output class label value of a predict function in OneclassSVM

当我使用OneClassSVM时,我们确认estimator.predict (X_test)得出的结果分别为1和-1。每个都意味着异常值和内部值。但我想要的是用不同的值标记它,比如 0,1 而不是 -1,1。我以为我可以给出一个具体的论据来预测这样做,但是我找不到我想要的搜索结果。

from sklearn import OneClassSVM

check = OneClassSVM(kernel='rbf', gamma='scale')
check.fit(X_train, y_train)
check.predict(X_test)

我用了上面的代码。

没有用于指定标签的内置函数。但是,您可以使用 np.where():

执行此操作
import numpy as np
pred = np.array([-1, 1, -1, 1])

np.where(pred==-1, 'outlier_value', 'internal_value')

输出:

array(['outlier_value', 'internal_value', 'outlier_value',
   'internal_value'], dtype='<U14')