机器学习算法中的循环数据

时间:2017-05-17 14:54:43

标签: machine-learning circular-dependency circular-reference hsl

我有一个循环数据(HSL的颜色分量Hue),我需要在其中一个机器学习算法中使用它作为预测器。 如何将其转换为常规连续变量?

为了澄清问题,假设我们有一个红色的对象。例如,预测器色调将其值分为两个分开的范围[0,60]和[300,359]。大多数机器学习算法都能找到预测变量的平均值(平均值)。因此,平均值将位于[150,210]的范围内,该范围指的是青色!这是因为色调是循环数据..

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

将单个数字的循环数据分解为2维x,y或cos0 / sin0数据。

想象时间作为数据。

11:59.35 ... PM(14399)距离上午12:00(00000)一分钟

但算法解释了14399.35 ..远离00000,实际上它们应该接近

我建议的选项是将数据映射到单位圆中的点。 从这里可以通过两种方式转换数据。

  1. 从单位圆获取数据的x,y坐标 恩。 14399.35 = [-0.01,0.99] 00000.00 = [00.0,1.00]

  2. 获取相对于中心的单位圆中的点的sin / cos 恩。 14399.35 = [0.1,-0.9] 00000.00 = [0.89,-0.4]

  3. 因此我们得到一个结果,其中循环数据现在具有可相互比较的值

    注意:这些不是确切的值,它们只是用于演示