typeerror: 'int' объект не подписан < /p>
Вот код, который я пытаюсь запустить: < /p>
viz = dtreeviz(modelo_iris,
X_train=x,
y_train=y,
target_name='Tipo_Orquidea',
feature_names=features,
class_names=['Não Orquídea', 'Orquídea'])
viz
< /code>
Однако, когда я его запускаю, я получаю следующее сообщение об ошибке:
typeerror: 'int' объект не подписан < /p>
the Traceback показывает: < /p>
----> 2 viz = dtreeviz(modelo_iris,
--> 254 return model.view(precision, orientation,
--> 335 if self.shouldGoLeftAtSplit(t.id, x[t.feature()])
< /code>
Контекст и попытки: < /p>
- В моем наборе данных «y» - единственное поле с типом int (двоичный : 0 или 1), а «x» - это DataFrame с 4 функциями float64. Pd.series (y, dtype = "Категория"), но ни один из них не работал.
Я установил Graphviz из Graphviz Download и добавил его в путь, как указано в курсе. Я понизился до 1.4.0, но ошибка сохранилась.
Моя текущая версия Python - 3.12.8. < /Li>
< /ul>
Настройка среды: < /p >
Я видел, что ниже код есть примечание: < /li>
< /ul>
В случае График выше показывает ошибку, запустите следующий код (Удалите # перед командой "conda")
conda Установить Python-Graphviz < /p>
Поэтому я создал среду conda и запустил: < /p>
conda install -c conda-forge python-graphviz
Несмотря на это, ошибка все еще происходит.
Что я пробовал до сих пор:
Я подтвердил, что graphviz установлен правильно и на пути.
Я исследовал другие возможные решения, включая изменение формата данных для Y, но я все еще застрял.
Я был бы признателен за любые рекомендации или предложения по разрешению этой ошибки. Может ли это быть связано с конфликтом между библиотеками или проблемой с настройкой моей среды? < /P>
Заранее спасибо за помощь! Сообщение об ошибке: < /p>
TypeError Traceback (most recent call last)
Cell In[26], line 2
1 #%matplotlib inline
----> 2 viz = dtreeviz(modelo_iris,
3 X_train= x,
4 y_train= y,
5 target_name='Tipo_Orquidea',
6 feature_names=features,
7 class_names=['Não Orquídea', 'Orquídea'])
8 viz
File c:\Users\rocki\Miniconda3\lib\site-packages\dtreeviz\compatibility.py:254, in dtreeviz(tree_model, X_train, y_train, feature_names, target_name, class_names, tree_index, precision, orientation, instance_orientation, show_root_edge_labels, show_node_labels, show_just_path, fancy, histtype, highlight_path, X, max_X_features_LR, max_X_features_TD, depth_range_to_display, label_fontsize, ticks_fontsize, fontname, title, title_fontsize, colors, scale)
251 shadow_tree = ShadowDecTree.get_shadow_tree(tree_model, X_train, y_train, feature_names, target_name, class_names,
252 tree_index)
253 model = DTreeVizAPI(shadow_tree)
--> 254 return model.view(precision, orientation,
255 instance_orientation,
256 show_root_edge_labels, show_node_labels, show_just_path, fancy, histtype, highlight_path, X,
257 max_X_features_LR, max_X_features_TD, depth_range_to_display, label_fontsize, ticks_fontsize,
258 fontname, title, title_fontsize, colors=colors, scale=scale)
File c:\Users\rocki\Miniconda3\lib\site-packages\dtreeviz\trees.py:523, in DTreeVizAPI.view(self, precision, orientation, instance_orientation, show_root_edge_labels, show_node_labels, show_just_path, fancy, histtype, leaftype, highlight_path, x, max_X_features_LR, max_X_features_TD, depth_range_to_display, label_fontsize, ticks_fontsize, fontname, title, title_fontsize, colors, scale)
521 tmp = tempfile.gettempdir()
522 if x is not None:
...
--> 335 if self.shouldGoLeftAtSplit(t.id, x[t.feature()]):
336 return walk(t.left, x, path)
337 return walk(t.right, x, path)
TypeError: 'int' object is not subscriptable
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-dtreeviz