AttributeError: type object 'sklearn.tree._tree.TreeBuilder' has no attribute '__reduce_cython__'

AttributeError: type object 'sklearn.tree._tree.TreeBuilder' has no attribute '__reduce_cython__'

我正在使用通过 Anaconda3 安装的 jupyter。我无法导入 DecisionTreeClassifier 并收到以下错误。 Python Ananconda 中安装的版本 - 3.7.3。

有人可以帮我吗?

import pandas as pd
from sklearn import tree 

music = pd.read_csv('music.csv')
X = music.drop(columns=['genre'])
y = music['genre']

modl = tree.DecisionTreeClassifier()
modl.fit(X,y)

predictions = modl.predict([[21,1],[22,0]])
predictions

错误信息:

AttributeError Traceback (most recent call last) in 1 import pandas as pd ----> 2 from sklearn import tree 3 4 music = pd.read_csv('music.csv') 5 X = music.drop(columns=['genre'])

~\Anaconda3\lib\site-packages\sklearn\tree__init__.py in 4 """ 5 ----> 6 from .tree import DecisionTreeClassifier 7 from .tree import DecisionTreeRegressor 8 from .tree import ExtraTreeClassifier

~\Anaconda3\lib\site-packages\sklearn\tree\tree.py in 38 from ..utils.validation import check_is_fitted 39 ---> 40 from ._criterion import Criterion 41 from ._splitter import Splitter 42 from ._tree import DepthFirstTreeBuilder

~\Anaconda3\lib\site-packages\sklearn\tree_splitter.pxd in init sklearn.tree._criterion()

~\Anaconda3\lib\site-packages\sklearn\tree_tree.pxd in init sklearn.tree._splitter()

sklearn\tree_tree.pyx in init sklearn.tree._tree()

AttributeError: type object 'sklearn.tree._tree.TreeBuilder' has no attribute 'reduce_cython'

我遇到了同样的麻烦,正在尝试解决。 最后,我发现 anaconda 提示符中的 conda update scikit-learn 对我很有用。 here