我现在正在尝试在随机森林上制作一个简单的程序。采用两个序列来训练和预测并绘制最终的随机森林曲线。
但是我无法做到这一点,因为我无法理解我应该采取哪种序列以及如何像我们过去在 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")
<小时 />train
和test
变量的预期含义是什么?
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