2016-12-04 6 views
0

기차 데이터 세트 df3이 있습니다. 데이터 테이블입니다. 다음과 같이예측 오류 Xgboost R

나는 희소 행렬로 변환 :

sparse_matrix9 = sparse.model.matrix(ind_cco_fin_ult1~canal_entrada + 
            nomprov + 
            sexo + 
            ind_empleado + 
            indext + age + fark + ind_actividad_cliente 
           ,data = df3) 

을 그리고 xgboost로 모델링 : 그 후

bst10_X <- xgboost(data = sparse_matrix9, label = output, max_depth = 15, 
      eta = 0.03, nthread = 2, nrounds = 550,prediction=TRUE, eval_metric = "auc",objective = "binary:logistic") 

#train-auc:0.881950+0.000475 test-auc:0.819496+0.001057 

내가 테스트 데이터 세트를 예측합니다. 먼저 내 변수를 chosed 그들에게 데이터 프레임합니다

test4<-as.data.frame(
     test3$canal_entrada, 
     test3$nomprov, 
     test3$sexo, 
     test3$ind_empleado, 
     test3$indext, 
     test3$age, 
     test3$fark, 
     test3$ind_actividad_cliente 
) 

을 그리고 그 후 나는 희소 행렬로 변환하려면 :

sparse_matrix_test = xgb.DMatrix(data.matrix(test4)) 

및 테스트 데이터 세트의 값을 예측 :

res <- predict(bst10_X, newdata = sparse_matrix_test) 

그러나 예측에 대한 유일한 값은 하나뿐입니다.

unique(res) 
0.00113265 

나에게 단 하나의 가치를 부여하는 이유는 무엇입니까? 내가 어디서 잘못한거야? 훈련 된 모델을 사용하여 테스트 데이터 세트를 예측하려면 어떻게해야합니까? 당신이 테스트 및 기차가 다음 그려은 도움이되는 작은 데이터 세트를 제공하는 경우

답변

0

.. 감사합니다. 문제가 코드에 있거나 데이터에있을 수 있습니다. 비 스파 스 데이터로 모델을 처음 개발하면 어떻게됩니까? 이 모델이 정상적으로 실행되면 실마리가 생길 수 있습니다.