You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@madlib.apache.org by ri...@apache.org on 2017/03/13 20:57:26 UTC

[04/50] [abbrv] incubator-madlib git commit: CV: Fix order of validation output table columns

CV: Fix order of validation output table columns


Project: http://git-wip-us.apache.org/repos/asf/incubator-madlib/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-madlib/commit/6f12264c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-madlib/tree/6f12264c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-madlib/diff/6f12264c

Branch: refs/heads/latest_release
Commit: 6f12264c3ef34345b0b9b812afbd9bee5f6b815b
Parents: e1f37bb
Author: Rahul Iyer <ri...@apache.org>
Authored: Wed Jan 11 15:04:53 2017 -0800
Committer: Rahul Iyer <ri...@apache.org>
Committed: Wed Jan 11 15:08:32 2017 -0800

----------------------------------------------------------------------
 .../validation/internal/cross_validation.py_in  | 25 +++++++-------------
 1 file changed, 8 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-madlib/blob/6f12264c/src/ports/postgres/modules/validation/internal/cross_validation.py_in
----------------------------------------------------------------------
diff --git a/src/ports/postgres/modules/validation/internal/cross_validation.py_in b/src/ports/postgres/modules/validation/internal/cross_validation.py_in
index a79b45a..c1b2561 100644
--- a/src/ports/postgres/modules/validation/internal/cross_validation.py_in
+++ b/src/ports/postgres/modules/validation/internal/cross_validation.py_in
@@ -139,30 +139,21 @@ class ValidationResult(object):
         if not tbl_name or not str(tbl_name).strip():
             return
 
-        cv_history_f = self._flatten()
-        header = cv_history_f[0].keys()
-        # assuming all keys are string
-        header_str = ','.join(header)
-        # assuming all values are double precision
-        header_with_type_str = ','.join([c + ' double precision'
-                                        for c in header])
-        plpy.execute("""
-                     DROP TABLE IF EXISTS {tbl_name};
-                     CREATE TABLE {tbl_name} ({header})
-                     """.format(tbl_name=tbl_name,
-                                header=header_with_type_str))
+        header = self._cv_history[0]['sub_args'].keys() + ['mean', 'std']
+        header_str = ','.join(map(str, header))
 
         data = []
-        for h in cv_history_f:
+        for h in self._flatten():
             values = ','.join([str(h[k]) for k in header])
             data.append("({0})".format(values))
         data = ','.join(data)
 
         plpy.execute("""
-                     INSERT INTO {tbl_name}({header}) VALUES
-                     {data}""".format(data=data,
-                                      header=header_str,
-                                      tbl_name=tbl_name))
+                     CREATE TABLE {tbl_name} ({header_str}) AS
+                     VALUES
+                        {data}
+                     """.
+                     format(tbl_name=tbl_name, header_str=header_str, data=data))
 
 
 class _ValidationArgs(object):