2012-03-12 5 views

답변

47

모델에 맞는 샘플의 오류율을 계산한다고 가정하면 printcp()을 사용할 수 있습니다. 예를 들어, 온라인 예를 사용

> library(rpart) 
> fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis) 
> printcp(fit) 

Classification tree: 
rpart(formula = Kyphosis ~ Age + Number + Start, data = kyphosis) 

Variables actually used in tree construction: 
[1] Age Start 

Root node error: 17/81 = 0.20988 

n= 81 

     CP nsplit rel error xerror xstd 
1 0.176471  0 1.00000 1.00000 0.21559 
2 0.019608  1 0.82353 0.82353 0.20018 
3 0.010000  4 0.76471 0.82353 0.20018 

Root node error

는 (제 1 열)에 rel errorxerror 열에 표시 값을 고려하고, 복잡도 파라미터에 의존 할 때, 예측 성능의 두 가지 방안을 계산하는데 이용된다 :

  • 0.76471 X 0.20988는 (즉, 트레이닝 샘플 계산 에러율) 0.1604973 (16.0 %)을 resubstitution 오류율 = -이 대략

    012,351,641이고
    class.pred <- table(predict(fit, type="class"), kyphosis$Kyphosis) 
    1-sum(diag(class.pred))/sum(class.pred) 
    
  • 0.82353 0.20988 X = 0.1728425 (17.2 %)의 10 배를 사용하여 CV 교차 검증 에러 레이트 (인, rpart.control()xval 참조; 이 측정 방법에 의존하는 xpred.rpart()plotcp()도 참조하십시오. 이 측정은 예측 정확도를보다 객관적으로 나타냅니다. 이 tree에서 분류 정확도 계약에 더 많거나 적은 것을

참고 : Misclassification error rate이 훈련 샘플에서 계산

> library(tree) 
> summary(tree(Kyphosis ~ Age + Number + Start, data=kyphosis)) 

Classification tree: 
tree(formula = Kyphosis ~ Age + Number + Start, data = kyphosis) 
Number of terminal nodes: 10 
Residual mean deviance: 0.5809 = 41.24/71 
Misclassification error rate: 0.1235 = 10/81 

.