如何在matlab中提高决策树的精度
我有一组数据,我在matlab中使用决策树对它们进行分类。我把这一套分成两部分;一个训练数据(85%)和另一个测试数据(15%)。问题是准确率在90%左右,我不知道如何提高它。如果您对此有任何想法,我将不胜感激。我认为您不应该对此进行改进,可能是分类器过度拟合了数据。尝试使用其他数据集,或交叉验证以查看更准确的结果如何在matlab中提高决策树的精度,matlab,machine-learning,classification,decision-tree,Matlab,Machine Learning,Classification,Decision Tree,我有一组数据,我在matlab中使用决策树对它们进行分类。我把这一套分成两部分;一个训练数据(85%)和另一个测试数据(15%)。问题是准确率在90%左右,我不知道如何提高它。如果您对此有任何想法,我将不胜感激。我认为您不应该对此进行改进,可能是分类器过度拟合了数据。尝试使用其他数据集,或交叉验证以查看更准确的结果 顺便说一句,如果不是过度拟合,90%是一个很好的结果,也许你甚至不需要改进它。你可以查看树叶来改进决策树的泛化。但是正如前面提到的,90%的准确率可以被认为是相当好的。我想这里更重要
顺便说一句,如果不是过度拟合,90%是一个很好的结果,也许你甚至不需要改进它。你可以查看树叶来改进决策树的泛化。但是正如前面提到的,90%的准确率可以被认为是相当好的。我想这里更重要的问题是,对于给定的领域,什么是好的准确率:如果你对垃圾邮件进行分类,那么90%可能有点低,但是如果你预测股价,那么90%确实很高 如果您在一个已知的域集上执行此操作,并且之前有一些分类精度高于您的示例,那么您可以尝试以下几种方法:
你也可以尝试随机森林。
< P>决策树可能因为许多原因而执行低,一个突出的原因,我可以想到的是,在计算一个分裂时,他们不考虑变量或目标变量对其他变量的相互依赖性。 在开始改进性能之前,应注意不会导致过度装配,并应能够概括 要提高性能,可以做以下几件事:- 变量预选:可以对变量进行不同的测试,如多重共线性测试、VIF计算、IV计算,以仅选择几个顶部变量。这将导致性能的提高,因为它将严格消除不需要的变量
- 集成学习使用多棵树(随机森林)预测结果。一般来说,随机森林比单个决策树表现更好,因为它们能够减少偏差和方差。它们也不太容易过度装配
- K-Fold交叉验证:训练数据本身的交叉验证可以稍微提高模型的性能
- 混合模型:使用混合模型,即在使用决策树后使用逻辑回归来提高性能