贝叶斯公式Java实现
时间: 2023-11-13 18:05:14 浏览: 70
JAVA 中贝叶斯算法
以下是一个简单的Java程序实现贝叶斯公式:
```
import java.util.HashMap;
import java.util.Map;
public class BayesFormula {
public static void main(String[] args) {
Map<String, Double> p = new HashMap<String, Double>();
p.put("A", 0.6);
p.put("B", 0.4);
Map<String, Double> pGivenA = new HashMap<String, Double>();
pGivenA.put("C", 0.5);
pGivenA.put("D", 0.5);
Map<String, Double> pGivenB = new HashMap<String, Double>();
pGivenB.put("C", 0.2);
pGivenB.put("D", 0.8);
String hypothesis = "A";
String evidence = "C";
double numerator = pGivenA.get(evidence) * p.get(hypothesis);
double denominator = numerator + (pGivenB.get(evidence) * p.get("B"));
double posterior = numerator / denominator;
System.out.println("P(" + hypothesis + "|" + evidence + ") = " + posterior);
}
}
```
在此示例中,我们定义了三个Map对象,分别表示先验概率(p)、给定A事件的条件概率(pGivenA)和给定B事件的条件概率(pGivenB)。我们还指定了一个假设(hypothesis)和一项证据(evidence),并计算了后验概率(posterior)。
输出为“P(A|C) = 0.75”,这表示在给定C事件的情况下,A事件发生的后验概率为0.75。
阅读全文