用树路径值(例如文件/文件夹路径)编码离散特征而不将树扩展到对应于每个节点的多个特征的常用技术是什么?
更新。
总的来说,我正在寻找可以与不同算法一起使用的编码(例如线性回归,而不仅仅是聚类)。类似于Huffman 编码,但可用于机器学习。
例如,考虑用类似 lisp 的符号描述的这棵树:
(a (b b1 b2) (c c1 c2 c3))
它可以通过为每个节点创建特征来编码,但这对于任何足够大的树来说都是非常昂贵的。
a b b1 b2 c c1 c2 c3 Path
1 1 0 0 0 0 0 0 /a/b
1 0 0 0 1 0 1 0 /a/c/c2
不是为每个节点创建特征,而是每个深度级别可能都有一个特征。
L1 L2 L3 Path
1 1 0 /a/b
1 2 6 /a/c/c2
其中
L2 可以对应地为 none,b,c 的值为 0,1,2;
L3 的值可以分别为 none,b1,b2,c1,c2,c3 的值 0,1,2,5,6,7(b2 和 c1 之间存在间隙,因此具有不同父节点的节点之间存在数字距离)。
但它也有一些明显的问题,例如 c1 和 c3 比 c1 和 c2 彼此相距更远。
我知道编码真的取决于你想如何解释树和节点之间的关系。我希望可能有一些文章/论文描述不同的方法和权衡。