machine-learning.rebalancing: Don't use a distribution for equal rebalancing.

db4
Doug Coleman 2012-11-17 12:52:55 -08:00
parent 0a9774248f
commit 44cb0106cc
1 changed files with 5 additions and 3 deletions

View File

@ -22,12 +22,14 @@ MEMO: probabilities-seq ( seq -- seq' )
: stratified-sample ( stratified-sequences probability-sequence -- elt )
probabilities-quot call swap nth random ; inline
: equal-stratified-sample ( stratified-sequences -- elt )
random random ; inline
: balance-labels ( X y n -- X' y' )
[
dup [ ] collect-index-by
values dup length equal-probabilities
'[
_ _ _ _ stratified-sample
values '[
_ _ _ equal-stratified-sample
'[ _ swap nth ] bi@ 2array
]
] dip swap replicate [ keys ] [ values ] bi ;