User Documentation
 All Files Functions Groups
utils_regularization.sql_in
1 
2 CREATE TYPE MADLIB_SCHEMA.__utils_scales AS (
3  mean DOUBLE PRECISION[],
4  std DOUBLE PRECISION[]
5 );
6 
7 --
8 
9 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_result (
10  in_state DOUBLE PRECISION[]
11 ) RETURNS MADLIB_SCHEMA.__utils_scales AS
12 'MODULE_PATHNAME', '__utils_var_scales_result'
13 LANGUAGE C IMMUTABLE STRICT;
14 
15 ------------------------------------------------------------------------
16 
17 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_transition (
18  state DOUBLE PRECISION[],
19  ind_var DOUBLE PRECISION[],
20  dimension INTEGER
21 ) RETURNS DOUBLE PRECISION[] AS
22 'MODULE_PATHNAME', 'utils_var_scales_transition'
23 LANGUAGE C IMMUTABLE STRICT;
24 
25 --
26 
27 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_merge (
28  state1 DOUBLE PRECISION[],
29  state2 DOUBLE PRECISION[]
30 ) RETURNS DOUBLE PRECISION[] AS
31 'MODULE_PATHNAME', 'utils_var_scales_merge'
32 LANGUAGE C IMMUTABLE STRICT;
33 
34 --
35 
36 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_final (
37  state DOUBLE PRECISION[]
38 ) RETURNS DOUBLE PRECISION[] AS
39 'MODULE_PATHNAME', 'utils_var_scales_final'
40 LANGUAGE C IMMUTABLE STRICT;
41 
42 --
43 
44 CREATE AGGREGATE MADLIB_SCHEMA.utils_var_scales (
45  /* ind_var */ DOUBLE PRECISION[],
46  /* dimension*/ INTEGER
47 ) (
48  SType = DOUBLE PRECISION[],
49  SFunc = MADLIB_SCHEMA.__utils_var_scales_transition,
50  m4_ifdef(`GREENPLUM', `prefunc = MADLIB_SCHEMA.__utils_var_scales_merge,')
51  FinalFunc = MADLIB_SCHEMA.__utils_var_scales_final,
52  InitCond = '{0,0,0,0}'
53 );
54 
55 ------------------------------------------------------------------------
56 
57 CREATE TYPE MADLIB_SCHEMA.__utils_scaled_data AS (
58  scaled DOUBLE PRECISION[]
59 );
60 
61 --
62 
63 CREATE FUNCTION MADLIB_SCHEMA.utils_normalize_data (
64  x DOUBLE PRECISION[],
65  mean DOUBLE PRECISION[],
66  std DOUBLE PRECISION[]
67 ) RETURNS MADLIB_SCHEMA.__utils_scaled_data AS
68 'MODULE_PATHNAME', 'utils_normalize_data'
69 LANGUAGE C IMMUTABLE STRICT;