Machine learning 在给定特征数的情况下寻找随机森林的最大深度

Machine learning 在给定特征数的情况下寻找随机森林的最大深度,machine-learning,random-forest,depth,regularized,Machine Learning,Random Forest,Depth,Regularized,如果我们知道特征的数量,我们如何找到随机森林的最大深度 这是正则化随机森林分类器所必需的 我以前没有想过这一点。一般来说,树是不确定的。而不是问什么是最大深度?你可能想知道平均深度是多少,或者一棵树有20米深的可能性是多少。。。无论如何,计算最大深度的某些界限是可能的。因此,要么节点耗尽(a)inbag样本,要么(b)可能的拆分 (a) 如果inbag样本(N)是限制部分,我们可以想象一个分类树,其中除一个样本外的所有样本都被转发到每个拆分的左侧。那么最大深度是N-1。这一结果极不可能,但有可能

如果我们知道特征的数量,我们如何找到随机森林的最大深度


这是正则化随机森林分类器所必需的

我以前没有想过这一点。一般来说,树是不确定的。而不是问什么是最大深度?你可能想知道平均深度是多少,或者一棵树有20米深的可能性是多少。。。无论如何,计算最大深度的某些界限是可能的。因此,要么节点耗尽(a)inbag样本,要么(b)可能的拆分

(a) 如果inbag样本(N)是限制部分,我们可以想象一个分类树,其中除一个样本外的所有样本都被转发到每个拆分的左侧。那么最大深度是N-1。这一结果极不可能,但有可能。最小深度树,其中所有子节点都同样大,则最小深度为~log2(N),例如16,8,4,2,1。实际上,树的深度介于最大值和最小值之间。控制最小节点大小的设置将减少深度

(b) 要检查特征是否限制了树的深度,并且在您知道训练集之前,请计算有多少训练样本是唯一的。无法拆分唯一样本(U)。对于每棵树,只会选择约0.63个样本。N~U*0.63。使用第(a)节中的规则。在引导过程中可以选择所有唯一的样本,但这也不太可能


如果您不知道您的训练集,请尝试估计在d个特征中的每个特征(i)中可能找到多少个级别(L[i])。对于分类特征,可以给出答案。对于从真实分布中提取的数字特征,其级别与样本数量相同。可能的唯一样本为U=L[1]*L[2]*L[3].*L[d]。

为什么需要正则化随机林分类器?你将如何规范?有些人把这部分搞错了。完全生长的树不会过度拟合,因为装袋和随机特征选择可以防止过度拟合。当我用100%的数据对其进行训练并用相同的完整数据进行测试时,精确度为“1”。这只有在过度拟合的情况下才有可能,所以我想用max_depth参数对其进行正则化,是的,它解决了问题,精度得到了提高。你需要在交叉验证集上测试它。显然,如果您在训练集上检查分类器,它将在接近100%的情况下保持安静。请将您的培训集分为两部分。培训和交叉验证以检查绩效。也要检查特征之间的相关性,因为它们也可能导致过度拟合,但在我的拙劣观点中,您的测试方法是错误的。对于随机林,特征之间的相关性通常不是问题。大多数随机森林软件包都附带了一个现成的(OOB)交叉验证,您可以在培训期间免费获得该验证。你用的是哪一个软件包?限制或修剪单株树而不是森林。只有当您的数据非常大时,您才可以将最大深度限制为加速。但是,随着速度的提高和树去相关度的增加,最好降低引导样本大小。