Graphviz 和 Weka 只生成空树
Graphviz and Weka only generates empty trees
我下载了 Graphviz 并安装了他们的 Weka 3.9 包,创建了 https://github.com/fracpete/graphviz-treevisualize-weka-package 上所示的 props 文件,内容为:
可执行文件="C:\Program Files (x86)\Graphviz2.38\bin\dot.exe"
(试过带引号和不带引号)
并且只会通过plugin->visualize tree (Graphviz)生成空树。
我有点压力,因为我需要在今晚之前交付一个项目,但在最后一刻发现了一个错误,有人可以帮忙吗?我可以在没有树的情况下送货,但它们会是一个很大的帮助。
提前致谢!
首先,感谢您让我注意到这个有用的 Weka 插件!我认为它是由一位 Weka 开发人员 fwiw 编写的,而不是由 Graphviz 的作者编写的。
回答你的问题,虽然你的截止日期为时已晚抱歉,你确定你已经正确创建了 props 文件吗?特别是,指定可执行路径的格式在您链接到的项目页面上显示为(例如):
Executable=C:/Program Files (x86)/Graphviz2.38/bin/dot.exe
即使用 正斜杠 作为路径分隔符,即使在 Windows 上也是如此。当我用反斜杠替换正斜杠时,它也给了我一个空的 window,所以我怀疑这可能是你的问题。
但是,在没有插件的情况下,从 Weka 输出中手动编写决策树结构的 Graphviz 代码非常容易,并且编写脚本将一个转换为另一个并不难。这是一个例子:
digraph myTree {
Node_1 [label="Predictor1"]
Node_1 -> Node_2 [label="<= 3.14"]
Node_1 -> Node_3 [label="> 3.14"]
Node_2 [label="Class 1", shape=box,style=filled,color=lightgray]
Node_3 [label="Predictor2"]
Node_3 -> Node_4 [label="<= 42"]
Node_3 -> Node_5 [label="> 42"]
Node_4 [label="Class 2", shape=box,style=filled,color=lightgray]
Node_5 [label="Class 3", shape=box,style=filled,color=lightgray]
}
和相应的输出,例如获得来自 dot -Tpng -O path\to\myTree.gv
:
我遇到了同样的问题,但是 Weka/GraphViz 安装了新的 Apple M1 芯片。以下对我有用:
- 为 Apple M1 芯片安装新版 Homebrew。
- 安装 GraphViz。
brew install graphviz
- 打开 Weka,从 GUI 选择器转到 Tools/Package 管理器。
- 在右上角 'Unofficial' 下方点击 'File/URL' 按钮。
- 复制此安装地址(请注意,这是 2014 版插件,所以有点老套,如果有人可以帮助安装更新的 2018 版插件,我将不胜感激,但它对我来说总是失败):https://github.com/fracpete/graphviz-treevisualize-weka-package/releases/download/v2014.8.1/graphviz-treevisualize-2014.8.1.zip
- 在您的计算机中搜索文件“GraphVizTreeVisualization.props”并使用文本编辑器将其打开。
- 将此文本
Executable=dot
更改为 Executable=/opt/homebrew/Cellar/graphviz/3.0.0/bin/dot
并保存文件。
- 复制该文件并将文件粘贴到此处:$[HOME]/wekafiles/props/GraphVizTreeVisualization.props
- 重启 Weka
我下载了 Graphviz 并安装了他们的 Weka 3.9 包,创建了 https://github.com/fracpete/graphviz-treevisualize-weka-package 上所示的 props 文件,内容为:
可执行文件="C:\Program Files (x86)\Graphviz2.38\bin\dot.exe" (试过带引号和不带引号)
并且只会通过plugin->visualize tree (Graphviz)生成空树。
我有点压力,因为我需要在今晚之前交付一个项目,但在最后一刻发现了一个错误,有人可以帮忙吗?我可以在没有树的情况下送货,但它们会是一个很大的帮助。
提前致谢!
首先,感谢您让我注意到这个有用的 Weka 插件!我认为它是由一位 Weka 开发人员 fwiw 编写的,而不是由 Graphviz 的作者编写的。
回答你的问题,虽然你的截止日期为时已晚抱歉,你确定你已经正确创建了 props 文件吗?特别是,指定可执行路径的格式在您链接到的项目页面上显示为(例如):
Executable=C:/Program Files (x86)/Graphviz2.38/bin/dot.exe
即使用 正斜杠 作为路径分隔符,即使在 Windows 上也是如此。当我用反斜杠替换正斜杠时,它也给了我一个空的 window,所以我怀疑这可能是你的问题。
但是,在没有插件的情况下,从 Weka 输出中手动编写决策树结构的 Graphviz 代码非常容易,并且编写脚本将一个转换为另一个并不难。这是一个例子:
digraph myTree {
Node_1 [label="Predictor1"]
Node_1 -> Node_2 [label="<= 3.14"]
Node_1 -> Node_3 [label="> 3.14"]
Node_2 [label="Class 1", shape=box,style=filled,color=lightgray]
Node_3 [label="Predictor2"]
Node_3 -> Node_4 [label="<= 42"]
Node_3 -> Node_5 [label="> 42"]
Node_4 [label="Class 2", shape=box,style=filled,color=lightgray]
Node_5 [label="Class 3", shape=box,style=filled,color=lightgray]
}
和相应的输出,例如获得来自 dot -Tpng -O path\to\myTree.gv
:
我遇到了同样的问题,但是 Weka/GraphViz 安装了新的 Apple M1 芯片。以下对我有用:
- 为 Apple M1 芯片安装新版 Homebrew。
- 安装 GraphViz。
brew install graphviz
- 打开 Weka,从 GUI 选择器转到 Tools/Package 管理器。
- 在右上角 'Unofficial' 下方点击 'File/URL' 按钮。
- 复制此安装地址(请注意,这是 2014 版插件,所以有点老套,如果有人可以帮助安装更新的 2018 版插件,我将不胜感激,但它对我来说总是失败):https://github.com/fracpete/graphviz-treevisualize-weka-package/releases/download/v2014.8.1/graphviz-treevisualize-2014.8.1.zip
- 在您的计算机中搜索文件“GraphVizTreeVisualization.props”并使用文本编辑器将其打开。
- 将此文本
Executable=dot
更改为Executable=/opt/homebrew/Cellar/graphviz/3.0.0/bin/dot
并保存文件。 - 复制该文件并将文件粘贴到此处:$[HOME]/wekafiles/props/GraphVizTreeVisualization.props
- 重启 Weka