Python机器学习:反映类之间的相关性的类标签
问题描述:
我有一个时间序列,我想用python中的机器学习来预测(使用神经网络,但并不重要)。除了以前的值($ t-1 $,$ t-2 $,...等)使用信息之外,我想使用另一个变量:当天的小时。Python机器学习:反映类之间的相关性的类标签
笨方法
一种方法是映射:
$ 00:00 \ RIGHTARROW 0 $
$ 01:00 \ RIGHTARROW 1 $
。 ... 等等。所以我想要$ 24 $ $ $ {0,1,2,...,23} $。但是有一个问题:$ 23 $和$ 0 $关闭,但同时这并不反映在这里。
第二种方法:一个热门编码?
另一种方法是创建带有$ 24 $条目的矢量,其中所有元素都为零,除了我们正在查看的类。这相当于创建虚拟变量。例如:
$ 00:00 \ RIGHTARROW [1,0,0,0,...,0] $
$ 01:00 \ RIGHTARROW [0,1,0,0 ,. ..,0] $
...等等。但是有一个问题:这并不能完全反映相关性!
其他方法
我想使用一些环状结构,例如$罪,$ COS $也许极坐标?
我还没有找到解决办法,但这是我的进步:
- 通过归他们
- 规模将它们映射笨方法的类标签$ [0,1] $,范围从$ 0 $到$ 2 \ pi $。
- 对他们使用$ cos $或$ sin $。
这种方法不起作用,但我可以看到一些光..任何想法?
答
我有点发现一个解决方案。从类别标签[0,1,2,3,4,5]
我们使用类标签作为第一列构造如下
array([[ 0, 15, 24, 33, 42, 51],
[ 1, 10, 25, 34, 43, 52],
[ 2, 11, 20, 35, 44, 53],
[ 3, 12, 21, 30, 45, 54],
[ 4, 13, 22, 31, 40, 55],
[ 5, 14, 23, 32, 41, 50]])
这是创建。然后第二列从10开始到15,但是它被移动以便“间隙”在第一和第二标签之间,而不是最后一个和第一个。你重复一遍。
然后分配
0 --> [ 0, 15, 24, 33, 42, 51]
1 --> [ 1, 10, 25, 34, 43, 52]
等.. 然后以常态FO任何两个“相邻”矢量类的差是一样的。因此我们没有任何差距。
我认为可能这类工作,但我不知道我是否能送入一个功能
实际上,这并不因为如果我们点积这个矩阵的权重向量(或矩阵)工作这一点,最终的条目已经失去了“亲密度” –