更改 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')
当我使用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')