Я использую scikitlearn для обучения SVM. Мне было интересно, можно ли так часто приостанавливать обучение, чтобы проверить точность текущей модели на моем наборе проверки. В конечном счете, я хочу создать кривую точности валидации. используя .Fit() тренирует SVM всю дорогу, но это только дает мне одну точную точку данных в концеscikit узнать SVM остановиться и получить доступ во время обучения
2
A
ответ
0
Существует небольшая уловка, которую вы можете использовать на самом деле.
Вы можете играть по параметру max_iter
вашего классификатора SVC
. Например, вы можете получить несколько классификаторов с различным количеством итераций.
Вот что вы можете сделать:
import numpy as np
for i in np.arange(10, 1000, 100):
svm = SVC(max_iter=i) # and your other parameters
svm.fit(X, y)
... # here retrieve your metrics
Это покажет вам, как классификатор выступает на разном уровне подготовки.
Я действительно пробовал это, прежде чем я отправил сообщение о переполнении стека, но я помню, что где-то читал, что вызванный .Fit() удаляет веса, которые он уже узнал. Я хотел бы, чтобы .Fit(), чтобы подобрать, откуда он остался каждый раз через цикл. –