我正在尝试使用scikit-learn AdaBoostClassifier,并且我正在尝试使用cPickle序列化输出分类器以将其保存到数据库或文件中,但是我遇到了内存不足错误,当我使用marshal时,它给了我不可编组的对象。所以,我想知道如何序列化这个学习分类器。
def adboost_classify(X,Y):
bdt = AdaBoostClassifier(DecisionTreeClassifier(max_depth=10),
algorithm="SAMME.R",
n_estimators=3000)
t0 = time()
bdt.fit(X, Y)
t1 = time()
thebytes = cPickle.dumps(bdt)
提前谢谢你
这是因为您尝试将整个表示形式存储在内存中。尝试直接将其写入文件:
with open('adaboostpickled.tmp', 'w') as output:
cPikle.dump(bdt, output)