bug10-graphviz.backend.ExecutableNotFound: failed to execute [‘dot‘, ‘-Tpdf‘, ‘-O‘, ‘Source.gv‘] 原创

1147-柳同学

发表文章数:589

首页 » 算法 » 正文

问题

graphviz.backend.ExecutableNotFound: failed to execute 
['dot', '-Tpdf', '-O', 'Source.gv'], make sure the Graphviz executables 
are on your systems' PATH

链接1
链接2
即可解决问题
测试代码

import graphviz
import numpy as np
from sklearn.tree import export_graphviz, DecisionTreeClassifier


# 定义加载数据的函数
def loaddata():
    dataSet = [[0, 0, 0, 0, 'no'],
               [0, 0, 0, 1, 'no'],
               [0, 1, 0, 1, 'yes'],
               [0, 1, 1, 0, 'yes'],
               [0, 0, 0, 0, 'no'],
               [1, 0, 0, 0, 'no'],
               [1, 0, 0, 1, 'no'],
               [1, 1, 1, 1, 'yes'],
               [1, 0, 1, 2, 'yes'],
               [1, 0, 1, 2, 'yes'],
               [2, 0, 1, 2, 'yes'],
               [2, 0, 1, 1, 'yes'],
               [2, 1, 0, 1, 'yes'],
               [2, 1, 0, 2, 'yes'],
               [2, 0, 0, 0, 'no']]
    feature_name = ['age', 'job', 'house', 'credit']
    return dataSet, feature_name


if __name__ == '__main__':
    myData, feature_name = loaddata()
    # 取特征值与目标值
    X = np.array(myData)[:, 0:4]
    y = np.array(myData)[:, -1]

    # 训练模型
    model = DecisionTreeClassifier()
    model.fit(X, y)
    # 预测分类
    print(model.predict([[1, 1, 0, 1], [1, 1, 1, 0]]))

    # 生成tree.dot文件,字典格式
    export_graphviz(
        model,
        out_file="tree.dot",
        feature_names=feature_name,
        class_names=['yes', 'no'],
        rounded=True,
        filled=True
    )

    # 生成pdf
    with open("tree.dot") as f:
        dot_grapth = f.read()
    dot = graphviz.Source(dot_grapth)
    dot.view()
分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录