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
爲什麼它只給我一個價值?我錯在哪裏?如何使用訓練好的模型預測測試數據集?
謝謝。