![](/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.