Я хочу сделать снимки нескольких переменных, когда sklearn.tree был собран, но мне было трудно заставить его работать.
Например, за этими следующими строками кода.
from sklearn.datasets import load_iris
from sklearn import tree
X, y = load_iris(return_X_y=True)
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y) <-- tree builder recursively build the tree
Однако точная реализация этой части выполняется в Cython (скорость). Обычно я использую такие инструменты, как pdb, для установки точки останова в моем коде и, возможно, использую команду display
для отслеживания переменных, которые меня интересуют. Однако такой подход не выглядит реалистично c, так как я легко заблудился при навигации по файлам.
(python37) $ python script.py
> /private/tmp/test/script.py(6)<module>()
-> clf = clf.fit(X, y)
(Pdb) s
--Call--
> /Users/a59347/Desktop/scikit-learn/sklearn/tree/tree.py(852)fit()
-> def fit(self, X, y, sample_weight=None, check_input=True,
(Pdb)
> /Users/a59347/Desktop/scikit-learn/sklearn/tree/tree.py(888)fit()
-> super().fit(
(Pdb)
... <- I easily got lost and ended up in a very low level utility library
Есть ли способ добавить точку останова к этой строке кода в Python? Меня буквально интересует, как весь стек изменился в процессе построения дерева:
while not stack.is_empty():
stack.pop(&stack_record)
start = stack_record.start
....