【问题标题】:Prediction Error Xgboost R预测误差 Xgboost R
【发布时间】:2016-12-04 19:37:25
【问题描述】:

我有一个名为 df3 的火车数据集。它是一个数据表。

我将其转换为稀疏矩阵如下:

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

之后我想预测测试数据集。 首先,我选择了我的变量并将它们设为数据框:

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

为什么它只给我一个值?我哪里错了?如何使用经过训练的模型预测测试数据集?

谢谢你..

【问题讨论】:

    标签: r prediction xgboost


    【解决方案1】:

    如果您提供一个用于绘制测试和训练的小型数据集,那么它会有所帮助。您的问题可能出在代码中,也可能出在数据中。如果您首先使用一些非稀疏数据开发模型会发生什么。如果这个模型运行正常,那么你可能会得到一个线索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-21
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 2013-09-26
      相关资源
      最近更新 更多