我有一个具有四个连续特征的两类贝叶斯分类问题。我正在尝试部分重现 Orange 用于计算概率的贝叶斯算法算法。但我没有成功获得与 Orange 输出相同的值。
数据集大小:150(class0:88 和 class1:62)
我使用以下算法
p(class0 | X1, X2, X3, X4) = L0 / (L0 + L1)
p(class1 | X1, X2, X3, X4) = L1 / (L0 + L1)
其中 L0 和 L1 是可能性
L0 = prior_class0 * product( p(Xi|class0) )
L1 = prior_class1 * product( p(Xi|class1) )
prior_class0 and prior_class1 are Laplacian estimators
prior_class0 = (88 + 1) / (150 + 2)
prior_class1 = (62 + 1) / (150 + 2)
Orange 使用 LOESS 来计算条件概率(我想没有必要重现它)。对于这个数据集,它为 python 对象分类器.conditional_distributions 中给出的两个类输出 49 个点。通过在 Xi 的周围点之间使用线性插值,我可以计算 p(Xi|class0) 和 p(Xi|class1)。
1)任何人都可以评论具有连续特征的橙色贝叶斯算法吗?
2) 或任何技术建议如何设置编译器/IDE,我可以调试 Orange C++ 代码并检查来自 orange/source/orange/bayes.cpp 中的函数的一些中间结果?