TypeError: требуется байтоподобный объект, а не 'str' для команды Image в Python - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь загрузить изображение дерева решений в Python, но я не могу этого сделать.

Код:

from IPython.display import Image  
#import pydotplus as pydot
from sklearn import tree
from os import system

train_char_label = ['1', '2']
park_Tree_File = open('park_tree.dot','w')
dot_data = tree.export_graphviz(dt_model, out_file=park_Tree_File, 
feature_names = list(train_set),
                                class_names = list(train_char_label))

park_Tree_File.close()

print (pd.DataFrame(dt_model.feature_importances_, columns = ["Imp"], index 
= train_set.columns))

system("dot -Tpng park_tree.dot -o park_tree.png") # This command is to OS
Image("park_tree.png") # use the image command to read the .png file 
                       # and print on screen

Я получаю следующую ошибку:

TypeError: требуется байтоподобный объект, а не 'str' для команды Image в Python

Подскажите, пожалуйста, что не так с командой Image? Команда print до этого работает нормально и отлично печатает feature_importance.

1 Ответ

0 голосов
/ 02 апреля 2019

У меня была такая же проблема. Я клонировал папку github, и эта ошибка появлялась. Я обнаружил, что имя файла было другим. Проверьте правильность пути к изображению.

import os
os.getwd()

Этот код показывает каталог, в котором ваш код ищет изображение "park_tree.png". проверьте, действительно ли изображение находится в каталоге. Вы можете сделать это, выполнив

os.listdir()

Это покажет каждый файл в текущем каталоге. В моем случае имя файла отличалось от имени, представленного в коде.

...