如何在Python中从sklearn中多次训练SVM分类器?

时间:2015-03-05 14:16:20

标签: python scikit-learn svm

如果可以在for循环中多次在Python中使用sklearn训练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)

1 个答案:

答案 0 :(得分:7)

在任何scikit-learn估算器上调用fit都会忘记以前看过的所有数据。因此,如果您想使用所有数据(所有十个患者)进行预测,则需要先将其连接起来。 特别是,如果每个somelabels只包含一个标签,那么代码就没有意义,甚至可能会出错,因为只有一个类存在。