使用 xgboost 预测 100 棵树与 1000 棵树所需的时间相同

时间:2021-07-04 07:50:28

标签: xgboost

我对 xgboost 包的性能感到困惑。

我首先用 1000 棵树训练:

num_classes = 2
X = np.random.rand(10000, 200)
y = np.random.randint(num_classes, size=10000)
dtrain = xgb.DMatrix(X, label=y)
dtest = xgb.DMatrix(X, label=y)
param = {
          'max_depth' : 10,
                'eta' : 0.1,
              'silent': 1,
           'objective':'reg:squarederror',
             'nthread': 4
        }
bst = xgb.train( param, dtrain, 1000,
    [(dtest, 'eval'), (dtrain, 'train')] )

在一个数据点上使用 bst.predict 在 bst 上运行预测大约需要 80us。

然后我将 estimators 的数量改为 100,bst.prediction 在一个数据点上仍然需要大约 80us。

是什么导致了这种行为?现在不是应该减少 10 倍的树木吗?

0 个答案:

没有答案