User Documentation
utils_regularization.sql_in
00001 
00002 CREATE TYPE MADLIB_SCHEMA.__utils_scales AS (
00003     mean                DOUBLE PRECISION[],
00004     std                 DOUBLE PRECISION[]
00005 );
00006 
00007 --
00008 
00009 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_result (
00010     in_state            DOUBLE PRECISION[]
00011 ) RETURNS MADLIB_SCHEMA.__utils_scales AS
00012 'MODULE_PATHNAME', '__utils_var_scales_result'
00013 LANGUAGE C IMMUTABLE STRICT;
00014 
00015 ------------------------------------------------------------------------
00016 
00017 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_transition (
00018     state               DOUBLE PRECISION[],
00019     ind_var             DOUBLE PRECISION[],
00020     dimension           INTEGER
00021 ) RETURNS DOUBLE PRECISION[] AS
00022 'MODULE_PATHNAME', 'utils_var_scales_transition'
00023 LANGUAGE C IMMUTABLE STRICT;
00024 
00025 --
00026 
00027 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_merge (
00028     state1              DOUBLE PRECISION[],
00029     state2              DOUBLE PRECISION[]
00030 ) RETURNS DOUBLE PRECISION[] AS
00031 'MODULE_PATHNAME', 'utils_var_scales_merge'
00032 LANGUAGE C IMMUTABLE STRICT;
00033 
00034 --
00035 
00036 CREATE FUNCTION MADLIB_SCHEMA.__utils_var_scales_final (
00037     state               DOUBLE PRECISION[]
00038 ) RETURNS DOUBLE PRECISION[] AS
00039 'MODULE_PATHNAME', 'utils_var_scales_final'
00040 LANGUAGE C IMMUTABLE STRICT;
00041 
00042 --
00043 
00044 CREATE AGGREGATE MADLIB_SCHEMA.utils_var_scales (
00045     /* ind_var  */      DOUBLE PRECISION[],
00046     /* dimension*/      INTEGER
00047 ) (
00048     SType = DOUBLE PRECISION[],
00049     SFunc = MADLIB_SCHEMA.__utils_var_scales_transition,
00050     m4_ifdef(`GREENPLUM', `prefunc = MADLIB_SCHEMA.__utils_var_scales_merge,')
00051     FinalFunc = MADLIB_SCHEMA.__utils_var_scales_final,
00052     InitCond = '{0,0,0,0}'
00053 );
00054 
00055 ------------------------------------------------------------------------
00056 
00057 CREATE TYPE MADLIB_SCHEMA.__utils_scaled_data AS (
00058     scaled      DOUBLE PRECISION[]
00059 );
00060 
00061 --
00062 
00063 CREATE FUNCTION MADLIB_SCHEMA.utils_normalize_data (
00064     x           DOUBLE PRECISION[],
00065     mean        DOUBLE PRECISION[],
00066     std         DOUBLE PRECISION[]
00067 ) RETURNS MADLIB_SCHEMA.__utils_scaled_data AS
00068 'MODULE_PATHNAME', 'utils_normalize_data'
00069 LANGUAGE C IMMUTABLE STRICT;