2013-10-27 2 views
3

R의 rpart 패키지를 사용하여 교육 데이터에서 의사 결정 트리를 만들었습니다. 이제는 더 많은 데이터가 있고 모델을 확인하기 위해 트리를 확인하고 싶습니다. 논리적으로/반복적으로, 나는 다음과 같이하고 싶다 :R의 의사 결정 트리 모델에 대해 데이터를 테스트하려면 어떻게해야합니까?

for each datapoint in new data 
    run point thru decision tree, branching as appropriate 
    examine how tree classifies the data point 
    determine if the datapoint is a true positive or false positive 

R에서 어떻게 하는가?

+0

이 (가)'예측 사용()'기능 : http://stat.ethz.ch/R-manual/R

pred + testdata[, last] > 1 # gives TRUE positive, as it means both vectors are 1 pred == testdata[, last] # gives those that are correct 

당신이 올바른 얼마나 많은 퍼센트 보는 것도 흥미로울 수 -devel/library/rpart/html/predict.rpart.html – David

답변

5

이것을 사용하려면 훈련 세트를 하위 집합 교육 세트와 테스트 세트로 분리한다고 가정합니다.

당신이 사용할 수있는 교육 모델을 만들려면 :

model <- rpart(y~., traindata, minbucket=5) # I suspect you did it so far. 

는 테스트 세트에 적용하려면

pred <- predict(model, testdata) 

는 그런 예측 결과의 벡터를 얻을.

교육 테스트 데이터 세트에는 "진짜"대답도 있습니다. 교육 세트의 마지막 열을 예로 들어 봅시다.

단순히 그들이 결과를 얻을 것입니다 동일시 : 요소가 동일한 경우

pred == testdata[ , last] # where 'last' equals the index of 'y' 

, 당신은 당신이 FALSE를 얻을 때 당신의 예측이 틀렸다는 것을 의미하는 TRUE를 얻을 것이다.

mean(pred == testdata[ , last]) # here TRUE will count as a 1, and FALSE as 0 
+5

'rpart' 라이브러리는 아마도이 답변이 작성된 이후로 변경되었을 것입니다. 'pred <- predict (model, newdata = testdata, type = 'class')'(그렇지 않으면 확률의 전체 행렬을 얻는다. – kynan

관련 문제