SK了解如何获取LinearSVC分类器的决策概率 [英] SKLearn how to get decision probabilities for LinearSVC classifier

查看:71
本文介绍了SK了解如何获取LinearSVC分类器的决策概率的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用scikit-learn的linearSVC分类器进行文本挖掘.我将y值作为标签0/1,将X值作为文本文档的TfidfVectorizer.

I am using scikit-learn's linearSVC classifier for text mining. I have the y value as a label 0/1 and the X value as the TfidfVectorizer of the text document.

我使用如下所示的管道

 pipeline = Pipeline([
    ('count_vectorizer',   TfidfVectorizer(ngram_range=(1, 2))),
    ('classifier',         LinearSVC())
  ])

对于预测,我想获得一个数据点被分类为的置信度得分或概率 1(0,1)

For a prediction, I would like to get the confidence score or probability of a data point being classified as 1 in the range (0,1)

我目前使用决策功能

pipeline.decision_function(test_X)

但是,它返回似乎表明置信度的正值和负值.我也不太清楚它们的意思.

However it returns positive and negative values that seem to indicate confidence. I am not too sure about what they mean either.

但是,有没有一种方法可以获取0-1范围内的值?

However, is there a way to get the values in range 0-1?

例如,这是某些数据点的决策函数的输出

For example here is the output of the decision function for some of the data points

    -0.40671879072078421, 
    -0.40671879072078421, 
    -0.64549376401063352, 
    -0.40610652684648957, 
    -0.40610652684648957, 
    -0.64549376401063352, 
    -0.64549376401063352, 
    -0.5468745098794594, 
    -0.33976011539714374, 
    0.36781572474117097, 
    -0.094943829974515004, 
    0.37728641897721765, 
    0.2856211778200019, 
    0.11775493140003235, 
    0.19387473663623439, 
    -0.062620918785563556, 
    -0.17080866610522819, 
    0.61791016307670399, 
    0.33631340372946961, 
    0.87081276844501176, 
    1.026991628346146, 
    0.092097790098391641, 
    -0.3266704728249083, 
    0.050368652422013376, 
    -0.046834129250376291, 

推荐答案

您不能. 但是,您可以将sklearn.svm.SVCkernel='linear'probability=True

You can't. However you can use sklearn.svm.SVC with kernel='linear' and probability=True

它可能会运行更长的时间,但是您可以使用predict_proba方法从此分类器中获取概率.

It may run longer, but you can get probabilities from this classifier by using predict_proba method.

clf=sklearn.svm.SVC(kernel='linear',probability=True)
clf.fit(X,y)
clf.predict_proba(X_test)

这篇关于SK了解如何获取LinearSVC分类器的决策概率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆