25.10.2016 Views

SAP HANA Predictive Analysis Library (PAL)

sap_hana_predictive_analysis_library_pal_en

sap_hana_predictive_analysis_library_pal_en

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Example 1: Fitting multiple linear regression model without penalties<br />

SET SCHEMA DM_<strong>PAL</strong>;<br />

DROP TYPE <strong>PAL</strong>_MLR_DATA_T;<br />

CREATE TYPE <strong>PAL</strong>_MLR_DATA_T AS TABLE( "ID" INT,"Y" DOUBLE,"V1" DOUBLE, "V2"<br />

DOUBLE);<br />

DROP TYPE <strong>PAL</strong>_MLR_RESULT_T;<br />

CREATE TYPE <strong>PAL</strong>_MLR_RESULT_T AS TABLE("Coefficient"<br />

varchar(50),"CoefficientValue" DOUBLE);<br />

DROP TYPE <strong>PAL</strong>_MLR_FITTED_T;<br />

CREATE TYPE <strong>PAL</strong>_MLR_FITTED_T AS TABLE("ID" INT,"Fitted" DOUBLE);<br />

DROP TYPE <strong>PAL</strong>_MLR_SIGNIFICANCE_T;<br />

CREATE TYPE <strong>PAL</strong>_MLR_SIGNIFICANCE_T AS TABLE("NAME" varchar(50),"VALUE" DOUBLE);<br />

DROP TYPE <strong>PAL</strong>_MLR_PMMLMODEL_T;<br />

CREATE TYPE <strong>PAL</strong>_MLR_PMMLMODEL_T AS TABLE("ID" INT,"Model" varchar(5000));<br />

DROP TYPE <strong>PAL</strong>_CONTROL_T;<br />

CREATE TYPE <strong>PAL</strong>_CONTROL_T AS TABLE("NAME" VARCHAR(100), "INTARGS" INT,<br />

"DOUBLEARGS" DOUBLE,"STRINGARGS" VARCHAR(100));<br />

DROP TABLE <strong>PAL</strong>_MLR_PDATA_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_MLR_PDATA_TBL("POSITION" INT, "SCHEMA_NAME"<br />

NVARCHAR(256), "TYPE_NAME" NVARCHAR(256), "PARAMETER_TYPE" VARCHAR(7));<br />

INSERT INTO <strong>PAL</strong>_MLR_PDATA_TBL values (1,'DM_<strong>PAL</strong>','<strong>PAL</strong>_MLR_DATA_T','IN');<br />

INSERT INTO <strong>PAL</strong>_MLR_PDATA_TBL values (2,'DM_<strong>PAL</strong>','<strong>PAL</strong>_CONTROL_T','IN');<br />

INSERT INTO <strong>PAL</strong>_MLR_PDATA_TBL values (3,'DM_<strong>PAL</strong>','<strong>PAL</strong>_MLR_RESULT_T','OUT');<br />

INSERT INTO <strong>PAL</strong>_MLR_PDATA_TBL values (4,'DM_<strong>PAL</strong>','<strong>PAL</strong>_MLR_FITTED_T','OUT');<br />

INSERT INTO <strong>PAL</strong>_MLR_PDATA_TBL values (5,'DM_<strong>PAL</strong>','<strong>PAL</strong>_MLR_SIGNIFICANCE_T','OUT');<br />

INSERT INTO <strong>PAL</strong>_MLR_PDATA_TBL values (6,'DM_<strong>PAL</strong>','<strong>PAL</strong>_MLR_PMMLMODEL_T','OUT');<br />

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_DROP('DM_<strong>PAL</strong>','<strong>PAL</strong>_LR_PROC');<br />

CALL<br />

SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFL<strong>PAL</strong>','LRREGRESSION','DM_<strong>PAL</strong>','<strong>PAL</strong>_LR_PRO<br />

C',<strong>PAL</strong>_MLR_PDATA_TBL);<br />

DROP TABLE #<strong>PAL</strong>_CONTROL_TBL;<br />

CREATE LOCAL TEMPORARY COLUMN TABLE #<strong>PAL</strong>_CONTROL_TBL ("NAME" VARCHAR(100),<br />

"INTARGS" INT, "DOUBLEARGS" DOUBLE,"STRINGARGS" VARCHAR(100));<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('THREAD_NUMBER',8,null,null);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('PMML_EXPORT',0,null,null);<br />

DROP TABLE <strong>PAL</strong>_MLR_DATA_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_MLR_DATA_TBL ( "ID" INT,"Y" DOUBLE,"V1" DOUBLE, "V2"<br />

DOUBLE);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (0,0.5,0.13,0.33);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (1,0.15,0.14,0.34);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (2,0.25,0.15,0.36);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (3,0.35,0.16,0.35);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (4,0.45,0.17,0.37);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (5,0.55,0.18,0.38);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (6,0.65,0.19,0.39);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (7,0.75,0.19,0.31);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (8,0.85,0.11,0.32);<br />

INSERT INTO <strong>PAL</strong>_MLR_DATA_TBL VALUES (9,0.95,0.12,0.33);<br />

DROP TABLE <strong>PAL</strong>_MLR_RESULTS_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_MLR_RESULTS_TBL ("Coefficient"<br />

varchar(50),"CoefficientValue" DOUBLE);<br />

DROP TABLE <strong>PAL</strong>_MLR_FITTED_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_MLR_FITTED_TBL ("ID" INT, "Fitted" DOUBLE);<br />

DROP TABLE <strong>PAL</strong>_MLR_SIGNIFICANCE_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_MLR_SIGNIFICANCE_TBL ("NAME" varchar(50),"VALUE" DOUBLE);<br />

DROP TABLE <strong>PAL</strong>_MLR_PMMLMODEL_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_MLR_PMMLMODEL_TBL ("ID" INT, "PMMLMODEL" VARCHAR(5000));<br />

CALL DM_<strong>PAL</strong>.<strong>PAL</strong>_LR_PROC(<strong>PAL</strong>_MLR_DATA_TBL,"#<strong>PAL</strong>_CONTROL_TBL",<br />

<strong>PAL</strong>_MLR_RESULTS_TBL, <strong>PAL</strong>_MLR_FITTED_TBL, <strong>PAL</strong>_MLR_SIGNIFICANCE_TBL,<br />

<strong>PAL</strong>_MLR_PMMLMODEL_TBL) WITH OVERVIEW;<br />

SELECT * FROM <strong>PAL</strong>_MLR_RESULTS_TBL;<br />

SELECT * FROM <strong>PAL</strong>_MLR_FITTED_TBL;<br />

SELECT * FROM <strong>PAL</strong>_MLR_SIGNIFICANCE_TBL;<br />

Expected Results<br />

<strong>SAP</strong> <strong>HANA</strong> <strong>Predictive</strong> <strong>Analysis</strong> <strong>Library</strong> (<strong>PAL</strong>)<br />

<strong>PAL</strong> Functions P U B L I C 271

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!