print('\nProb for mammogram given cancer', 'P(M|C=yes)', mamm_g_cancer.asPct(), sep='\n') # prob for mamm given cancer == no mamm_g_no_cancer = Lea.fromValFreqs(('pos', 96), ('neg', 1000-96)) print('\nProb for mammogram given NO cancer', 'P(M|C=no)', mamm_g_no_cancer.asPct(), sep='\n') # conditional probability table mammograms = Lea.buildCPT((cancer == 'yes', mamm_g_cancer), (cancer == 'no', mamm_g_no_cancer)) print('\nMammograms', 'P(M)', mammograms.asPct(), sep='\n') # get joint probs for all events joint_probs = Lea.cprod(mammograms, cancer) print('\nJoint Probabilities', 'P(M, C)', joint_probs.asPct(), sep='\n') # prob cancer GIVEN mammogram==pos
print('Six-sided Die Distribution', die6, sep='\n') # define four-side die die4 = Lea.fromValFreqs(('1', 1), ('2', 1), ('3', 1), ('4', 1)) print('Four-sided Die Distribution', die4, sep='\n') # construct Scenario 1 scenario1 = Lea.buildCPT((coin == 'H', die6), (coin == 'T', die6)) print('Scenario 1', scenario1, sep='\n') # construct Scenario 2 scenario2 = Lea.buildCPT((coin == 'H', die6), (coin == 'T', die4)) print('Scenario 2', scenario2, sep='\n') # get joint probs for all events # -- scenario 1
print('\nProb for mammogram given cancer', 'P(M|C=yes)', mamm_g_cancer.asPct(), sep='\n') # prob for mamm given cancer == no mamm_g_no_cancer = Lea.fromValFreqs(('pos', 96), ('neg', 1000 - 96)) print('\nProb for mammogram given NO cancer', 'P(M|C=no)', mamm_g_no_cancer.asPct(), sep='\n') # conditional probability table mammograms = Lea.buildCPT((cancer == 'yes', mamm_g_cancer), (cancer == 'no', mamm_g_no_cancer)) print('\nMammograms', 'P(M)', mammograms.asPct(), sep='\n') # get joint probs for all events joint_probs = Lea.cprod(mammograms, cancer) print('\nJoint Probabilities', 'P(M, C)', joint_probs.asPct(), sep='\n') # prob cancer GIVEN mammogram==pos print('\nThe Answer', 'P(C|M=pos)', cancer.given(mammograms == 'pos').asPct(), sep='\n') # prob cancer GIVEN mammogram==neg