我正在使用Scikit-Learn的GaussianNB进行监督分类。当使用方法“ predict_proba”时,概率总和始终等于1。
我想返回的是拟合的高斯分布的实际值,因为我的数据集包含许多离群值。如果我有3个已确定的类别,我希望模型告诉我:“类别A为10%,类别B为0.5%,类别C为4%”。换句话说,它更有可能是异常值。
sklearn是否也返回此结果?我应该基于均值和标准差进行数学运算吗?
答案 0 :(得分:0)
我最终使用的解决方案如下:
gaussian_model = naive_bayes.GaussianNB()
jll = gaussian_model._joint_log_likelihood(X)
raw_proba = np.exp(jll)
raw_proba
不在0到1之间,但由于我只想对结果进行排名,因此我并不真正在意数字本身。