Inner score calculation formula
(affected_decribed, affected_undescribed, total,
pereffect_totalaffected, weight=1.0)
| 91 | |
| 92 | # Adjust scoring formulae |
| 93 | def calc_innerscore(affected_decribed, affected_undescribed, total, |
| 94 | pereffect_totalaffected, weight=1.0): |
| 95 | """Inner score calculation formula""" |
| 96 | # Percentage of items affected by effect out of total number of |
| 97 | # items in this group |
| 98 | coverage_total = (affected_decribed + affected_undescribed) / total |
| 99 | # Same, but only described/undescribed items are taken |
| 100 | coverage_described = affected_decribed / total |
| 101 | coverage_undescribed = affected_undescribed / total |
| 102 | # Already described items should have less weight |
| 103 | coverage_additionalfactor = coverage_undescribed + coverage_described * 0 |
| 104 | # If group has just one item - it should have zero score |
| 105 | affected_total_factor = affected_decribed + affected_undescribed - 1 |
| 106 | innerscore = (coverage_total ** 0.23) * coverage_additionalfactor * \ |
| 107 | affected_total_factor * weight |
| 108 | return innerscore |
| 109 | |
| 110 | def calc_outerscore(innerscore_dict, pereffect_totalaffected, weight): |
| 111 | """Outer score calculation formula""" |