在 scikit learn 中是否可以使用复数作为目标标签?

dla*_*nts 5 python numpy scipy scikit-learn

我正在尝试使用 sklearn 来预测代表旋转的变量。由于在旋转的极端情况下从 -pi 到 pi 的不幸跳跃,我认为更好的方法是使用复数作为目标。这样,从 1+0.01j 到 1-0.01j 的错误就不会那么严重了。

我找不到任何描述 sklearn 是否支持复数作为分类器目标的文档。从理论上讲,距离度量应该可以正常工作,因此它至少应该适用于某些回归算法。

谁能建议我如何让回归算法以复数为目标进行操作?

dla*_*nts 2

到目前为止,我发现大多数分类器(例如线性回归器)都会自动将复数转换为实部。

然而,kNN 和 RadiusNN 回归器工作得很好 - 因为它们对邻居标签进行加权平均,因此可以优雅地处理复数。

使用多目标分类器是另一种选择,但是我不想将 x 和 y 方向解耦,因为这可能会导致解决方案不稳定,正如 Panic 上校提到的那样,当两个结果都接近 0 时。

我将尝试其他具有复杂目标的分类器并在此处更新结果。