我正在尝试在应用特征选择之前和之后试验不同机器学习算法的性能。
我测试了 SVM、随机森林、KNN、线性回归和决策树,并利用 sklearn 提供的函数 (SelectFromModel) 使用随机森林作为特征选择方法。
除决策树外,所有算法在应用特征选择后都有显着改善。我试图找到为什么会发生这种情况的解释?这是否意味着决策树需要大量的特征才能产生一个好的模型?
我正在尝试在应用特征选择之前和之后试验不同机器学习算法的性能。
我测试了 SVM、随机森林、KNN、线性回归和决策树,并利用 sklearn 提供的函数 (SelectFromModel) 使用随机森林作为特征选择方法。
除决策树外,所有算法在应用特征选择后都有显着改善。我试图找到为什么会发生这种情况的解释?这是否意味着决策树需要大量的特征才能产生一个好的模型?
决策树在模型构建过程中具有隐含的特征选择。也就是说,当它在构建树时,它只通过拆分导致节点纯度最大增加的特征来实现,因此特征选择方法将消除的特征无论如何都不会在模型中使用。
这与随机森林不同,其中每个拆分仅在特征子集上选择,因此可能仅从“坏”特征中选择给定的拆分。通过执行特征选择,您可以消除这种可能性并提高森林中的性能
我将 CART 理解为分类和回归树,就像决策树一样。决策树是贪婪的和确定性的。
随机森林是决策树的集合,因此您将使用随机树集合来选择特征。
我猜,您的问题并没有真正描述这种情况,因为决策树没有被修剪并使用所有数据,它提供了一个很好的解决方案,因此无需处理过度拟合或修剪它们通常在火车上比随机森林,因为它们很容易过拟合。
取出特征只会给树提供更少的信息,从而降低功率。
这是否意味着 CART 需要大量的特征才能产生一个好的模型?
决策树在少数特征方面表现良好,但不相关。
只是为了检查一下,您是否在测试集中进行了评估?