R中的回归RandomForest

use*_*729 8 regression r random-forest

我正在尝试使用R和randomForest Package,我对SVM和神经网络有一些经验.我的第一个测试是尝试和回归:sin(x)+高斯噪声.使用神经网络和svm,我获得了sin(x)的"相对"好的近似值,因此滤除了噪声并且学习算法不会过度拟合.(对于体面的参数)当在randomForest上做同样的事情时,我有一个完全过度拟合的解决方案.我只是使用(R 2.14.0,也试过2.14.1,以防万一):

library("randomForest")
x<-seq(-3.14,3.14,by=0.00628)
noise<-rnorm(1001)
y<-sin(x)+noise/4
mat<-matrix(c(x,y),ncol=2,dimnames=list(NULL,c("X","Y")))
plot(x,predict(randomForest(Y~.,data=mat),mat),col="green")
points(x,y)
Run Code Online (Sandbox Code Playgroud)

我猜在randomForest中有一个神奇的选项让它正常工作,我尝试了一些,但我找不到合适的杠杆拉...

Vin*_*ynd 4

您可以使用maxnodes限制树的大小,如手册中的示例所示。

r <- randomForest(Y~.,data=mat, maxnodes=10)
plot(x,predict(r,mat),col="green")
points(x,y)
Run Code Online (Sandbox Code Playgroud)

  • 机器学习的一个有趣的事情是,没有一种放之四海而皆准的方法。某些类型的算法更适合不同类型的数据。不幸的是,我还没有找到概述哪种方法最适合哪种数据集的来源,因此几乎完全依赖于反复试验。 (2认同)