【问题标题】:How to expand a binary NB classifier to a multilabel one SKlearn?如何将二进制 NB 分类器扩展到多标签一个 SKlearn?
【发布时间】:2016-06-27 20:09:29
【问题描述】:

我使用 sklearn 训练了一个 Nb 分类器,但现在它只返回 1 和 -1。有没有可能让它返回 pos、neg 或中性? 这是我的代码:

p = Pipeline([
    ("vectorizer", CountVectorizer()),
    ("selector", SelectPercentile(percentile=20)),
    ("nb", MultinomialNB())
])

p.fit(X, y)
joblib.dump(p, 'skclassif.pkl', compress = 1)
print(p.predict(["I hate this car"]))

【问题讨论】:

    标签: python-2.7 machine-learning scikit-learn sentiment-analysis


    【解决方案1】:

    它将返回您训练它的课程 - 因此,如果您希望三个课程通过 y 中的三个课程,仅此而已。

    【讨论】:

    • 我的训练数据只包含 neg 和 pos 但我认为它可以是一种解决方法,例如使用字符串的概率为 pos 或 neg 例如在 nltk 我发现这样的东西:@987654322 @
    • 你可以硬编码你自己的规则,但这很少是一个好主意,人类的“直觉”是相当糟糕的统计数据:-) 所以 - 如果你想要这样的行为 - 将 NB 包装在你自己的类中并在 NB 的 predict_proba 之上编写您自己的预测。
    猜你喜欢
    • 2019-02-25
    • 1970-01-01
    • 2020-10-04
    • 2016-05-09
    • 2021-12-24
    • 2018-08-01
    • 2015-09-04
    • 2020-09-27
    • 2020-09-02
    相关资源
    最近更新 更多