我想以一种特殊的方式将分类变量传递到sklearn决策树中:假设分类列中的唯一变量为V = [A,B,C]。我想找到一种编码方式,使得对于V的每个子集,树都可以决定在一个节点中将子集与其补语分开。
到目前为止,我在此问题上找到的解决方案是OneHot编码器和标签编码器。两者都不满足我的需求:使用OneHot编码器,我们只能从其余值中拆分一个值;并且使用标签编码器,我们只能根据选择的顺序进行拆分,而无法将[A]和[B]进行拆分。
对于三个变量,这很简单:只需使用两个新功能f_1 = {A: 0, B: 1, C: 2}
和f_2 = {B: 0, A: 1, C:2}
。例如。如果我想从其余部分中拆分B,则树可以使用规则f_2 >= 1
。我还可以提出4个课程的功能。但是我看不到一般模式。
非常感谢您的帮助。 sklearn或category_encoders软件包中是否存在类似的东西?