首页 > 解决方案 > 在 python scikit-learn 中指定多标签朴素贝叶斯的先验

问题描述

我正在研究多标签分类。我在 python scikit-learn 上使用了 GaussianNB 函数。目标是一个具有 (N, L) 形状的数组,其中 L 是类数,N 是观察数。

我使用了三种方法来处理多标签情况:

  1. 二元相关
  2. 链条模型
  3. 标签权力集

我有 L 个类的先验分布,它是一个 (L,) 形状的数组。我试图通过像这样的先验参数将这个先验分布合并到 GaussianNB

classifier = BinaryRelevance(GaussianNB(priors = prior_dist))

但是,它返回以下错误

ValueErrors: number of priors must match number of classes

在多标签情况下,将先验指定为 GaussianNB 的正确方法是什么?

标签: python-2.7scikit-learnnaivebayesmultilabel-classificationscikit-multilearn

解决方案


我还没有在 scikit-multilearn 中添加对此的支持,但它似乎很容易添加 - 你能把它作为scikit-multilearn 中的功能请求吗?我想我知道如何添加它,但我们可以在 github 中进一步跟踪问题。


推荐阅读