]> gitweb.factorcode.org Git - factor.git/blob - extra/machine-learning/label-encoder/label-encoder.factor
5c605a97c05fef6092bac9f7520f86c8686e4de3
[factor.git] / extra / machine-learning / label-encoder / label-encoder.factor
1 ! Copyright (C) 2012 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors fry kernel locals machine-learning.transformer
4 sequences sets sorting sorting.extras ;
5 IN: machine-learning.label-encoder
6
7 TUPLE: label-encoder classes_ ;
8
9 : <label-encoder> ( -- le ) label-encoder new ; inline
10
11 M: label-encoder fit-y ( y transformer -- )
12     [ members natural-sort ] dip classes_<< ;
13
14 M: label-encoder transform-y ( y transformer -- y' )
15     classes_>> '[ _ bisect-left ] map ;
16
17 M: label-encoder inverse-transform-y ( y' transformer -- y )
18     classes_>> '[ _ nth ] map ;