【问题标题】:In Python sklearn.svm.OneClassSvm, how to calculate ROC and AUC only with predicted label and real label?在 Python sklearn.svm.OneClassSvm 中,如何仅使用预测标签和真实标签计算 ROC 和 AUC?
【发布时间】:2019-10-06 14:37:08
【问题描述】:

我正在使用 Python 3.6,sklearn.svm.OneClassSVM 来练习 OSVM,我想

计算 ROC、AUC。

我使用decision_function()计算ROC和AUC,代码如下。

我想评估我通过决策函数计算的值。

只能使用预测标签和真实标签来获取ROC、AUC值吗?

     y_score = oneclass.decision_function(testing_data)
     roc_auc = metrics.roc_auc_score(Y_test, y_score)

【问题讨论】:

    标签: python scikit-learn svm auc one-class-classification


    【解决方案1】:

    我不确定我是否正确完成了您的问题,但如果您这样做:

    clf = svm.OneClassSVM(nu=0.1, kernel="rbf", gamma=0.1)
    clf.fit(X_train)
    y_pred_train = clf.predict(X_train)
    y_score = clf.predict(X_test)
    

    那么你应该可以使用:

    from sklearn.metrics import roc_auc_score
    roc_auc_score(y_test, y_score)
    ``
    
    

    【讨论】:

    • 你的意思是y_score应该是1还是-1?感谢您回答我的问题。
    • 这取决于你的目标值是多少,但总的来说这应该可行
    猜你喜欢
    • 2022-06-17
    • 2016-06-15
    • 2017-11-12
    • 2016-01-23
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 2021-07-19
    相关资源
    最近更新 更多