def test_lws_allevidence(self): self.assertDictEqual( marginal_lws_a(self.bn, evidence={ 'Burglary': 'Yes', 'Alarm': 'Yes', 'Earthquake': 'Yes', 'JohnCalls': 'Yes', 'MaryCalls': 'Yes' }), { 'Alarm': { 'No': 0.0, 'Yes': 1.0 }, 'Burglary': { 'No': 0.0, 'Yes': 1.0 }, 'Earthquake': { 'No': 0.0, 'Yes': 1.0 }, 'JohnCalls': { 'No': 0.0, 'Yes': 1.0 }, 'MaryCalls': { 'No': 0.0, 'Yes': 1.0 } })
def test_likelihood_weighted_sample(self): """ THIS HAS BEEN VALIDATED AGAINST BNLEARN """ np.random.seed(3636) self.assertDictEqual( marginal_lws_a(self.bn, evidence={'Burglary': 'Yes'}), { 'Alarm': { 'No': 0.058, 'Yes': 0.942 }, 'Burglary': { 'No': 0.0, 'Yes': 1.0 }, 'Earthquake': { 'No': 0.997, 'Yes': 0.003 }, 'JohnCalls': { 'No': 0.136, 'Yes': 0.864 }, 'MaryCalls': { 'No': 0.343, 'Yes': 0.657 } })
def test_likelihood_weighted_sample(self): """ THIS HAS BEEN VALIDATED AGAINST BNLEARN """ np.random.seed(3636) self.assertDictEqual( marginal_lws_a(self.bn, evidence={"Burglary": "Yes"}), { "Alarm": {"No": 0.058, "Yes": 0.942}, "Burglary": {"No": 0.0, "Yes": 1.0}, "Earthquake": {"No": 0.997, "Yes": 0.003}, "JohnCalls": {"No": 0.136, "Yes": 0.864}, "MaryCalls": {"No": 0.343, "Yes": 0.657}, }, )
def test_lws_allevidence(self): self.assertDictEqual( marginal_lws_a( self.bn, evidence={ "Burglary": "Yes", "Alarm": "Yes", "Earthquake": "Yes", "JohnCalls": "Yes", "MaryCalls": "Yes", }, ), { "Alarm": {"No": 0.0, "Yes": 1.0}, "Burglary": {"No": 0.0, "Yes": 1.0}, "Earthquake": {"No": 0.0, "Yes": 1.0}, "JohnCalls": {"No": 0.0, "Yes": 1.0}, "MaryCalls": {"No": 0.0, "Yes": 1.0}, }, )