Repository: madlib Updated Branches: refs/heads/master edc93f529 -> 2658b3343
Doc: Add grouping predict e.g. for lin_reg Add example for prediction with grouping support in linear the regression module. Closes #209 Project: http://git-wip-us.apache.org/repos/asf/madlib/repo Commit: http://git-wip-us.apache.org/repos/asf/madlib/commit/2658b334 Tree: http://git-wip-us.apache.org/repos/asf/madlib/tree/2658b334 Diff: http://git-wip-us.apache.org/repos/asf/madlib/diff/2658b334 Branch: refs/heads/master Commit: 2658b33434d0e7f7ce248fed64f6ab81111c5329 Parents: edc93f5 Author: Frank McQuillan <[email protected]> Authored: Wed Dec 6 11:04:27 2017 -0800 Committer: Nandish Jayaram <[email protected]> Committed: Fri Dec 8 11:28:19 2017 -0800 ---------------------------------------------------------------------- .../postgres/modules/regress/linear.sql_in | 38 ++++++++++++++++++++ 1 file changed, 38 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/madlib/blob/2658b334/src/ports/postgres/modules/regress/linear.sql_in ---------------------------------------------------------------------- diff --git a/src/ports/postgres/modules/regress/linear.sql_in b/src/ports/postgres/modules/regress/linear.sql_in index e1484db..68c9020 100644 --- a/src/ports/postgres/modules/regress/linear.sql_in +++ b/src/ports/postgres/modules/regress/linear.sql_in @@ -356,6 +356,44 @@ Result: (15 rows) </pre> +-# Compare predicted price with actual with grouping. +It means a different model is used depending on the number of bedrooms. +<pre class="example"> +\\x OFF +SELECT houses.*, + madlib.linregr_predict( m.coef, + ARRAY[1,tax,bath,size] + ) as predict, + price - + madlib.linregr_predict( m.coef, + ARRAY[1,tax,bath,size] + ) as residual +FROM houses, houses_linregr_bedroom m +WHERE houses.bedroom = m.bedroom +ORDER BY id; +</pre> +Result: +<pre class="result"> + id | tax | bedroom | bath | price | size | lot | predict | residual +----+------+---------+------+--------+------+-------+------------------+------------------- + 1 | 590 | 2 | 1 | 50000 | 770 | 22100 | 43223.5393423978 | 6776.46065760222 + 2 | 1050 | 3 | 2 | 85000 | 1410 | 12000 | 111527.609949684 | -26527.609949684 + 3 | 20 | 3 | 1 | 22500 | 1060 | 3500 | 20187.9052986341 | 2312.09470136587 + 4 | 870 | 2 | 2 | 90000 | 1300 | 17500 | 99354.9203362612 | -9354.92033626116 + 5 | 1320 | 3 | 2 | 133000 | 1500 | 30000 | 124508.080626412 | 8491.91937358756 + 6 | 1350 | 2 | 1 | 90500 | 820 | 25700 | 96640.8258367579 | -6140.8258367579 + 7 | 2790 | 3 | 2.5 | 260000 | 2130 | 25000 | 224650.799707327 | 35349.2002926733 + 8 | 680 | 2 | 1 | 142500 | 1170 | 22000 | 138458.174652714 | 4041.82534728572 + 9 | 1840 | 3 | 2 | 160000 | 1500 | 19000 | 138650.335313722 | 21349.6646862777 + 10 | 3680 | 4 | 2 | 240000 | 2790 | 20000 | 240000 | 0 + 11 | 1660 | 3 | 1 | 87000 | 1030 | 17500 | 62911.2752186594 | 24088.7247813406 + 12 | 1620 | 3 | 2 | 118600 | 1250 | 20000 | 117007.693446414 | 1592.30655358579 + 13 | 3100 | 3 | 2 | 140000 | 1760 | 38000 | 189203.861766403 | -49203.8617664034 + 14 | 2070 | 2 | 3 | 148000 | 1550 | 14000 | 143322.539831869 | 4677.46016813093 + 15 | 650 | 3 | 1.5 | 65000 | 1450 | 12000 | 82452.4386727394 | -17452.4386727394 +(15 rows) +</pre> + @anchor notes @par Note
