首页 > 解决方案 > 如何向 model.decision_function 添加阈值?

问题描述

问题是:如何向 model.decision_function 添加阈值(在这种情况下,model=Support Vector Clustering Machine,我希望输出为混淆矩阵;这是 1 和 0 的二进制分类,其中 1 将高于-210 阈值)

以下是我到目前为止所拥有的,但它给出了一个奇怪的输出,所以这是不对的。包含数据太难了;我只是希望有人以前做过类似的事情,并且知道我的代码中可能缺少什么。

from sklearn.metrics import confusion_matrix
from sklearn.svm import SVC
from sklearn.calibration import CalibratedClassifierCV
from sklearn.model_selection import train_test_split
import numpy as np
> 
> def test():
>     svm = SVC(kernel='linear').fit(X_train, y_train)
>     svm_predicted = np.where(svm.decision_function(X_test)>-210,1,0)
>     confusion = confusion_matrix(y_test, svm_predicted)
>     return confusion
> 
> test()

输出:

> array([[  0, 750],
>        [  0, 320]])

提前感谢您的任何指示或指导!

标签: pythondata-sciencesvmconfusion-matrix

解决方案


推荐阅读