我正在尝试使用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)
提前谢谢
答案 0 :(得分:0)
这是因为您尝试将整个表示存储在内存中。尝试直接将其写入文件:
with open('adaboostpickled.tmp', 'w') as output:
cPikle.dump(bdt, output)