我試圖使用R中的gbm
包提高分類樹,我對從predict
函數獲得的預測類型有點困惑。在R中增強分類樹
這是我的代碼:
#Load packages, set random seed
library(gbm)
set.seed(1)
#Generate random data
N<-1000
x<-rnorm(N)
y<-0.6^2*x+sqrt(1-0.6^2)*rnorm(N)
z<-rep(0,N)
for(i in 1:N){
if(x[i]-y[i]+0.2*rnorm(1)>1.0){
z[i]=1
}
}
#Create data frame
myData<-data.frame(x,y,z)
#Split data set into train and test
train<-sample(N,800,replace=FALSE)
test<-(-train)
#Boosting
boost.myData<-gbm(z~.,data=myData[train,],distribution="bernoulli",n.trees=5000,interaction.depth=4)
pred.boost<-predict(boost.myData,newdata=myData[test,],n.trees=5000,type="response")
pred.boost
pred.boost
與從間隔(0,1)
元件的載體。
我本來期望的預測值是要麼0
或1
,我的反應變量z
也由二元價值觀 - 無論是0
或1
- 我使用distribution="bernoulli"
。
我該如何繼續我的預測以獲得我的測試數據集的真實分類?我應該簡單地圍繞pred.boost
的值,還是有什麼我做錯了predict
函數?