【问题标题】:Scikit-learn using Naive Bayes for multiclass classification with 10 fold cross validationScikit-learn 使用朴素贝叶斯进行 10 折交叉验证的多类分类
【发布时间】:2014-05-08 16:00:45
【问题描述】:

我正在尝试使用 sklearn 中的朴素贝叶斯分类器进行多类分类。我想使用 10 倍交叉验证获得分数。假设 x 是我的特征数组,y 是标签向量,我这样做:

    clf = MultinomialNB(fit_prior=False)
    scores = cross_validation.cross_val_score(OneVsOneClassifier(clf), x, y, cv=10)

但这只是给了我每个折叠的 10 个分数的数组。我想要的是 OvO 分类器中每对类的分数。有关如何执行此操作的任何建议?

还有什么方法可以为 NB 分类器使用定制的平滑技术?

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    我想要的是来自 OvO 分类器的每对类的分数。

    很遗憾,OvO 包装器目前没有公共 API 来获取这些分数。

    还有什么方法可以为 NB 分类器使用定制的平滑技术?

    不,Lidstone 平滑是目前唯一的选择。

    【讨论】:

    • 感谢您的回答!我决定通过在每个折叠处获取混淆矩阵并将它们相加得到最终的混淆矩阵来解决这个问题
    猜你喜欢
    • 2013-04-13
    • 2013-04-13
    • 2018-06-19
    • 1970-01-01
    • 2015-09-24
    • 2017-06-21
    • 2014-11-27
    • 2013-12-10
    • 2016-04-12
    相关资源
    最近更新 更多