首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机森林决策树的值

随机森林决策树的值
EN

Stack Overflow用户
提问于 2020-12-13 15:48:02
回答 1查看 413关注 0票数 0

有可能知道哪几棵树对我有预测价值吗?我使用随机森林算法做了一个目标检测项目。

代码语言:javascript
复制
from sklearn.ensemble import RandomForestClassifier
RF_model = RandomForestClassifier(n_estimators = 50, random_state = 42)

# Train the model on training data
RF_model.fit(X_for_RF, y_train)

在这里,我有50棵树,我需要知道有多少棵树给了我这个预测值。

假设随机抽取的森林对我来说,这是苹果,那么我需要得到它砍下的树的数目,苹果就像“有30棵树,告诉我这是苹果,其余的20棵决定它是香蕉”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-13 16:25:17

是的,使用estimators_属性是可能的:

代码语言:javascript
复制
RF_model = RandomForestClassifier(n_estimators = 50, random_state = 42)
RF_model.fit(X_for_RF, y_train)

trees = RF_model.estimators_
# Get all 50 tree predictions for the first instance
preds_for_0 = [tree.predict(X_for_RF[0].reshape(1, -1))[0] for tree in trees]

这里trees是来自sklearn.treen_estimators (这里是50) DecisionTreeClassifier()对象的列表。要从每个树中获取类标签,只需使用predict()方法即可。

列表preds_for_0 (长度50)存储每个组成树为X_for_RF[0]预测的标签。研究这个列表将很容易地给出大多数的标签,以及哪棵树给实例提供了什么标签。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65277512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档