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”(特征是在有或没有替换的情况下绘制的)。用替换绘制特征到底是什么意思。根据我的理解,在种植一棵树时,您不能再次使用相同的功能。那么替换一个特性究竟意味着什么。
不,那里没有
sklearn.ensemble.RandomForestClassifier 类(n_estimators=10,criteria='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
从随机森林分类器中学习变量重要性背后的直觉是什么。
这只是衡量每个特征在树中使用多少样本来做出决定,因此 - 分数越低,如果从数据集中删除此特征,损失越少。您可以通过多种方式使用它,包括特征选择、数据分析反馈等。
用作树中决策节点的特征的相对等级(即深度)可用于评估该特征相对于目标变量的可预测性的相对重要性。树顶部使用的特征用于对大部分输入样本的最终预测决策做出贡献。因此,它们贡献的样本的预期分数可以用作特征相对重要性的估计。