我有一个循环数据(HSL 的颜色分量色调),我需要将其用作机器学习算法之一的预测器。 如何将其转换为常规连续变量?
为了澄清问题,假设我们有一个红色的对象。例如,预测变量色调的值取两个独立的范围[0, 60]和[300, 359]。大多数机器学习算法都会找到预测变量的平均值。因此,平均值将位于范围 [150, 210] 内,即青色!发生这种情况是因为色调是循环数据..
如有任何帮助,我们将不胜感激!
最佳答案
将个位数圆形数据分解为二维 x,y 或 cos0/sin0 数据。
将时间想象成数据。
11:59.35...PM (14399) 距 12:00AM (00000) 一分钟
但是算法将 14399.35.. 解释为远离 00000,而实际上它们应该很接近
我建议的选项是将数据映射到单位圆中的点。 从这里有两种方法可以转换数据。
获取单位圆数据的x,y坐标 前任。 14399.35 = [-0.01, 0.99] 00000.00 = [ 00.0, 1.00]
获取单位圆内各点相对于圆心的sin/cos 前任。 14399.35 = [0.1,-0.9] 00000.00 = [0.89,-0.4]
因此我们得到的结果是循环数据现在具有可相互比较的值
注意:这些不是确切的值,它们只是用于演示
关于machine-learning - 机器学习算法中的循环数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44028336/