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

0 投票
1 回答
1406 浏览
提问于 2025-04-18 00:23

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

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

但是这样做只给了我一个包含10个分数的数组,每个分数对应一个折叠。我想要的是OvO分类器中每一对类别的分数。有谁能给我一些建议吗?

另外,有没有办法为朴素贝叶斯分类器使用自定义的平滑技术呢?

1 个回答

1

我想要的是OvO分类器中每一对类别的得分。

可惜的是,OvO的包装器现在没有公开的接口可以获取这些得分。

有没有办法为NB分类器使用自定义的平滑技术呢?

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

撰写回答