2016-11-30 5 views
2

Я использую scikitlearn для обучения SVM. Мне было интересно, можно ли так часто приостанавливать обучение, чтобы проверить точность текущей модели на моем наборе проверки. В конечном счете, я хочу создать кривую точности валидации. используя .Fit() тренирует SVM всю дорогу, но это только дает мне одну точную точку данных в концеscikit узнать SVM остановиться и получить доступ во время обучения

ответ

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 

Это покажет вам, как классификатор выступает на разном уровне подготовки.

+1

Я действительно пробовал это, прежде чем я отправил сообщение о переполнении стека, но я помню, что где-то читал, что вызванный .Fit() удаляет веса, которые он уже узнал. Я хотел бы, чтобы .Fit(), чтобы подобрать, откуда он остался каждый раз через цикл. –

 Смежные вопросы

  • Нет связанных вопросов^_^