You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Jupyter中使用Graphviz显示Dot图时出现的AttributeError问题

解决决策树可视化的AttributeError问题

嘿,我来帮你搞定这个错误!你遇到的AttributeError是因为使用graphviz.Source的方式不对,咱们一步步来修正:

错误原因

你最后一行写的graphviz.Source.dot_graph是在尝试访问Source类的静态属性,但Source类根本没有这个属性。正确的做法是把读取到的dot格式字符串传给Source类,创建一个可视化实例,再用display显示这个实例。

修正后的代码

把可视化部分的代码替换成下面任意一种写法都可以:

写法1:读取文件后创建实例

with open("tree.dot") as f:
    dot_graph = f.read()
# 把dot_graph传入Source创建实例,再显示
display(graphviz.Source(dot_graph))

写法2:直接从文件加载(更简洁)

# 跳过手动读取文件,直接从dot文件创建Source实例
display(graphviz.Source.from_file("tree.dot"))

写法3:跳过中间文件(最高效)

如果你不想在目录里留下tree.dot文件,可以直接让export_graphviz返回dot字符串,传给Source:

# 设置out_file=None,让函数直接返回dot格式数据
dot_data = export_graphviz(
    tree, 
    out_file=None, 
    class_names=["malignant", "benign"], 
    feature_names=cancer.feature_names, 
    impurity=False, 
    filled=True
)
display(graphviz.Source(dot_data))

验证效果

替换代码后,你应该能正常看到决策树的可视化图形,同时之前的准确率输出也会保留:

Accuracy on training set: 0.988
Accuracy on test set: 0.951

内容的提问来源于stack exchange,提问作者Mampenda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 14:27:41