We are given a Bayesian Network that models the inter-relationship between some diseases and observed symptoms. We have to learn parameters for the network based on health records. Unfortunately, as it happens in the real world, certain records have missing values. We need to do our best to compute the parameters for the network, so that it can be used for diagnosis later on.
- The bayesian network is represented in .bif format. Details of the input format can be found here. The network worked with in this assignment can be found here.
- To learn the unknown values, a data file is provided whose each line will be a patient record. All features will be listed in exactly the same order as in the .bif network and will be comma-separated. If a feature value is unknown, the special symbol “?” for it and there will be no more than 1 unknown value per row.
- A format checker to check that the output file adheres to alarm.bif format.
- To compile
./compile.sh
- To run (outputs solved_alarm.bif)
./run.sh alarm.bif sample_data.dat
- To check if the output format is according to the specifications and also computes total learning error (wrt gold_alarm.bif)
python Format_checker.py