具有XGBClassifier的OneVsRestClassifier正在小型数据集上填充GPU内存

时间:2019-09-07 17:09:12

标签: scikit-learn xgboost multiclass-classification

我有一个形状为(30000,14)的小型数据集。数据集中大约有1500个类。

我正在尝试使用XGBClassifier创建一个多类分类器,但是我的GPU内存(12G)缓慢填满,并且该进程死于未完成。也许我不完全了解OneVsRestClassifier的工作原理,但是我认为它为每个类建立了一个分类器,并且我认为每次运行之间都会清除GPU内存。考虑到上课的数量,我希望这会花费很长时间,但不会消失。

对于在不耗尽GPU内存的情况下使用XGBoost进行大量分类的更好方法的任何构想,我们都会感激。

我的代码如下:

param = {'max_depth':4, 'eta':1, 'objective':'multi:softprob', 'tree_method': 'gpu_hist', 'verbosity': 2, 'num_class':1500 }
clf = OneVsRestClassifier(XGBClassifier(**param))
mlb = LabelBinarizer()
y = mlb.fit_transform(train_target)
clf.fit(train_features, y)

0 个答案:

没有答案