预测 returns NaN?

Prediction returns NaN?

我不确定要在此处提供哪些数据,并且无法在不共享我的完整数据的情况下提供重现问题的方法。我只能提供代码和错误信息,希望有人能认出来。

我有一个模型,它使用带有对数转换目标变量的 ranger random forrest "mod.rangerRF.logknn"。我的新数据有数万条记录,但是当我预测它时只有一小部分(准确地说是 5 条)return NaN。

这只发生在模型的日志版本中。

根据单个观察值进行预测的示例:

predict(mod.rangerRF.logknn, newdata = filter(p.test.knn, id == 31874))
[1] 15.40513

一个数字是 returned,然后我可以对其进行反向转换。除了 returning NaN 的 5 个问题记录之外的所有记录都是这种情况。

> predict(mod.rangerRF.logknn, newdata = filter(p.test.knn, id == 31873))
[1] NaN

我无法反向转换的 NaN。

数万行,数百个特征。当 运行 预测时,只有 5 个 NaN returned 实例。

我不知道从哪里开始调试这个。

在预处理过程中,我确保了没有缺失值的完整数据。由于使用了虚拟变量,所有数据都是数字。

有人认识这个问题吗?关于我可以在哪里查看的任何指示?


这里的评论是模型的输出

> print(mod.rangerRF.logknn)
Random Forest 

30471 samples
  193 predictor

No pre-processing
Resampling: Cross-Validated (5 fold) 
Summary of sample sizes: 24376, 24376, 24378, 24377, 24377 
Resampling results across tuning parameters:

  mtry  RMSE       Rsquared 
   2    0.5125155  0.2832599
   5    0.4936741  0.3343648
  10    0.4845437  0.3592030
  20    0.4797720  0.3732469
  40    0.4778534  0.3790508

RMSE was used to select the optimal model using  the smallest value.
The final value used for the model was mtry = 40.

这个问题刚刚在 Ranger 的 github 上打开:https://github.com/imbs-hl/ranger/issues/201

希望对您有所帮助。