Scikit-learn使用朴素贝叶斯进行多类分类,并进行10倍交叉验证

时间:2014-03-29 00:48:01

标签: python machine-learning scikit-learn

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

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

但这只是给了我一个包含每个折叠10个分数的数组。我想要的是OvO分类器中每对类的得分。有关如何做到这一点的任何建议吗?

还有什么办法可以为NB分类器使用自定义平滑技术吗?

1 个答案:

答案 0 :(得分:1)

  

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

不幸的是,OvO包装器目前还没有公共API来获得这些分数。

  

还有什么办法可以为NB分类器使用自定义平滑技术吗?

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