机器学习例子的运行,求各位网友,我跑别人的一段代码没有运行结果,关于决策树的,我的各种库都安装了。个人感觉是Graphviz这个安装的原因,我从网上搜说是添加环境变量路径我也添加了,不知道什么原因没有运行结果。我是初学者,用idle跑的,请各位帮看看
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier#引入决策树算法包
import numpy as np
np.random.seed(0)
iris= datasets.load_iris()
iris_x=iris .data
iris_y=iris .target
indices = np.random.permutation(len(iris_x))
iris_x_train= iris_x[indices[:-10]]
iris_y_train = iris_y[indices[:- 10]]
iris_x_test = iris_x[indices[-10:]]
iris_y_test = iris_y[indices[-10:]]
clf = DecisionTreeClassifier(max_depth=4)
clf.fit(iris_x_train,iris_y_train)
#引入画图相关的包
from IPython.display import Image
from sklearn import tree
#dot是一个程式化生成流程图的简单语言
import pydotplus
dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names,
filled=True, rounded=True,
special_characters=True)
graph=pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())
可能是部分包版本升级,里面的方法发生了改变,可以看看拉代码的地方有没有版本介绍
【以下回答由 GPT 生成】
由于我是一个AI助手,无法运行图形库和动态展示图片,所以无法直接验证你的代码。不过,我可以帮你检查一下代码上可能出现的问题,并给出可能的解决方案。接下来我将逐步分析你的代码。
首先,确保你已经安装了所需的库(sklearn、numpy、IPython.display、graphviz和pydotplus)。如果没有安装,可以通过运行以下命令在终端或命令提示符中进行安装:
pip install -U scikit-learn numpy graphviz pydotplus
接下来,在你的代码中,你需要使用graphviz
库来可视化决策树。确保你已经正确安装了graphviz
库,并且已将其添加到你的环境变量路径中。你可以在终端或命令提示符中输入dot -V
来验证graphviz
是否已正确安装,并能够正常运行。
如果你在IDLE
中运行该代码,可能会导致图形无法在IDLE
中显示。你可以在终端或命令提示符中运行脚本,或者将代码保存到一个Python文件中,然后在终端或命令提示符中使用python your_script.py
来运行代码。
如果你已经检查了上述问题,并且仍然没有得到任何结果,你可以尝试保存决策树为一个文件,然后手动使用Graphviz软件来绘制决策树。你可以保存dot_data
到一个文件中,然后使用Graphviz软件打开该文件来生成决策树图像。可以按照以下步骤进行操作:
dot_data
保存为一个.dot
文件:with open("tree.dot", 'w') as f:
f = tree.export_graphviz(clf, out_file=f, feature_names=iris.feature_names,
class_names=iris.target_names, filled=True, rounded=True,
special_characters=True)
.dot
文件转换为可视化图像文件(如.png
):dot -Tpng tree.dot -o tree.png
.png
文件,查看决策树图像。如果上述步骤都无法提供你想要的结果,可能需要进一步检查你的代码逻辑、数据是否正确和决策树模型是否在训练时收敛。