12 m4_include(`SQLCommon.m4
')
247 -- -----------------------------------------------------------------------
248 -- PCA projection for Dense matrices
249 -- -----------------------------------------------------------------------
251 @brief Compute principal compoents for a dense matrix stored in a
254 CREATE OR REPLACE FUNCTION
255 MADLIB_SCHEMA.pca_project(
256 source_table TEXT, -- Source table name (dense matrix)
257 pc_table TEXT, -- Principal components table (output from pca module)
258 out_table TEXT, -- Output table name for the principal components
259 row_id TEXT, -- Column name for the ID for each row
260 residual_table TEXT, -- Residual table (Default: NULL)
261 result_summary_table TEXT -- Table name to store summary of results (Default: NULL)
264 PythonFunction(pca, pca_project, pca_project)
265 $$ LANGUAGE plpythonu;
267 -- Overloaded functions for optional parameters
268 -- -----------------------------------------------------------------------
270 CREATE OR REPLACE FUNCTION
271 MADLIB_SCHEMA.pca_project(
272 source_table TEXT, -- Source table name (dense matrix)
273 pc_table TEXT, -- Principal components table (output from pca module)
274 out_table TEXT, -- Output table name for the principal components
275 row_id TEXT -- Column name for the ID for each row
278 SELECT MADLIB_SCHEMA.pca_project($1, $2, $3, $4, NULL, NULL)
282 CREATE OR REPLACE FUNCTION
283 MADLIB_SCHEMA.pca_project(
284 source_table TEXT, -- Source table name (dense matrix)
285 pc_table TEXT, -- Principal components table (output from pca module)
286 out_table TEXT, -- Output table name for the principal components
287 row_id TEXT, -- Column name for the ID for each row
288 residual_table TEXT -- Residual table (Default: NULL)
291 SELECT MADLIB_SCHEMA.pca_project($1, $2, $3, $4, $5, NULL)
295 -- Help and usage functions
296 -----------------------------------------------------------------------------
297 CREATE OR REPLACE FUNCTION
298 MADLIB_SCHEMA.pca_project(
299 usage_string TEXT -- Usage string
301 RETURNS VARCHAR AS $$
302 PythonFunction(pca, pca_project, pca_project_help)
303 $$ LANGUAGE plpythonu;
306 CREATE OR REPLACE FUNCTION
307 MADLIB_SCHEMA.pca_project()
308 RETURNS VARCHAR AS $$
310 RETURN MADLIB_SCHEMA.pca_project('
');
312 $$ LANGUAGE plpgsql VOLATILE;
316 -- -----------------------------------------------------------------------
317 -- PCA sparse projection for dense matrices
318 -- -----------------------------------------------------------------------
320 @brief Compute principal compoents for a dense matrix stored in a
323 CREATE OR REPLACE FUNCTION
324 MADLIB_SCHEMA.pca_sparse_project(
325 source_table TEXT, -- Source table name (dense matrix)
326 pc_table TEXT, -- Principal components table (output from pca module)
327 out_table TEXT, -- Output table name for the principal components
328 row_id TEXT, -- Column name for the row id
329 col_id TEXT, -- Column name for the col id
330 val_id TEXT, -- Column name for the value id
331 row_dim INT4, -- Row dimension of the sparse matrix
332 col_dim INT4, -- Column dimension of the sparse matrix
333 residual_table TEXT, -- Residual table (Default: NULL)
334 result_summary_table TEXT -- Table name to store summary of results (Default: NULL)
337 PythonFunction(pca, pca_project, pca_sparse_project)
338 $$ LANGUAGE plpythonu;
340 -- Overloaded functions for optional parameters
341 -- -----------------------------------------------------------------------
343 CREATE OR REPLACE FUNCTION
344 MADLIB_SCHEMA.pca_sparse_project(
345 source_table TEXT, -- Source table name (dense matrix)
346 pc_table TEXT, -- Principal components table (output from pca module)
347 out_table TEXT, -- Output table name for the principal components
348 row_id TEXT, -- Column name for the row id
349 col_id TEXT, -- Column name for the col id
350 val_id TEXT, -- Column name for the value id
351 row_dim INT4, -- Row dimension of the sparse matrix
352 col_dim INT4 -- Column dimension of the sparse matrix
355 SELECT MADLIB_SCHEMA.pca_sparse_project($1, $2, $3, $4, $5, $6, $7, $8, NULL, NULL)
358 CREATE OR REPLACE FUNCTION
359 MADLIB_SCHEMA.pca_sparse_project(
360 source_table TEXT, -- Source table name (dense matrix)
361 pc_table TEXT, -- Principal components table (output from pca module)
362 out_table TEXT, -- Output table name for the principal components
363 row_id TEXT, -- Column name for the row id
364 col_id TEXT, -- Column name for the col id
365 val_id TEXT, -- Column name for the value id
366 row_dim INT4, -- Row dimension of the sparse matrix
367 col_dim INT4, -- Column dimension of the sparse matrix
368 residual_table TEXT -- Residual table (Default: NULL)
371 SELECT MADLIB_SCHEMA.pca_sparse_project($1, $2, $3, $4, $5, $6, $7, $8, $9, NULL)
375 -- Help and usage functions
376 -----------------------------------------------------------------------------
377 CREATE OR REPLACE FUNCTION
378 MADLIB_SCHEMA.pca_sparse_project(
379 usage_string TEXT -- Usage string
381 RETURNS VARCHAR AS $$
382 PythonFunction(pca, pca_project, pca_sparse_project_help)
383 $$ LANGUAGE plpythonu;
386 CREATE OR REPLACE FUNCTION
387 MADLIB_SCHEMA.pca_sparse_project()
388 RETURNS VARCHAR AS $$
390 RETURN MADLIB_SCHEMA.pca_sparse_project('');
392 $$ LANGUAGE plpgsql VOLATILE;