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
print('\nExtra Info',
      'P(C|M=neg)',
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
joint_prob1 = Lea.cprod(coin, scenario1)

print('Scenario 1',
      '* Joint Probabilities',
      joint_prob1,
      sep='\n')

# get joint probs for all events
# -- scenario 2
joint_prob2 = Lea.cprod(coin, scenario2)

print('Scenario 2',
      '* Joint Probabilities',
      joint_prob2,
      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
print('\nExtra Info',
      'P(C|M=neg)',
      cancer.given(mammograms == 'neg').asPct(),
      sep='\n')