我有一个循环数据(HSL的颜色分量Hue),我需要在其中一个机器学习算法中使用它作为预测器。 如何将其转换为常规连续变量?
为了澄清问题,假设我们有一个红色的对象。例如,预测器色调将其值分为两个分开的范围[0,60]和[300,359]。大多数机器学习算法都能找到预测变量的平均值(平均值)。因此,平均值将位于[150,210]的范围内,该范围指的是青色!这是因为色调是循环数据..
任何帮助将不胜感激!
答案 0 :(得分:1)
将单个数字的循环数据分解为2维x,y或cos0 / sin0数据。
想象时间作为数据。
11:59.35 ... PM(14399)距离上午12:00(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]
因此我们得到一个结果,其中循环数据现在具有可相互比较的值
注意:这些不是确切的值,它们只是用于演示