无法pickle Scikit learn nearest nearchneighbor分类器无法pickle instancemethod对象

2024-10-10 18:25:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图pickle nearest neighbor模型,但它说不能pickle instancemethod对象。在

代码:

import cPickle as pickle
from sklearn.neighbors import NearestNeighbors

nbrs = NearestNeighbors(n_neighbors=50, algorithm='ball_tree', metric=self.distanceCIE2000_classifier)
nbrs.fit(allValues)
with open('/home/ubuntu/nbrs.p','wb') as f:
       pickle.dump(nbrs, f)

完整的回溯:

^{pr2}$

Tags: 对象代码from模型importasneighborssklearn
1条回答
网友
1楼 · 发布于 2024-10-10 18:25:53

NearestNeighbors实例中的某个地方有一个属性,它引用了在metric参数中传递给它的实例方法。Pickle不会Pickle实例方法,因此会出现错误。在

一种解决方法是将类中的方法distanceCIE2000_classifier()移到常规的独立函数(如果可能的话)。在

相关问题 更多 >