[
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: [email protected]
For additional commands, e-mail: [email protected]