File “sklearn/tree/_tree.pyx”, line 714, in sklearn.tree._tree ValueError: node array from the pickle has an incompatible dtype:
File "sklearn/tree/_tree.pyx", line 714, in sklearn.tree._tree.Tree.__setstate__
File "sklearn/tree/_tree.pyx", line 1418, in sklearn.tree._tree._check_node_ndarray
ValueError: node array from the pickle has an incompatible dtype:
- expected: {'names': ['left_child', 'right_child', 'feature', 'threshold', 'impurity', 'n_node_samples', 'weighted_n_node_samples', 'missing_go_to_left'], 'formats': ['<i8', '<i8', '<i8', '<f8', '<f8', '<i8', '<f8', 'u1'], 'offsets': [0, 8, 16, 24, 32, 40, 48, 56], 'itemsize': 64}
- got : [('left_child', '<i8'), ('right_child', '<i8'), ('feature', '<i8'), ('threshold', '<f8'), ('impurity', '<f8'), ('n_node_samples', '<i8'), ('weighted_n_node_samples', '<f8')]
发现sklearn 1.3.0 不存在 “sklearn/tree/_tree.pyx”。
当pickle读取sklearn 模型对象时,可能由于之前保存sklearn对象使用的sklearn版本比较低,而在使用高版本sklearn读取时会出错。把skearn 降到1.0.2版本可以运行了。
pip install scikit-learn==1.0.2
,
,
,