如何将所有分类器集成到多标签svm分类中

时间:2014-11-29 13:31:46

标签: python nlp svm

我有4个标记的组,我想使用SVM进行分类。

Class-A, Class-B, Class-C, Class-D

现在如果我需要训练我的分类器识别我将把A,B,C,D中的所有文本复制到文件" A-against-all"中。对于B,C& D为

"B-against-all" CLass B :1 , Rest all :-1
"C-against-all" CLass C :1 , Rest all :-1
"D-against-all" CLass D :1 , Rest all :-1

现在,如果我在" A-against-all"上运行SVM然后我得到一个分类器作为输出。 同样地,我为B,C和C提供了另外三个分类器。 d。

现在我的问题是: - 如何整合这4个分类器以便一致运行? OR是使用SVM进行多类分类的更好方法

1 个答案:

答案 0 :(得分:2)

我不知道如何将2个或更多SVM分类器合并为1.但是对于您的特定问题,您可以通过创建包含A,B,C和C的所有数据的文件来获得所需的SVM。带有单独标签的D分别为1,2,3 & 4A, B, C & D。在此组合文件上运行SVM,生成的分类器将正确识别数据点为A类,B类,C类或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已将数据分为三类标签并准确预测。

看看这个问题:Prepare data for text classification using Scikit Learn SVM.这就是你需要做的。