我有4个标记的组,我想使用SVM进行分类.
Class-A, Class-B, Class-C, Class-D
现在如果我需要训练我的分类器识别我将把A,B,C,D中的所有文本复制到一个文件“A-against-all”.对于B,C& D as
"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进行多类分类的更好方法
最佳答案 我不知道如何将2个或更多SVM分类器合并为1.但是对于您的特定问题,您可以通过创建包含A,B,C和C的所有数据的文件来获得所需的SVM.带有单独标签的D表示1,2,3& 4分别为A,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.这就是你需要做的.