2016-12-04 2 views
0

У меня есть набор данных поезда с именем df3.It является таблицей данных.Ошибка прогноза 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) 

Но это дает мне только одно уникальное значение для прогноза:

Почему это дает мне только одно значение? Где я ошибаюсь? Как я могу предсказать набор тестовых данных с помощью обученной модели?

Спасибо ..

ответ

0

Если есть небольшой набор данных, для которых тест и поезд рисуются то поможет. Ваша проблема может быть в коде или может быть в данных. Что произойдет, если вы впервые разработали свою модель с некоторыми не разрешенными данными. Если эта модель работает нормально, вы можете получить ключ.

Смежные вопросы