【问题标题】:sklearn: Evaluating LinearSVC's AUCsklearn:评估 LinearSVC AUC
【发布时间】:2015-08-02 10:07:27
【问题描述】:

我知道可以通过将probability=True 选项传入构造函数并让 SVM 预测概率来评估 sklearn.svm.SVC 的 AUC,但我不确定如何评估 sklearn.svm.LinearSVC 的 AUC。有人知道怎么做吗?

我想使用LinearSVC 而不是SVC,因为LinearSVC 似乎在具有许多属性的数据上训练得更快。

【问题讨论】:

    标签: scikit-learn svm libsvm liblinear


    【解决方案1】:

    您可以使用 CalibratedClassifierCV 类来提取概率。这是example with code

    from sklearn.svm import LinearSVC
    from sklearn.calibration import CalibratedClassifierCV
    from sklearn import datasets
    
    #Load iris dataset
    iris = datasets.load_iris()
    X = iris.data[:, :2] # Using only two features
    y = iris.target      #3 classes: 0, 1, 2
    
    linear_svc = LinearSVC()     #The base estimator
    
    # This is the calibrated classifier which can give probabilistic classifier
    calibrated_svc = CalibratedClassifierCV(linear_svc,
                                            method='sigmoid',  #sigmoid will use Platt's scaling. Refer to documentation for other methods.
                                            cv=3) 
    calibrated_svc.fit(X, y)
    
    
    # predict
    prediction_data = [[2.3, 5],
                       [4, 7]]
    predicted_probs = calibrated_svc.predict_proba(prediction_data)  #important to use predict_proba
    print predicted_probs
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-12
        • 2020-09-10
        • 2017-03-14
        • 2019-09-29
        • 2022-10-15
        • 2021-04-10
        • 2020-09-25
        • 2016-06-22
        相关资源
        最近更新 更多