开发者社区> 问答> 正文

decision_function不返回结果

我尝试使用decision_function而不是predict。我得到的值是- 1,大于1。我需要帮助写阈值,以确定任何东西,但不是0,以获得数组的结果。Thanks.decision_function 问题来源StackOverflow 地址:/questions/59383911/sklearn-svc-decision-function-does-not-return-result

展开
收起
kun坤 2019-12-26 15:46:42 1022 0
1 条回答
写回答
取消 提交回答
  • 不确定你想要实现什么。请注意,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)
    
    2019-12-26 15:46:48
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Lambda Processing for Near Time Search Indexing 立即下载
Lambda Processing 立即下载
低代码开发师(初级)实战教程 立即下载