sklearn.naive_bayes.CategoricalNB是否与sklearn.naive_bayes.BernoulliNB相同,但列中有一个热编码?
无法从文档中完全猜到,而CategoricalNB有一个额外的参数alpha,我不明白它的目的。
发布于 2022-10-20 18:34:28
范畴分布是Bernoulli分布,推广到两大类以上。另一种说法是,Bernoulli分布是范畴分布的一个特例,正好有2类。
在Bernoulli模型中,假设每个特性都有两个类别,通常表示为1和0或真和假。在分类模型中,假设每个特征至少有两个类别,并且每个特征可能有不同的类别总数。
单热编码与任何一个模型都无关。它是一种在数值矩阵中对范畴变量进行编码的技术。虽然使用范畴分布来建模范畴变量是很自然的,但它与用于建模该范畴变量的实际分布无关。
"alpha“参数称为拉普拉斯平滑参数。我不打算在这里详细介绍它,因为它更适合于CrossValidated,例如https://stats.stackexchange.com/q/192233/36229。从计算的角度来看,它的存在是为了防止0的计算“中毒”,而0的计算在整个模型中以倍增的方式传播。当您的数据集中没有类标签和特性类别的组合时,这是一个实际的问题。将其保留在默认值1是可以的。
https://stackoverflow.com/questions/74144648
复制相似问题