首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >持久化sklearn.feature_extraction.text.TfidfVectorizer出错

持久化sklearn.feature_extraction.text.TfidfVectorizer出错
EN

Stack Overflow用户
提问于 2016-05-27 05:08:36
回答 1查看 308关注 0票数 1

我使用模块joblib持久化了一个TfidfVectorizer。我通过方法fit_transform运行的对象是一个字符串列表。得到的矩阵具有263744列的维度。

我通过transform方法运行一个字符串列表,并得到以下错误。

有什么线索吗?

代码语言:javascript
复制
File "/usr/local/lib/python2.7/dist-      packages/sklearn/feature_extraction/text.py", 
line 1334, in transform
return self._tfidf.transform(X, copy=False)
File "/usr/local/lib/python2.7/dist-packages/sklearn/feature_extraction/text.py", 
line 1037, in transform
X = X * self._idf_diag

File "/usr/local/lib/python2.7/dist-packages/scipy/sparse/base.py", line    
318, in __mul__
return self._mul_sparse_matrix(other)
File "/usr/local/lib/python2.7/dist-packages/scipy/sparse/compressed.py",
line 487, in _mul_sparse_matrix
other = self.__class__(other)  # convert to this format
File "/usr/local/lib/python2.7/dist-packages/scipy/sparse/compressed.py",
line 31, in __init__
arg1 = arg1.asformat(self.format)
File "/usr/local/lib/python2.7/dist-packages/scipy/sparse/base.py", 
line 219, in asformat
return getattr(self,'to' + format)()
File "/usr/local/lib/python2.7/dist-packages/scipy/sparse/dia.py", 
line 241, in tocsr
return self.tocoo().tocsr()
File "/usr/local/lib/python2.7/dist-packages/scipy/sparse/dia.py", 
line 249, in tocoo

num_offsets, offset_len = self.data.shape
AttributeError: 'NDArrayWrapper' object has no attribute 'shape'
EN

回答 1

Stack Overflow用户

发布于 2016-08-16 01:53:28

假设您正在将经过训练的转换器或管道持久化到磁盘,然后在看到错误之前重新加载它,您可以:

  1. 尝试使用compress关键字参数将原始(工作)对象保存到joblib.dump,并使用大于0的整数值:

_= joblib.dump(python_object,persisted_file_name,compress=3)

  • 如果要将持久化文件移动到新位置,请确保复制所有文件片段。如果它很大,joblib会将其拆分,例如:

persisted_model.joblib.pkl persisted_model.joblib.pkl_01.npy persisted_model.joblib.pkl_02.npy

joblib docs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37471052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档