[ https://issues.apache.org/jira/browse/SPARK-13712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15194734#comment-15194734 ]
Joseph K. Bradley commented on SPARK-13712: ------------------------------------------- Hm, my understanding is that ECOC-based ones can achieve performance similar to one-vs-one. See, e.g., Allwein et al. "Reducing Multiclass to Binary: A Unifying Approach for Margin Classifiers" JMLR 2001. [http://www.jmlr.org/papers/volume1/allwein00a/allwein00a.pdf] It's possible those results rely on soft predictions from classifiers, but I don't think they do. I'd need to refresh on that material to recall for sure. > Add OneVsOne to ML > ------------------ > > Key: SPARK-13712 > URL: https://issues.apache.org/jira/browse/SPARK-13712 > Project: Spark > Issue Type: New Feature > Components: ML > Reporter: zhengruifeng > Priority: Minor > > Another Meta method for multi-class classification. > Most classification algorithms were designed for balanced data. > The OneVsRest method will generate K models on imbalanced data. > The OneVsOne will train K*(K-1)/2 models on balanced data. > OneVsOne is less sensitive to the problems of imbalanced datasets, and can > usually result in higher precision. > But it is much more computationally expensive, although each model are > trained on a much smaller dataset. (2/K of total) > The OneVsOne is implemented in the way OneVsRest did: > val classifier = new LogisticRegression() > val ovo = new OneVsOne() > ovo.setClassifier(classifier) > val ovoModel = ovo.fit(data) > val predictions = ovoModel.transform(data) -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org