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中有一个神奇的选项让它正常工作,我尝试了一些,但我找不到合适的杠杆拉...
您可以使用maxnodes限制树的大小,如手册中的示例所示。
r <- randomForest(Y~.,data=mat, maxnodes=10)
plot(x,predict(r,mat),col="green")
points(x,y)
Run Code Online (Sandbox Code Playgroud)