0

我正在尝试从随机森林分类器中可视化决策树。但是,正在生成的图像类型是IPython.core.display.Image我希望通过使用 tempfile 库将其转换为 base64 字符串的类型

import tempfile
import base64
from IPython.display import Image  
from sklearn import tree
import pydotplus

dot_data = tree.export_graphviz(model.best_estimator_[0], out_file=None, 
                                feature_names=X_train.columns,  
                                class_names=unique_target)

graph = pydotplus.graph_from_dot_data(dot_data)  

# Show graph
image= Image(graph.create_png())

with tempfile.TemporaryFile(suffix=".png") as tmpfile:
    fig = image.get_figure()

"AttributeError: 'Image' object has no attribute 'get_figure'"

type(image)
Out[32]: IPython.core.display.Image


我收到的错误是:

“AttributeError:'Image' 对象没有属性 'get_figure'”

我对如何在不显式保存文件的情况下将其转换为 base64 有点迷茫。

4

1 回答 1

1

有效。我和朋友试了几个小时。

import base64
from IPython.display import Image  
from sklearn import tree
import pydotplus

dot_data = tree.export_graphviz(model.best_estimator_[0], out_file=None, 
                                feature_names=X_train.columns,  
                                class_names=unique_target)

graph = pydotplus.graph_from_dot_data(dot_data)  


image= Image(graph.create_png())
Encoded_Image=str(base64.b64encode(image.data)) ##That's the line you add before you save it as an Encoded String

无需添加代码的临时文件部分。

于 2019-08-09T17:11:57.853 回答