使用sklearn中的OneVsRestClassifier将自定义二进制分类调整为多类分类

时间:2016-04-19 10:24:22

标签: python-2.7 machine-learning scikit-learn classification

我有二进制分类方法名称 FMclassifier 我需要将它应用于多类分类问题,到目前为止我知道可以使用一些估算器将二进制分类器或回归器转换为多类分类器。 我想知道是否可以使用 sklearn 中的 OneVsRestClassifier 达到此目标?  如果是这样,我需要知道如何在我的代码中应用它?就像下面的代码一样正确吗?

OneVsRestClassifier(FMClassifier(n_iter=100)).fit(X_train,y_train)

2 个答案:

答案 0 :(得分:2)

是的,它会像

classifier = OneVsRestClassifier(MyClassifier(param1 = A, param2 = B))
classifier.fit(X_train, Y)
predicted = classifier.predict(X_test)

您只需要确保您的分类器实现适合以及decision_function或predict_proba方法之一。更多信息在这里: http://scikit-learn.org/stable/modules/generated/sklearn.multiclass.OneVsRestClassifier.html

在您的示例中,您使用OneVsOneClassifier,这是一个不同的元分类器,具有不同的方法。

答案 1 :(得分:1)

在sklearn中,OneVsOneClassifier和OutputCodeClassifier也可用于OneVsRestClassifier。 FYR:http://scikit-learn.org/stable/modules/multiclass.html