我尝试使用decision_function而不是predict。我得到的值是- 1,大于1。我需要帮助写阈值,以确定任何东西,但不是0,以获得数组的结果。Thanks.decision_function 问题来源StackOverflow 地址:/questions/59383911/sklearn-svc-decision-function-does-not-return-result
不确定你想要实现什么。请注意,0将意味着您的样本将位于决策边界,这是不太可能的。下面的代码片段展示了如何根据decision_function报告的距离对样本设置阈值
import numpy as np
from sklearn.datasets import load_iris
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
X, y = load_iris(return_X_y=True)
print(y.shape)
clf = make_pipeline(StandardScaler(), LogisticRegression())
y_pred = clf.fit(X, y).decision_function(X)
# check samples closed to zero boundaries
threshold = 1
mask_y_pred = np.any(np.abs(y_pred) <= threshold, axis=1)
non_zero_y_pred = y_pred[~mask_y_pred]
print(non_zero_y_pred.shape)
print(non_zero_y_pred)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。