machine-learning.rebalancing: Don't use a distribution for equal rebalancing.
parent
0a9774248f
commit
44cb0106cc
|
@ -22,12 +22,14 @@ MEMO: probabilities-seq ( seq -- seq' )
|
||||||
: stratified-sample ( stratified-sequences probability-sequence -- elt )
|
: stratified-sample ( stratified-sequences probability-sequence -- elt )
|
||||||
probabilities-quot call swap nth random ; inline
|
probabilities-quot call swap nth random ; inline
|
||||||
|
|
||||||
|
: equal-stratified-sample ( stratified-sequences -- elt )
|
||||||
|
random random ; inline
|
||||||
|
|
||||||
: balance-labels ( X y n -- X' y' )
|
: balance-labels ( X y n -- X' y' )
|
||||||
[
|
[
|
||||||
dup [ ] collect-index-by
|
dup [ ] collect-index-by
|
||||||
values dup length equal-probabilities
|
values '[
|
||||||
'[
|
_ _ _ equal-stratified-sample
|
||||||
_ _ _ _ stratified-sample
|
|
||||||
'[ _ swap nth ] bi@ 2array
|
'[ _ swap nth ] bi@ 2array
|
||||||
]
|
]
|
||||||
] dip swap replicate [ keys ] [ values ] bi ;
|
] dip swap replicate [ keys ] [ values ] bi ;
|
||||||
|
|
Loading…
Reference in New Issue