在 Python 中需要随机森林编程方面的帮助



我现在正在尝试在随机森林上制作一个简单的程序。采用两个序列来训练和预测并绘制最终的随机森林曲线。

但是我无法做到这一点,因为我无法理解我应该采取哪种序列以及如何像我们过去在 R 语言中所做的那样在图形上绘制随机森林结果。

到目前为止,

我已经尝试过了 -

import numpy as np
from pylab import *
test=np.random.rand(1000,10)
print (test)
train=np.random.rand(1000,5)
print (train)

from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier(n_estimators=100,n_jobs=10)
rfc.fit(test, train)
请查看代码,

如果您可以更正代码并告诉我如何绘制随机森林结果,那将是一个很大的帮助。

我期待您的友好答复尽快。

<小时 />

在R语言中,我这样做了-

模拟数据

train=rnorm(1,1000,.2)
predict=rnorm(1100,1200,.5)
df=data.frame(train, predict)

运行随机森林实现

library(randomForest)
rf1 <- randomForest(predict~., data=df, mtry=2, ntree=500, importance=TRUE)
importance(rf1,type=1)

运行参与方实现

library(party)
cf1 <- cforest(predict~.,data=df,control=cforest_unbiased(mtry=2,ntree=50))
varimp(cf1)
varimp(cf1,conditional=TRUE)

情节

plot (rf1, log = "y")
<小时 />

traintest变量的预期含义是什么?

RandomForestClassifier.fit的文档告诉,对于分类器,您需要为第二个参数(在文档中命名为 y)传递类标签。这可以是整数值(每个可能的类的整数)或字符串标签列表。

此外,fit 预计仅使用训练数据(训练集输入特征和训练集标签)进行调用,因此传递名为 test 的变量确实令人困惑。

请首先按照scikit-learn的教程之一来了解如何使用该库训练分类器:

  • http://scikit-learn.org/stable/documentation.html

然后特别阅读随机森林的文档:

  • http://scikit-learn.org/stable/modules/ensemble.html#forests-of-randomized-trees

如果要计算变量重要性,请特别阅读本节:

  • http://scikit-learn.org/stable/modules/ensemble.html#feature-importance-evaluation

相关内容

  • 没有找到相关文章

最新更新