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

Python 2.7 使用sklearn中的OneVsRestClassifier将定制的二进制分类调整为多类分类,python-2.7,machine-learning,scikit-learn,classification,Python 2.7,Machine Learning,Scikit Learn,Classification,我有二元分类方法名称FMclassifier我需要将其应用于多类分类问题,到目前为止,我知道可以使用一些估计器将二元分类器或回归器转化为多类分类器。 我想知道在sklearn中使用OneVsRestClassifier是否可以达到这个目标? 如果是这样,我需要知道如何在代码中应用它?下面的代码是正确的方法吗 OneVsRestClassifier(FMClassifier(n_iter=100)).fit(X_train,y_train) 是的,大概是这样 classifier = OneVs

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

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

是的,大概是这样

classifier = OneVsRestClassifier(MyClassifier(param1 = A, param2 = B))
classifier.fit(X_train, Y)
predicted = classifier.predict(X_test)
您只需要确保分类器实现fit和decision\u函数或predict\u proba方法之一。更多信息请点击此处:


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

在sklearn中,OneVsOneClassifier和OutputCodeClassifier也可用于OneVsOneClassifier之外的其他分类器。
FYR:。

非常感谢您,我正在以同样的方式进行操作,我面临一个错误:
运行时错误:无法克隆对象MyClassification
构造函数似乎没有设置参数,但我已经为该参数设置了值,您认为错误是否与OneVsRestClassifier有关,或者应该有其他原因?我认为MyClassifier的实现存在一些问题-它没有完全满足OneVsRestClassifier的期望。甚至是你实现它的方式。我强烈建议您检查这个答案:是的,您是对的,事实上它没有任何decision_函数,它的核心只接受{1,-1}作为类标签!!你认为如果我定义一个定制的predict_proba,它可以将我的数据与分类器相匹配,可以解决我的问题吗?或者它比我想象的更复杂?如果你正确地实现predict_proba和fit函数就足够了。当然,你需要小心不要违反SKLearns API(在我提供的链接中提到)是的,我也尝试过其他方法,但我在所有情况下都有相同的错误!