Как загрузить существующие коэффициенты в склеарн SVM-классификатор? - PullRequest
0 голосов
/ 15 мая 2019

Я обучил классификатор SVM, используя sklearn.svm.SVC, и сохранил веса (коэффициенты).Затем я загрузил их и попытался внедрить их в новый экземпляр sklearn.svm.SVC, но не смог этого сделать, потому что кажется, что атрибут coef_ доступен только для чтения ..

from sklearn import svm
import pickle

modelSVM = svm.SVC(kernel='linear')
weights = pickle.load(open(weights_path, 'rb'))

modelSVM.coef_ = weights

Я ожидаю получитьмодель с весами, которые я загрузил как новые коэффициенты, но я получаю это сообщение:

AttributeError: 'SVC' object has no attribute 'dual_coef_'

Возможно, это связано с тем, что coef_ не единственное поле, необходимое классификатору.Поэтому я попытался обучить, а затем клонировать классификатор, прежде чем вводить веса:

modelSVM.fit(X, labels)
modelSVM = clone(modelSVM)
modelSVM.coef_ = weights

Это дает вывод:

"Exception has occurred: AttributeError
can't set attribute"

1 Ответ

0 голосов
/ 15 мая 2019

Вместо загрузки весов, что невозможно, как указано @ Mechanic в комментариях.Вы можете попытаться сохранить модель и загрузить модель обратно.Пожалуйста, обратитесь к этой ссылке .

...