详细内容或原文请订阅后点击阅览
调整梯度增强树的视觉指南
简介我以前的帖子查看了沼泽标准的决策树和随机森林的奇迹。现在,为了完成三胞胎,我将在视觉上探索渐变的树木!有许多梯度提升的树库,包括XGBoost,Catboost和LightGBM。但是,为此,我将使用Sklearn的一个。为什么?仅仅是因为,比较[…]帖子的视觉指南,首先出现在数据科学方面。
来源:走向数据科学简介
我以前的帖子着眼于沼泽标准的决策树和随机森林的奇迹。现在,要完成三胞胎,我将在视觉上进行探索!
上一个 帖子有一堆梯度增强的树库,包括XGBoost,Catboost和LightGBM。但是,为此,我将使用Sklearn的一个。为什么?仅仅是因为与其他人相比,它使我能够更轻松地可视化。实际上,我倾向于使用其他图书馆,而不是Sklearn库。但是,这个项目是关于视觉学习的,而不是纯粹的性能。
从根本上讲,GBT是仅仅一起起作用的树木的组合。虽然单个决策树(包括从随机森林中提取的一树)可以自己做出一个体面的预测,但是从GBT中取出一棵树是不可能提供任何可用的东西。
只能一起工作除此之外,与往常一样,没有理论,没有数学 - 只是情节和超参数。 As before, I’ll be using the California housing dataset via scikit-learn (CC-BY), the same general process as described in my previous posts, the code is at https://github.com/jamesdeluk/data-projects/tree/main/visualising-trees, and all images below are created by me (apart from the GIF, which is from Tenor).
https://github.com/jamesdeluk/data-projects/tree/main/main/visalising-trees 男高音基本的梯度提升树
以基本的GBT开始:GB = gradientboostingRegressor(Random_State = 42)。与其他树类型相似,Min_Samples_split,min_samples_leaf,max_leaf_nodes的默认设置分别为2、1。有趣的是,默认的max_depth是3,而不是决策树/随机森林。我将在稍后再调查的值得注意的超参数包括Learning_rate(梯度的陡峭,默认为0.1)和n_estimators(类似于随机森林 - 树木的数量)。
gb = gradientboostingRegressor(Random_state = 42)
min_samples_split
min_samples_leaf
max_leaf_nodes
无
max_depth
Learning_rate
n_estimators
metricmax_depth = none