![](/img/trans.png)
[英]ImportError: cannot import name 'plot_tree' from 'sklearn.tree'
[英]Import Error: cannot import name 'tree' from 'sklearn.tree'
我已经是第二次重修 Python 的第二天了! 我正在使用以下代码在 Python 中编写关于 ML 的教程:
import sklearn.tree
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import tree
music_data = pd.read_csv('music.csv')
x = music_data.drop(columns=['genre'])
y = music_data['genre']
model = DecisionTreeClassifier()
model.fit(x,y)
tree.export_graphviz(model, out_file='music-recommender.dot',
feature_names=['age','gender'],
class_names= sorted(y.unique()),
label='all',
rounded=True,
filled=True)
我不断收到以下错误:
ImportError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_13088/3820271611.py in <module>
2 import pandas as pd
3 from sklearn.tree import DecisionTreeClassifier
----> 4 from sklearn.tree import tree
5
6 music_data = pd.read_csv('music.csv')
ImportError: cannot import name 'tree' from 'sklearn.tree' (C:\Anaconda\lib\site-packages\sklearn\tree\__init__.py)
我试图在网上找到一个解决方案,但我不认为它是 Python/Anaconda 的版本,因为我实际上只是安装了两者。 我也不认为这是sklearn.tree ,因为我能够导入DecisionClassifer 。
正如这个答案所示,您正在查看一些较旧的代码; 这始终是编程的风险。 但是,您还需要了解有关代码的另一件事。
首先, scikit-learn
包含几个模块,你需要的几乎所有东西都在其中一个中。 根据我的经验,大多数人会导入这样的东西:
from sklearn.tree import DecisionTreeRegressor # A regressor class.
from sklearn.tree import plot_tree # A helpful function.
from sklearn.metrics import mean_squared_error # An evaluation function.
看起来教程需要类似于plot_tree()
的东西。 这个新功能比旧的 Graphviz 可视化更容易使用。 因此,除非您出于某些原因确实需要 DOT 文件,否则您应该可以这样做:
from sklearn.tree import plot_tree
sklearn.tree.plot_tree(model)
底线:该材料中可能会有更多破碎的东西。 因此,如果我是您,我要么使用与您正在使用的任何材料相匹配的sklearn
版本创建一个新环境……要么放弃该材料并寻找更新的东西。
from sklearn.tree import tree
看起来不对。 你的意思是from sklearn import tree
?
根据官方Scikit Learn 决策树文档,您真的不需要太多的导入。
它可以简单地完成如下:
from sklearn import tree
import pandas as pd
music_data = pd.read_csv('music.csv')
X = music_data.drop(columns=['genre'])
y = music_data['genre']
model = tree.DecisionTreeClassifier()
model.fit(X,y)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.