! Copyright (C) 2012 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays fry kernel machine-learning.transformer
-math.extras sequences sets sorting ;
+sequences sets sorting sorting.extras ;
IN: machine-learning.label-binarizer
TUPLE: label-binarizer classes_ ;
M: label-binarizer transform-y
classes_>> dup length '[
- _ search-sorted [ 1 ] dip _ 0 <array> [ set-nth ] keep
+ _ bisect-left [ 1 ] dip _ 0 <array> [ set-nth ] keep
] map ;
M: label-binarizer inverse-transform-y
! Copyright (C) 2012 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors fry kernel locals machine-learning.transformer
-math.extras sequences sets sorting ;
+sequences sets sorting sorting.extras ;
IN: machine-learning.label-encoder
TUPLE: label-encoder classes_ ;
[ members natural-sort ] dip classes_<< ;
M: label-encoder transform-y ( y transformer -- y' )
- classes_>> '[ _ search-sorted ] map ;
+ classes_>> '[ _ bisect-left ] map ;
M: label-encoder inverse-transform-y ( y' transformer -- y )
classes_>> '[ _ nth ] map ;