from sklearn.datasets import load_iris
import pydotplus
from IPython.display import Image
from sklearn import tree
#训练模型
iris=load_iris()
clf=tree.DecisionTreeClassifier()
clf=clf.fit(iris.data,iris.target)
def lgb_plt(model):
tree_nums = 10
for i in range(tree_nums):
ax = lgb.create_tree_digraph(model,tree_index = i)
filename = './picture/model_{}.svg'.format(i)
with open(filename, 'w') as f:
f.write(ax._repr_svg_())
def tree_plot(clf):
dot_data = tree.export_graphviz(clf, out_file=None)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf("iris.pdf")
def ipython_plot(clf):
from IPython.display import Image
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())
该博客展示了如何使用Python的sklearn库训练决策树模型,并通过lgb_plt和tree_plot函数进行可视化。首先加载鸢尾花数据集,然后训练决策树分类器。接着定义了两个函数,lgb_plt用于绘制LightGBM模型的决策树图,而tree_plot则利用pydotplus和graphviz将sklearn的决策树转换为PDF格式进行展示。
2万+

被折叠的 条评论
为什么被折叠?



