Индикатор прогресса для scikit-learn?

Есть ли способ иметь индикатор выполнения для метода подгонки в scikit-learn?

Можно ли включить пользовательский с чем-то вроде Pyprind?

Ответы

Ответ 1

Если вы инициализируете модель с помощью verbose=True перед вызовом fit, вы должны получить какой-то вывод, указывающий прогресс. Например, GradientBoostedClassifer предоставляет результат выполнения, который выглядит следующим образом:

  Iter       Train Loss   Remaining Time
     1           1.2811            0.71s
     2           1.2595            0.58s
     3           1.2402            0.50s
     4           1.2263            0.46s
     5           1.2121            0.43s
     6           1.1999            0.41s
     7           1.1876            0.39s
     8           1.1761            0.38s
     9           1.1673            0.37s
    10           1.1591            0.36s
    20           1.1021            0.29s
    30           1.0511            0.27s
    40           1.0116            0.25s
    50           0.9830            0.22s
    60           0.9581            0.19s
    70           0.9377            0.16s
    80           0.9169            0.14s
    90           0.9049            0.12s
   100           0.8973            0.10s

Ответ 2

Многие модели поддерживают подробный аргумент, который дает прогресс (а иногда и показатель скорости конвергенции).

например.

clf = MPLClassifier(verbose=True)

(см. MLPClassifier)

Если у вас есть цикл вне модели обучения, я рекомендую tqdm.