【问题标题】:Need Assistance In Random Forest Programming In Python在 Python 中进行随机森林编程需要帮助
【发布时间】:2015-01-03 05:44:44
【问题描述】:

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

但我无法做到这一点,因为我无法理解我应该采用哪种序列以及如何在图表上绘制随机森林结果,就像我们过去在 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)

运行 randomForest 实现

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")

【问题讨论】:

  • 解释您希望情节显示什么。
  • 随机森林错误图。
  • 请不要使用无意义的句子,例如“我期待您尽快回复。”在您的问题中,而是解释您的程序的目标,您期望获得的结果以及您在机器上观察到的结果,它们有何不同并报告您获得的完整错误消息。

标签: python machine-learning scikit-learn random-forest


【解决方案1】:

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

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

此外,fit 预计将仅使用训练数据(训练集输入特征和训练集标签)调用,因此传递名为 test 的变量真的很混乱。

请先学习 scikit-learn 的教程之一,以了解如何使用该库训练分类器:

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

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

【讨论】:

  • 我想用来对 x 和 y 进行排序,一个用于训练和测试。所以我将这两个序列命名为训练和测试。
  • 请介绍一下随机森林中的图表。喜欢错误率的图吗?
  • 就像在 R 语言中一样,我们使用 plot (randomForestObject, log = "y") 来绘制随机森林图,这是一个使用错误作为 x 轴和在 y 轴上的树数显示错误的输出.同样,我正在尝试在 Python 中绘制类似的图表。
猜你喜欢
  • 2012-07-03
  • 2021-08-29
  • 2013-07-05
  • 2016-05-15
  • 2018-04-10
  • 2017-12-12
  • 2021-05-29
  • 2016-06-24
  • 2016-10-20
相关资源
最近更新 更多