我在一个 n 维空间中定义了函数,我用 (X,Y) 表示,其中 X 是一个包含输入特征的大小为 mxn 的数组,而 Y 是一个包含输出的大小为 mx1 的数组。所以在 m >> n 的 d 维空间中有 m 个点。
我想平滑 Y(输出)的值。在 1 维或 2 维的情况下,我可能会使用平滑样条曲线。在 n 维的情况下我真的不知道......我考虑过 scipy 中的中值滤波器(median_filter),但我不清楚如何在 X 中找到邻居并获取 Y 中的相应值来计算中值.
有任何想法吗?谢谢!
您可以使用scipy.spatial.KDTree
在某个半径内查找点,然后找到 Y 的中值。
或者也许在 sklearn 中使用一些回归方法,例如支持向量回归