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

PyCharm 2022.3专业版中dtreeviz无法显示决策树求助

在PyCharm 2022.3专业版中使用dtreeviz无法显示决策树的问题

我在Windows 11系统的PyCharm 2022.3专业版中使用dtreeviz时遇到了问题。已经按相关建议操作,Graphviz已安装并配置到系统路径,代码能正常运行并生成tree_viz对象,但决策树始终无法显示。默认浏览器为Edge,附上代码寻求解决思路。

from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.tree import DecisionTreeClassifier,plot_tree
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
import dtreeviz

X = dfl_tree.drop('Result', axis=1)
y = dfl_tree['Result']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

dt_classifier = DecisionTreeClassifier(random_state=42)

param_grid = {
    'criterion': ['gini', 'entropy'],
    'max_depth': [None, 3,4,5],
    'min_samples_split': [2, 5, 10],
    'min_samples_leaf': [1, 2, 5]
}

grid_search = GridSearchCV(dt_classifier, param_grid, cv=5)
grid_search.fit(X_train.values, y_train.values)

best_dt_classifier = grid_search.best_estimator_

y_pred = best_dt_classifier.predict(X_test)

# 用dtreeviz输出决策树可视化
feature_names = X_train.columns.tolist()

tree_viz = dtreeviz.model(
    best_dt_classifier,
    X_train.values,
    y_train.values,
    target_name='Result',
    feature_names = feature_names,
    class_names=['No further action','Positive result'],

)

tree_viz.view()

解决思路

  • 手动验证SVG生成:把tree_viz.view()替换为tree_viz.save("tree.svg"),执行代码后找到生成的SVG文件,用Edge手动打开。如果能显示,说明问题出在dtreeviz调用浏览器的环节;如果不能,说明Graphviz生成SVG时存在异常。
  • 确认Graphviz环境变量生效:重启PyCharm,在终端输入dot -V,若返回Graphviz版本则路径配置正常;若报错,重新检查系统PATH是否添加了Graphviz的bin目录,添加后需重启电脑确保全局生效。
  • 调整输入数据格式:尝试将dtreeviz.model的参数从X_train.values、y_train.values改为直接传入X_train、y_train,避免numpy数组可能带来的兼容性问题。
  • 更新依赖库:执行pip install --upgrade dtreeviz scikit-learn,升级到最新版本,修复旧版本在Windows环境下的显示bug。
  • 检查浏览器关联:右键任意SVG文件,选择“打开方式”,设置Edge为默认程序,确保dtreeviz调用浏览器时能正确关联打开SVG文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:37:41