Python 如何在scikit learn?;

Python 如何在scikit learn?;,python,scikit-learn,random-forest,Python,Scikit Learn,Random Forest,实际上,关于持久性有很多问题,但我已经尝试了很多使用pickle或joblib.dumps。但当我用它来拯救我的随机森林时,我得到了: ValueError: ("Buffer dtype mismatch, expected 'SIZE_t' but got 'long'", <type 'sklearn.tree._tree.ClassificationCriterion'>, (1, array([10]))) 或 这是由于使用了不同的32/64位版本的python来保存/加

实际上,关于持久性有很多问题,但我已经尝试了很多使用
pickle
joblib.dumps
。但当我用它来拯救我的随机森林时,我得到了:

ValueError: ("Buffer dtype mismatch, expected 'SIZE_t' but got 'long'", <type 'sklearn.tree._tree.ClassificationCriterion'>, (1, array([10])))


这是由于使用了不同的32/64位版本的python来保存/加载,正如建议的那样。

尝试直接导入
joblib
包:

导入作业库
# ...
#拯救
joblib.dump(rf,“某些路径”)
#装载
rf2=joblib.load(“某些路径”)

我已经将完整的工作示例与代码和注释放在一起。

请发布一些示例代码。两种解决方案都会出现相同的错误?您是否使用相同的32/64位python来保存/加载?哦,我忘了我已经用了不一样的一点。谢谢!
forest = RandomForestClassifier()
forest.fit(data[:n_samples], target[:n_samples ])
import cPickle
with open('rf.pkl', 'wb') as f:
    cPickle.dump(forest, f)
with open('rf.pkl', 'rb') as f:
    forest = cPickle.load(f)
from sklearn.externals import joblib
joblib.dump(forest,'rf.pkl') 

from sklearn.externals import joblib
forest = joblib.load('rf.pkl')