Некоторые модели scikit-Learn имеют параметр verbose , который позволяет вам контролировать уровень детализации процесса подбора, включая время, см. Некоторые примеры здесь . Но это не тот случай DecisionTreeClassifier
. Хотя простая вещь, которую вы можете сделать, это просто синхронизировать ее самостоятельно:
import time
start_time = time.time()
classifier.fit(X_train, y_train)
elapsed_time = time.time() - start_time
print(f'{elapsed_time:.2f}s elapsed during training')
Или вы можете обернуть ее с Pipeline
, установив для подробного значения значение, превышающее 0
(обратите внимание, что интересной особенностью конвейера sklearn является инкапсуляция списка преобразований для последовательного применения и окончательной оценки):
from sklearn.pipeline import Pipeline
pipe = Pipeline([('tree', DecisionTreeClassifier())], verbose=3)
pipe.set_params(tree__random_state=17).fit(X_train, y_train)