首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sklearn.externals.joblib不加载pkl文件

sklearn.externals.joblib不加载pkl文件
EN

Stack Overflow用户
提问于 2015-05-27 00:49:30
回答 1查看 1.2K关注 0票数 0

我从一位离开我公司的同事那里继承了一些代码,我注意到他写的一个电子邮件打开预测器已经有几个星期没有运行了。所以,我试着运行它。它到了下面这一行:

clf_predict = joblib.load(os.path.join(data_dir,'trained_random_forest.pkl'))

结果是:

代码语言:javascript
复制
File "/usr/local/lib/python2.7/distpackages/sklearn/externals/joblib/numpy_pickle.py", line 425, in load
obj = unpickler.load()
File "/usr/lib/python2.7/pickle.py", line 858, in load dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 1133, in load_reduce
value = func(*args)
File "sklearn/tree/_tree.pyx", line 923, in sklearn.tree._tree.Splitter.__cinit__ (sklearn/tree/_tree.c:8329)
TypeError: __cinit__() takes exactly 5 positional arguments (4 given)

根据我在文档中看到的内容,load的语法在我看来是正确的。因此,我最初的理论是,可能scikit-learn已经升级,无法读取当前的pickle文件(此时已有几个月的历史)。然而,我不确定它是不是升级了,而且我对sklearn的使用还很陌生,所以我不知道这会不会带来问题。感谢你能给出的任何建议

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 19:01:28

假设它对你的同事有效,而你的问题是由于sklearn升级造成的。拆分器初始化的额外参数是在this commit中引入的。您可以尝试在sklearn的早期版本中加载pkl文件,并从那里获取它。

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

https://stackoverflow.com/questions/30464472

复制
相关文章

相似问题

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