22 lines
999 B
Python
22 lines
999 B
Python
from scipy.spatial import distance
|
|
|
|
|
|
class JensenShannonDistance2BarChartDescriptionColumnAdder:
|
|
|
|
@staticmethod
|
|
def addJensenShannonDistance2BarChartDescriptionColumn(barChartDescriptionTable):
|
|
barChartDescriptionTable['BAR_CHART_DESCRIPTION'] = barChartDescriptionTable['BAR_CHART_DESCRIPTION'].map(
|
|
JensenShannonDistance2BarChartDescriptionColumnAdder._addJensenShannonDistance2BarChartDescription)
|
|
return barChartDescriptionTable
|
|
|
|
@staticmethod
|
|
def _addJensenShannonDistance2BarChartDescription(barChartDescription):
|
|
return {
|
|
**barChartDescription,
|
|
# https://machinelearningmastery.com/divergence-between-probability-distributions/: 0 (identical) and 1 (maximally different)
|
|
'Jensen-Shannon distance': distance.jensenshannon(
|
|
barChartDescription['Adverse Reaction Reports guessed'],
|
|
barChartDescription['Adverse Reaction Reports known'],
|
|
base = 2.0)
|
|
}
|