You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Tiago Albineli Motta (JIRA)" <ji...@apache.org> on 2017/04/20 04:02:04 UTC

[jira] [Commented] (SPARK-8971) Support balanced class labels when splitting train/cross validation sets

    [ https://issues.apache.org/jira/browse/SPARK-8971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15976027#comment-15976027 ] 

Tiago Albineli Motta commented on SPARK-8971:
---------------------------------------------

Why not a variation of TrainValidatorSplit to stratify the split of training and test?

We just need to extract this code in TrainValidationSplit.scala as a new method:

{code}
    val Array(trainingDataset, validationDataset) =
      dataset.randomSplit(Array($(trainRatio), 1 - $(trainRatio)), $(seed))
    trainingDataset.cache()
    validationDataset.cache()
{code}

And them create a subclass like TrainValidatorBalancedSplit overriding this method

> Support balanced class labels when splitting train/cross validation sets
> ------------------------------------------------------------------------
>
>                 Key: SPARK-8971
>                 URL: https://issues.apache.org/jira/browse/SPARK-8971
>             Project: Spark
>          Issue Type: New Feature
>          Components: ML
>            Reporter: Feynman Liang
>            Assignee: Seth Hendrickson
>
> {{CrossValidator}} and the proposed {{TrainValidatorSplit}} (SPARK-8484) are Spark classes which partition data into training and evaluation sets for performing hyperparameter selection via cross validation.
> Both methods currently perform the split by randomly sampling the datasets. However, when class probabilities are highly imbalanced (e.g. detection of extremely low-frequency events), random sampling may result in cross validation sets not representative of actual out-of-training performance (e.g. no positive training examples could be included).
> Mainstream R packages like already [caret|http://topepo.github.io/caret/splitting.html] support splitting the data based upon the class labels.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org