找算法的时候发现这个工具,觉得挺好用,使用在决策树时可以较为直观的看到决策内容。但是直接使用网上的代码时就发现报错: TypeError: 'module' object is not callable
而查询中文都无法找到该错误的问题,后来发现可能是版本的问题。因为20230704更新的时候dtreeviz 是2.21版本。而网上很多的都是1.4版本。所以就找了官网拿了事例。
正确的写法应该是dtreesviz.model而1.4可以是dtreeviz或者是dtreeviz.tree这样。
以下为官网代码:
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
import dtreeviz
iris = load_iris()
X = iris.data
y = iris.target
clf = DecisionTreeClassifier(max_depth=4)
clf.fit(X, y)
viz_model = dtreeviz.model(clf,
X_train=X, y_train=y,
feature_names=iris.feature_names,
target_name='iris',
class_names=iris.target_names)
v = viz_model.view() # render as SVG into internal object
v.show() # pop up window
#v.save("/tmp/iris.svg") # optionally save as svg
下面是做出来后的图