如何在python中从sklearn训练多次SVM分类器?
问题内容:
我在徘徊,是否有可能在for循环中多次使用sklearn在Python中训练SVM分类器。我想到的是以下内容:
for i in range(0,10):
data = np.load(somedata)
labels = np.load(somelabels)
C = SVC()
C.fit(data, labels)
joblib.dump(C, 'somefolderpath/Model.pkl')
我希望对10个数据及其标签中的每一个进行模型训练。这样是否可行,还是我必须将所有数据和标签附加到两个相应的数组中,这些数组包含我10个项目中的整个数据和标签?
编辑 :如果我想为每个主题训练一个单独的分类器。那么上面的语法如何?我的编辑正确吗?当我想为我的特定主题加载经过专门训练的分类器时,我可以这样做:
C = joblib.load('somefolderpath/Model.pkl')
idx = C.predict(data)
?
问题答案:
调用fit
任何scikit-
learn估计器都会忘记所有以前看到的数据。因此,如果您想使用所有数据(所有十位患者)进行预测,则需要首先对其进行串联。特别是,如果每个somelabels
标签仅包含一个标签,则该代码没有意义,甚至可能会出错,因为只存在一个类。