def density(data, nbins=500, rng=None):
"""
Computes density for metrics which return vectors
Required parameters:
data:
- Dictionary of the vectors of data
"""
density = OrderedDict()
xs = OrderedDict()
for subj in data:
hist = np.histogram(data[subj], nbins)
hist = np.max(hist[0])
dens = gaussian_kde(data[subj])
if rng is not None:
xs[subj] = np.linspace(rng[0], rng[1], nbins)
else:
xs[subj] = np.linspace(0, np.max(data[subj]), nbins)
density[subj] = dens.evaluate(xs[subj])*np.max(data[subj]*hist)
return {"xs": xs, "pdfs": density}
评论列表
文章目录