From 4daa9ceb8a9ab5ed483638746baea04f4a4debf9 Mon Sep 17 00:00:00 2001 From: Xiaocheng Tang Date: Fri, 11 Mar 2016 09:49:42 -0800 Subject: [PATCH] SVM: Better null handling in kernel approximations --- src/ports/postgres/modules/svm/kernel_approximation.py_in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ports/postgres/modules/svm/kernel_approximation.py_in b/src/ports/postgres/modules/svm/kernel_approximation.py_in index 190692ef2..242e22dc7 100644 --- a/src/ports/postgres/modules/svm/kernel_approximation.py_in +++ b/src/ports/postgres/modules/svm/kernel_approximation.py_in @@ -303,6 +303,7 @@ class PolyKernel(object): {id_col}, {grouping_col} from {source_table} + WHERE not {schema_madlib}.array_contains_null({independent_varname}) ) q cross join (select {pro.rd_val} from {pro.weights}) as weights cross join (select {pro.rd_val} from {pro.coefs}) as coefs cross join (select {pro.rd_val} from {pro.reps}) as reps @@ -538,6 +539,7 @@ class GaussianKernel(GaussianKernelBase): {id_col}, {grouping_col} from {source_table} + WHERE not {schema_madlib}.array_contains_null({independent_varname}) """.format(**locals()) plpy.execute(run_sql) source_table = source_with_id @@ -688,6 +690,7 @@ class GaussianKernelInMemory(GaussianKernelBase): {id_col}, {grouping_col} from {source_table} + WHERE not {schema_madlib}.array_contains_null({independent_varname}) ) q cross join (select {self.rd_val} from {self.rd_weights}) as rw cross join (select {self.rd_val} from {self.rd_offset}) as ro