이성령*_*이성령 5 python distribution distance scipy
我想测量多维空间中两个分布之间的距离。
例如,我想在多个维度上进行诸如 Wasserstein 分布或能量距离之类的测量,而不是进行一维比较。
我在一维中找到了一个包,但我仍然在多维中找到了一个。我怎样才能摆脱困境?
我想你还是想测量两个分布之间的距离?即使您的数据是多维的,您也可以通过展平数组来导出每个数组的分布flat_array1 = array1.flatten(),并flat_array2 = array2.flatten()测量每个数组的分布(我的代码用于累积分布,但您也可以采用高斯分布)-我在这里在我的函数中进行展平:
`def ecdf(data):
'''compute eCDF of an image'''
data_flatten = data.flatten()
sort_data = np.sort(data_flatten)
values, bins = np.histogram(sort_data, normed=True)
cum_data = np.cumsum(values)
return (bins, cum_data)`
Run Code Online (Sandbox Code Playgroud)
然后测量两个分布之间的距离。
假设您有两个 3D 数组,并且想要测量相似性(或相异性,即距离),您可以使用上述函数检索分布,然后使用熵、Kullback Liebler 或 Wasserstein Distance。
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |