sklearn:评估LinearSVC的AUC

时间:2015-05-20 23:11:59

标签: scikit-learn svm libsvm liblinear

我知道有人会通过将sklearn.svm.SVC选项传递给构造函数来评估probability=True的AUC,并让SVM预测概率,但我不确定如何评估{{1} AUC。有谁知道怎么做?

我想sklearn.svm.LinearSVC使用LinearSVC,因为SVC似乎可以更快地训练具有多种属性的数据。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以使用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
相关问题