关于决策树和随机森林分类器(scikit)的疑问
Posted
技术标签:
【中文标题】关于决策树和随机森林分类器(scikit)的疑问【英文标题】:Doubts regarding decision trees and random forest classifier (scikit) 【发布时间】:2016-03-24 03:46:47 【问题描述】:我是决策树的新手,所以这些问题可能是微不足道的。
决策树:
-
根据 scikit 文档 (http://scikit-learn.org/stable/modules/tree.html),“predict_proba”函数返回每个类的概率,它是同一类的训练样本在叶子中的分数。这到底是什么意思。
随机森林分类器:
-
在随机森林分类器中使用替换(自举)取样有什么优势。与粘贴相比,它提供了哪些额外的好处,即获取数据集的随机子集 (http://scikit-learn.org/stable/modules/ensemble.html)
scikit 随机森林分类器中有一个参数为“bootstrap_features”(绘制的特征有无替换)。用替换绘制特征到底是什么意思。根据我的理解,在种植一棵树时,您不能再次使用相同的功能。那么替换功能到底意味着什么。
从随机森林分类器中学习变量重要性背后的直觉是什么。
【问题讨论】:
【参考方案1】:DT
根据 scikit doc (http://scikit-learn.org/stable/modules/tree.html),“predict_proba”函数返回每个类的概率,即叶子中同一类的训练样本的分数。这到底是什么意思。
如果你没有限制地种植你的树 - 这意味着什么,预测 proba 将始终输出 100%。但是,如果您以某种方式限制树的大小(例如通过 max_depth),那么实际上某些叶子最终会得到来自不同类的样本,然后预测概率,如果在此类叶子中完成分类,则返回每个类别的概率与该叶子中的每个类别样本成比例。例如,您最终得到一个叶子,其中包含来自第 1 类的 3 个样本和来自第 2 类的 2 个样本,那么如果您最终在这个叶子中,您将输出 [0.6 0.4] (3/(3+2)=3/5=0.6 = 60% 是您应该分配类别 1 的概率,而 2/(3+2)=2/5=0.4 = 40% 分配类别 2。
射频 1
在随机森林分类器中采样替换(引导)有什么好处。与粘贴相比,它提供了哪些额外的好处,即获取数据集的随机子集 (http://scikit-learn.org/stable/modules/ensemble.html)
它使您的训练集的大小与原始集相同,因此您可以或多或少地使用与单个树相同的超参数范围。此外,这使训练集更加多样化(因为您对一些样本进行了人工“增强”,这些样本被多次绘制)。它还具有更好的统计特性,因此可以更好地估计估计器的特性(例如它的泛化能力)
射频 2
scikit 随机森林分类器中有一个参数为“bootstrap_features”(特征是在有或没有替换的情况下绘制的)。用替换绘制特征到底是什么意思。根据我的理解,在种植一棵树时,您不能再次使用相同的功能。那么替换一个特性到底是什么意思。
No, there is not
类 sklearn.ensemble.RandomForestClassifier(n_estimators=10, 标准='gini',max_depth=None,min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, bootstrap=True, oob_score=False, n_jobs=1, random_state=None,verbose=0,warm_start=False,class_weight=None
也许你的意思是通用 Bagging?然后您可以多次使用每个功能。
射频 3
从随机森林分类器中学习变量重要性背后的直觉是什么。
这只是衡量每个特征在树中用于做出决策的样本数量,因此 - 分数越低,如果从数据集中删除此特征,损失越少。您可以通过多种方式使用它,包括特征选择、数据分析反馈等。
用作树中决策节点的特征的相对等级(即深度)可用于评估该特征相对于目标变量的可预测性的相对重要性。树顶部使用的特征用于对大部分输入样本的最终预测决策做出贡献。因此,它们贡献的样本的预期分数可以用作特征相对重要性的估计。
【讨论】:
感谢 DT 和 RF3 关于 RF1,我很困惑,采样将如何给出原始集的大小。此外,这种人工增强样本的好处如何以及泛化如何更好。关于RF2,抱歉错误。是的,它用于通用装袋 (scikit-learn.org/stable/modules/…)。它存在的意义是什么?以上是关于关于决策树和随机森林分类器(scikit)的疑问的主要内容,如果未能解决你的问题,请参考以下文章