请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

决策树算法中的random_state是什么意义?

DecisionTreeClassifier(max_depth=2, criterion="entropy", random_state=42),这其中随机种子在算法中起到了一个什么样的作用?

正在回答

1回答

liuyubobobo 2018-03-19 16:36:30

sklearn中的决策树实现,在寻找最大熵的切分的时候,所考虑的features的是乱序的。这样在多个features中,如果出现最大熵一致的情况,可能选择的切分位置不一样(对于拥有大量01二分属性的数据来说,这种情况很常见),从而使得决策树尽量在每一层照顾不同的特征。具体可以参见sklearn文档中下面这种的这句话:http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html


The features are always randomly permuted at each split. Therefore, the best found split may vary, even with the same training data and max_features=n_features, if the improvement of the criterion is identical for several splits enumerated during the search of the best split. To obtain a deterministic behaviour during fitting, random_state has to be fixed.


另外,对于sklearn的DecisionTreeClassifier, 其中的splitter参数可以选择“random”,也将引入随机的影响。

0 回复 有任何疑惑可以回复我~
  • 提问者 烈焰卡卡 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-03-19 16:41:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信