一个经过训练的决策树可以总是返回一些数据输入的预测吗



如果我有一个经过良好训练的决策树,那么树是否仍然有一些属性组合没有预测?我想说的是,有可能有一个决策树来响应来自数据集的所有可能的输入组合吗?我并不关心树的准确性,相反,我想知道一个好的决策树是否会对所有可能的输入组合进行预测。

谢谢你的帮助!

这取决于"属性组合"是指为其提供值的属性集,还是指特定值的组合(针对所有属性)。例如,假设您有属性A、B、C和D。属性A可以有值{A_1、A_2、…、AA_n}(类似于属性B、C、D)。

如果"属性组合"的意思是,有时会为所有属性提供值,但有时只提供子集(例如,只提供a、C和D的值),那么这取决于特定的决策树实现。例如,ID3要求每个样本具有所有属性的值,而C4.5则没有(即,它处理缺失的属性)。

如果您所说的"属性组合"是指所有属性始终存在,但并非所有属性的组合都在训练过程中遇到(例如,没有具有该组合的训练样本(A_2、B_5、C_1、D_4)),那么是的,经训练的决策树应该能够处理这些情况。更具体地说,经过训练的树应该能够对其所训练的属性的所有值组合进行分类。

如果与特定属性相对应的节点没有具有该属性的特定值的训练样本,则基于父节点的属性值(更接近根的下一个节点)进行预测。例如,假设您有一个新的观测值(a_2、B_5、C_1、D_4)。你可以有一个训练过的树,它的根节点在属性C上分支。基于给定的属性值C=C_1,树可以在属性B上分支,基于B=B_5,它可以进行预测。可能不存在具有组合(*,B_5,C_1,*)的训练样本。在这种情况下,预测仅基于值C=C_1。

或者可能存在C=C_1和B=B_5的训练示例,但该组合已经足以进行预测。在这种情况下,新观测的A和D的值与B和C的组合无关。由于匹配(*,B_5,C_1,*)的所有新观测都具有相同的预测,因此没有必要在训练数据中也存在A和D相关联的值。

最新更新