I不知道如何将2个或多个SVM分类器合并为1个。但是对于您的特定问题,您可以通过创建一个包含A、B、C和D所有数据的文件,并使用单独的标签
1、2、3和4
分别表示
A、B、C和D
来获得所需的SVM。在此组合文件上运行SVM,生成的分类器将正确地将数据点识别为Class-A、Class-B、Class-C或Class-D。
鸢尾花数据集上的SVM。鸢尾花数据集有三个类别0、1、2。0-50属于类别0,50-100属于类别1,100-150属于类别2。
>>> from sklearn import datasets as DS
>>> iris = DS.load_iris()
>>> from sklearn import svm
>>> clf=svm.SVC()
>>> clf.fit(iris.data,iris.target)
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.0,
kernel='rbf', max_iter=-1, probability=False, random_state=None,
shrinking=True, tol=0.001, verbose=False)
>>> clf.predict(iris.data[25])
array([0])
>>> clf.predict(iris.data[75])
array([1])
>>> clf.predict(iris.data[125])
array([2])
正如你所看到的,SVM已经将数据分类为三个类别,并且预测准确。
看看这个问题:使用Scikit Learn SVM为文本分类准备数据。 这就是你需要做的。