MultinomialNB 或 GaussianNB 或 CategoricalNB 在这里使用什么?

MultinomialNB or GaussianNB or CategoricalNB what to use here?

让我有一个输入特征X = {X1, X2}。其中 X1 是实值(也考虑它遵循高斯分布)但 X2 是分类特征。现在,如果我想使用朴素贝叶斯算法。我应该使用哪一个? GaussianNB 在分类特征方面是否完美工作的另一种方式?

使用 get_dummies()(pandas 库)转换分类特征 X2。然后训练模型。

我建议先试试GaussianNB,评估一下他的准确性。然后尝试 sklearn 拥有的其他朴素贝叶斯模型。在没有看到数据(即使有数据)的情况下,很难预测哪种模型在每种情况下效果更好。评价每一个。

NB的每个算法期望不同类型的数据。

  • GaussianNB → 当你有连续特征时。
  • CategoricalNB → 当你有分类数据时。
  • MultinomialNB → 应用于文本数据。

那么,鉴于您的数据具有连续特征、分类特征和文本数据,您将使用什么算法? 每个算法的基本假设是它假设特征是条件独立的。在 categoricalNB 上拟合分类特征,在 GaussianNB 上拟合连续特征,在 MultinomialNB 上拟合文本数据,得到每个模型的似然概率(对于每个数据点,现在我们将有 3 个似然概率)并将它们相乘得到整体似然概率。

Note: You have to multiply the prior probability to the final likelihood probability to get the final posterior probability

here

获得更多深度