2016-07-20 2 views
4

В настоящее время я использую pyprind, библиотеку, которая реализует прогресс бар:Как использовать коррекцию pyprind с scikit-learn?

#Compute training time elapsed 
pbar = pyprind.ProgBar(45, width=120, bar_char='█') 
for _ in range(45): 
    #Fiting 
    clf = SVC().fit(X_train, y_train) 
    pbar.update() 
#End of bar 

Однако, я не знаю, если это правильный способ использовать pbar, так как я предполагаю, что я подгоночных 45 раз clf. Таким образом, как следует правильно использовать pbar ?.

+0

вы не можете следить за ходом установки одной модели SVM , потому что все, что вы делаете, это вызов функции 'fit', и он не скажет вам, какой прогресс он достиг до сих пор. – cel

+0

@cel Я думаю, что он не пытается контролировать установку модели SVM, ее просто итерации цикла, которые библиотека просматривает и обновляет панель. – hashcode55

+0

@ hashcode55, mhm, может быть. Возможно, я неправильно понял этот вопрос. – cel

ответ

2

Я не использовал pyprind но я использовал progressbar. Просто установите его using-

pip install progressbar 

А потом -

from progressbar import ProgressBar 
pbar = ProgressBar() 
for x in pbar(range(45)): 
    clf = SVC().fit(X_train, y_train) 

и вы хорошо идти.

+0

Спасибо за помощь! – tumbleweed

+1

@ml_student нет проблем! это работало, как ожидалось? – hashcode55

+0

У меня проблемы с его установкой ... Я проверю их прямо сейчас, держись !, спасибо! – tumbleweed

1

Обратите внимание, что если вы хотите получить больше информации о процессе обучения вы можете использовать vebose флаг для этого:

X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) 
y = np.array([1, 1, 2, 2]) 
clf = SVC(verbose =True) 
clf.fit(X, y) 

Выход:

optimization finished, #iter = 12 
obj = -1.253423, rho = 0.000003 
nSV = 4, nBSV = 0 
Total nSV = 4 
Смежные вопросы