负责的参数是什么max_features
?DecisionTreeClassifier
我认为它定义了树用于生成其节点的特征数量。但是,尽管这个参数的值不同(n = 1 和 2),但我的树使用了我所拥有的两个特征。有什么变化?
max_features = 2
max_features = 1
您可以看到x1
并x2
在两种情况下都使用
负责的参数是什么max_features
?DecisionTreeClassifier
我认为它定义了树用于生成其节点的特征数量。但是,尽管这个参数的值不同(n = 1 和 2),但我的树使用了我所拥有的两个特征。有什么变化?
max_features = 2
max_features = 1
您可以看到x1
并x2
在两种情况下都使用
Max_feature 是每次做出拆分决策时要考虑的特征数。假设您的数据维度为 50,max_feature 为 10,每次需要查找拆分时,您随机选择 10 个特征并使用它们来决定这 10 个特征中的哪一个是最好使用的特征。当您转到下一个节点时,您将随机选择另外 10 个,依此类推。
该机制用于控制过拟合。事实上,它类似于随机森林中使用的技术,除了在随机森林中,我们也从数据中采样开始,并生成多棵树。
因此,即使您将数字设置为 10,如果深入,您最终将使用所有功能,但每次您将设置限制为 10。
如果你比较决策树和随机森林中最大特征的定义,你会发现它们是一样的。
https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html