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
함수를 잘못 사용하고 있습니까?