scikit-learn获得所选类别的分类器的分类/分数的确定性



我正在做一些多类文本分类,它很好地满足了我的需求:

classifier = Pipeline([
    ('vect', CountVectorizer(tokenizer=my_tokenizer, stop_words=stopWords, ngram_range=(1, 2), min_df=2)),
    ('tfidf', TfidfTransformer(norm='l2', use_idf=True, smooth_idf=True, sublinear_tf=False)),
    ('clf', MultinomialNB(alpha=0.01, fit_prior=True))])
categories = [list of my possible categories]
# Learning
news = [list of news already categorized]
news_cat = [the category of the corresponding news]
news_target_cat = numpy.searchsorted(categories, news_cat)
classifier = classifier.fit(news, news_target_cat)
# Categorizing
news = [list of news not yet categorized]
predicted = classifier.predict(news)
for i, pred_cat in enumerate(predicted):
    print(news[i])
    print(categories[pred_cat])

现在,我想对预测类别拥有的是预测因子的"确定性"(例如:0.0 ->"我掷骰子选择一个类别"到 1.0 ->"没有什么能改变我对新闻类别的看法")。我应该如何获得该类别的确定性值/预测因子的分数?

如果你需要类似类别probability的东西,你必须使用分类器predict_proba()方法。

文档。

相关内容

  • 没有找到相关文章

最新更新