机器学习算法中的循环数据
Circular data in machine learning algorithms
我有一个循环数据(HSL 的颜色分量 Hue),我需要将它用作一种机器学习算法中的预测器。
如何将其转换为常规连续变量?
为了弄清楚问题,假设我们有一个红色的物体。例如,预测变量 hue 在两个单独的范围 [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]
因此我们得到一个结果,其中循环数据现在具有相互比较的值
注意:这些不是确切的值,它们只是用于演示
我有一个循环数据(HSL 的颜色分量 Hue),我需要将它用作一种机器学习算法中的预测器。 如何将其转换为常规连续变量?
为了弄清楚问题,假设我们有一个红色的物体。例如,预测变量 hue 在两个单独的范围 [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]
因此我们得到一个结果,其中循环数据现在具有相互比较的值
注意:这些不是确切的值,它们只是用于演示