决策树为什么要引入随机数

最近在使用scikit-learn的决策树的时候发现每次生成的树都不一样。发现决策树里面的有个random_state的参数,但是没想明白为什么会有这么个参数。

最近给本科生的机器学习课程做助教,需要给他们出作业题,想做一个决策树相关的练习,生成了一批随机数据,然后画出决策树的decision boundary,结果发现,这个边界每次都不一样,然后就没想明白,决策树每次生成的不应该是一样的树吗,为什么边界会变化。

查了一下之后,发现如果决策树对连续性变量进行分类的时候,需要取一个中间值,这个中间值一般要加入随机因素,这样生成的树就不一样了。