【问题标题】:Get the probabilities out of a sklearn pipeline using GBM使用 GBM 从 sklearn 管道中获取概率
【发布时间】:2021-11-04 21:39:09
【问题描述】:

我有一个管道,它接受 TFIDF 矢量化器和 GBM 二元分类器,并给我标签和概率。在生产中,我不想要标签,我只想要 1 从管道中出来的概率。我可以对管道进行更改以仅获得 1 的概率而不是标签以及 0 和 1 的概率吗?

gbm_pipeline = Pipeline([('tfidf', TfidfVectorizer(use_idf=True)),
    ('gbm',GradientBoostingClassifier(random_state = 23)),
                    ])

当我将使用此管道进行预测时,它会给出类似的结果

predict [1]
predict_proba [{0: 0.47260814905166626, 1: 0.5273918509483337}]

而我只是希望它成为

0.5273918509483337

PS:我无法使用 Pipeline 的输出。我希望对管道本身进行更改,这样我就不会得到标签和概率,而是得到 1 的概率

【问题讨论】:

    标签: python machine-learning scikit-learn pipeline mlops


    【解决方案1】:

    在这种情况下我只会运行一个 for 循环:

    probab = []
    a = [{0: 0.47260814905166626, 1: 0.5273918509483337}]
    
    for x in a:
        probab.append(x.get(1))
    

    概率存储在probab:

    print(probab)
    

    [0.5273918509483337]

    【讨论】:

    • 问题是我无法使用管道的输出。我需要在管道本身中做一些事情,以便它只给我概率。
    猜你喜欢
    • 2016-10-03
    • 2020-12-25
    • 2014-07-27
    • 2015-02-13
    • 2019-11-20
    • 2023-03-20
    • 2014-11-07
    • 2018-12-19
    • 2019-12-31
    相关资源
    最近更新 更多