多目标决策树

这是我的问题。我需要实现一个多目标决策树算法。多目标是多标签学习的扩展,其中标签不仅仅是二元的,还可以是连续的、分类性的等等。例如,多标签分类问题的标签向量可能看起来像这样{1,0,1,0,0,0,1},而多目标的标签向量可能看起来像这样{2,35,3,-2,24}。我的问题是,如果我有一个标签,它有三个离散值,我该如何在向量中表示它们?假设我有一个名为“job”的标签,它有三个值,分别是mechanic(技工)、teacher(教师)和athlete(运动员)。我该如何编码这个标签,以便在向量中使用它?在决策树的每个节点上,为了找到我的分裂点,我需要计算该节点中所有标签向量的均值向量(我使用方差方法方程来找到我的分裂点)。如果我有二元标签,这很简单,因为添加0和1不会有任何问题。如果我用0,1,2来编码这三个工作,那么这就有问题了,因为添加一个包含athlete标签的标签向量会比添加一个包含mechanic工作的向量计数更多,并且均值向量是不准确的。

让我们看一个例子。我有这三个标签:

          job: {mechanic,teacher,athlete}          married:{yes,no}          age:  连续值

很容易说married标签可以编码为{0,1},age标签可以编码为连续数字。但我该如何编码job标签呢?将其编码为{0,1,2}会导致下一个问题。想象一下节点中的两个标签向量:{0,0,45}对应mechanic,已婚,45岁和{2,1,48}对应athlete,未婚,48岁。均值向量是{1,0.5,46.5}。用这个向量,我可以预测落入该节点的实例的年龄是46.5,我可以说该实例未婚(使用一个规则,即大于或等于0.5为1),我可以说它的工作是教师。教师这个工作完全是错误的,而其他都是正确的。你现在看到了编码分类标签的问题。有什么帮助或建议吗?谢谢 😀


回答:

如何处理一个特征的所有离散值,如果值超过两个,将它们全部转换成特征,例如:

job: {mechanic, teacher, athlete}married:{yes, no}age:  连续值

将结果转换为一个5维向量

(mechanic 0/1, teacher 0/1, athlete 0/1, married 0/1, age 0-inf)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注