2014-10-05 2 views
0

데이터가 있습니다. TC, 13 개 변수가 17744 개 있습니다. 마지막 변수는 target : a Factor w/ 2 levels "0", "1"입니다.randomForest이 일련의 샘플을 예측하지 않았습니다.

내가 할 :

n.col <- ncol(TC) 

x.train.or <- TC[1:12000, -n.col] 
y.train.or <- TC[1:12000, n.col] 
x.test.or <- TC[12000:17000, -n.col] 
y.test.or <- TC[12000:17000, n.col] 
rf.or <- randomForest(y=y.train.or, x=x.train.or, ntree=500, mtry=5, 
         importance=TRUE, keep.forest=TRUE, 
         na.action=na.roughfix, replace=FALSE) 
pr.or <- predict(rf.or, x.test.or) 
table(y.test.or, pr.or, dnn=c("Actual", "Predicted")) 

#  Predicted 
# Actual 0  1 
#  0 2424 780 
#  1 1056 741 

매우 나쁜 결과를.

은 그 때 나는 무작위 샘플 피팅 모델 반복 :

set.seed <- 123 
t.t <- holdout(TC[, n.col], ratio=3/5, mode = "random") 
x.train.r <- TC[t.t$tr, - (n.col)] 
y.train.r <- TC[t.t$tr, (n.col)] 
x.test.r <- TC[t.t$ts, - (n.col)] 
rf.r <- randomForest(y=y.train.r, x=x.train.r, ntree=500, mtry=5, 
        importance=TRUE, keep.forest=TRUE,  
        na.action=na.roughfix, replace=FALSE) 
pr.r <- predict(rf.r, x.test.r) 
table(y.test.r, pr.r, dnn=c("Actual", "Predicted")) 

#   Predicted 
# Actual 0  1 
# 0   4274 215 
# 1   353 2257 

아주 좋은 결과를하지만, 하나 개의 데이터 세트의 샘플의 형성 방법에 의존. 해결할 문제는 직렬 샘플 만 가정합니다.

제발, 도와주세요! 질문에 대한

답변 : (1) 물론 내가 할 :

library(randomForest) 
library(rminer) 

(3) 내가 함께 반복 :

n.col   <- ncol(TC) 
x.train.or  <- TC[1:12000, -n.col] 
y.train.or  <- TC[1:12000, n.col] 
x.test.or  <- TC[12001:17000, -n.col] 
y.test.or  <- TC[12001:17000, n.col] 

과 같은 끔찍한 결과

 Predicted 
Actual 0 1 
    0 2413 790 
    1 1049 748 

를 수신 (4) 문제가있을 수 있습니까? 일부 변수는 [1 : 17000]에서는 무작위이지만 [1 : 100]에서는 무작위가 아닙니다. (나는 그림에 대한 권리가 없었습니다).

이 경우 어떻게해야합니까?

+0

질문은 무엇인가? 몇가지 코멘트 : (1)'library' 호출 (''library (randomForest)''와''library (rminer)')를 포함하십시오. (2)'y.test.r'을 작성한 방법에 대한 코드는 포함하지 않았습니다. (어떻게 작성해야하는지는 분명합니다.) (3) 테스트 데이터 세트에 obs. 12000을 포함 시키려하지 않았다고 가정합니다. (4) 'TC'행의 순서는 무작위가 아닐 수 있습니다 (즉, 처음 12000 년 동안 'y'와 'x'사이의 관계는 다음 번에 대한 관계를 대표하지 않습니다) 5000 obs). – jbaums

+0

나는 질문을 정정했다. – faa1947

답변

0

먼저 데이터 상태를 알지 못하면 대답하기가 어려울 것입니다. 관측치가 일종의 방식으로 반복되는 경우 때때로 열차 세트에 시험 세트를 포함시킬 수 있습니다.

결과를 검증하는 가장 좋은 방법 중 하나는 테스트 및 기차 세트를 완전히 분리하기 위해 일종의 교차 유효성 검사 기술을 사용하는 것입니다. 아래는 좋은 비디오입니다.

http://vimeo.com/75432414