Python 如何将已有的系数加载到sklearn SVM分类器中?
我使用sklearn.SVM.SVC训练了一个SVM分类器,并存储了权重系数。然后我加载了它们,并尝试将它们注入到sklearn.svm.SVC的新实例中,但无法这样做,因为属性coef_u似乎是只读的 从sk学习输入svm 进口泡菜 modelSVM=svm.SVCkernel='linear' 权重=pickle.loadopenweights\u路径“rb” modelSVM.coef=权重 我希望有一个模型,其中权重作为新系数加载,但我得到了以下信息:Python 如何将已有的系数加载到sklearn SVM分类器中?,python,scikit-learn,svm,Python,Scikit Learn,Svm,我使用sklearn.SVM.SVC训练了一个SVM分类器,并存储了权重系数。然后我加载了它们,并尝试将它们注入到sklearn.svm.SVC的新实例中,但无法这样做,因为属性coef_u似乎是只读的 从sk学习输入svm 进口泡菜 modelSVM=svm.SVCkernel='linear' 权重=pickle.loadopenweights\u路径“rb” modelSVM.coef=权重 我希望有一个模型,其中权重作为新系数加载,但我得到了以下信息: AttributeError: '
AttributeError: 'SVC' object has no attribute 'dual_coef_'
这可能是因为coef_u不是分类器所需的唯一字段。因此,我尝试在注入权重之前训练并克隆分类器:
modelSVM.fitX,标签
modelSVM=clonemodelSVM
modelSVM.coef=权重
它给出了输出:
"Exception has occurred: AttributeError
can't set attribute"
而不是像@mechanical在评论中指出的那样加载权重,这是不可能的。您可以尝试保存模型并重新加载模型。请参阅。根据scikit了解[文档][1]coef_uu是一个只读属性,它源自遵循liblinear内部内存布局的原始coef_u。所以,恐怕您不能直接设置它。[1]: