Return sklearn 的高斯朴素贝叶斯的原始概率

Return raw probabilities of sklearn's Gaussian Naive Bayes

我正在使用 Scikit-Learn 的 GaussianNB 进行监督分类。使用方法"predict_proba"时,概率之和总是等于1。

我想要 return 的是拟合高斯分布的真实值,因为我的数据集包含许多离群值。如果我有 3 个确定的类别,我希望模型告诉我:"There is 10% of being category A, 0.5% of being category B and 4% of being category C"。换句话说,它更可能是异常值。

sklearn return 这个结果也一样吗?我应该根据均值和标准差进行计算吗?

我最终使用的解决方案如下:

gaussian_model = naive_bayes.GaussianNB()
jll = gaussian_model._joint_log_likelihood(X) 
raw_proba = np.exp(jll)

raw_proba 不在 0 和 1 之间,但因为我只想对结果进行排名,所以我并不真正关心数字本身。