我有两个 n 维数据子集 A 和 B,并且我想知道对于 B 中的每个样本,周围 A 样本的密度是多少。
以下是一个在 3 维中包含 5 个样本的示例数据集。
这个错误是什么意思?我如何从
以下是一个在 3 维中包含 5 个样本的示例数据集。
A = np.array([[-2.44528668, -0.09326276, -1.06527892],
[-1.35144799, -1.45507518, -0.02096 ],
[-0.5788315 , -1.48932706, -0.28496559],
[-1.60224949, -0.76823424, -0.11548589],
[-1.15768561, -0.74704022, -0.14744463]])
B = np.array([[-1.84134663, -1.42036525, -1.38819347],
[-2.58165693, -2.49423057, -1.57609454],
[-0.78776371, -0.79168188, 0.21967791],
[-1.0165618 , -1.78509185, -0.68373997],
[-1.21764947, -0.43215885, -0.34393573]])
我尝试做以下事情:
from scipy.stats import gaussian_kde
kernel = gaussian_kde(A)
densities = kernel(B)
但这引起了一些问题
LinAlgError: 2-th leading minor of the array is not positive definite
这个错误是什么意思?我如何从
A
中获取每个样本的点密度B
?