假设我在我正在处理的数据集的领域知识方面具有专业知识。我知道我的部分数据集的行为与其他部分 100% 不同。
此外,通过几个简单的 if-else 可以直接检查一行是否属于数据集的一部分或另一部分。
我应该预先拆分我的数据集并为数据集的两个部分创建两个不同的预测模型吗?还是我应该保留一个模型并尝试改进它?
然后,当我想使用该模型进行预测时,我检查输入值并查看它属于哪个类别,然后为它调用适当的模型。
假设我在我正在处理的数据集的领域知识方面具有专业知识。我知道我的部分数据集的行为与其他部分 100% 不同。
此外,通过几个简单的 if-else 可以直接检查一行是否属于数据集的一部分或另一部分。
我应该预先拆分我的数据集并为数据集的两个部分创建两个不同的预测模型吗?还是我应该保留一个模型并尝试改进它?
然后,当我想使用该模型进行预测时,我检查输入值并查看它属于哪个类别,然后为它调用适当的模型。
是的,您可以划分数据集并对数据集的不同部分使用不同的预测模型。利用您的领域知识来构建一个好的模型。
毕竟,您实际上可以将以下内容视为单个模型
正如@Siong They Goh 所写,由于可以直接检查模型属于哪个部分,分类算法可能会在组合集中找到它。如果划分非常强,这种划分在模型中将很重要(例如,决策树中的根),然后分类器必须为每个部分学习正确的模型。这将发生在您拥有不相关部分的场景中。请注意,在这种情况下,是否拆分数据集并不重要。您将获得的好处将是防止噪声误导您的分类器(例如,随机看起来信息丰富的无关特征)。
一个更有趣的场景是,当划分为部分时会提供信息,但还有其他功能会提供更多信息。在这种情况下,给定一个联合数据集,分类器将更容易使用它们。例如,如果你的数据集很小,它的代表性会更小,噪声的影响会更强,这两种效应在拆分时会变得更强。
我建议您选择一个小型基准分类器(例如,大小有界决策树)并检查其在两种变体上的性能。这样,您将能够知道哪种解决方案更适合您。