如何在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标签仅包含一个标签,则该代码没有意义,甚至可能会出错,因为只存在一个类。