Maj*_*116 4 scala sampling apache-spark
我的数据中有一些不平衡的数据LabeledPoint.我想做的是选择所有正面和n次数更多负面(随机).例如,如果我有100正面和30000负面,我想LabeledPoint用所有100正面和300负面创建新的(n=3).
在实际情况中,我并没有在开始时有多少积极和消极.
大概你的数据是RDD[LabeledPoint].您可以执行以下操作:
val pos = rdd.filter(_.label==1)
val numPos=pos.count()
val neg = rdd.filter(_.label==0).takeSample(false, numPos*3)
val undersample = pos.union(neg)
Run Code Online (Sandbox Code Playgroud)
你可以找到的文档takeSample,filter以及union 在这里.
| 归档时间: |
|
| 查看次数: |
580 次 |
| 最近记录: |