Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
I get the following integer is out of range error if tree depth / number of trees above some unknown threshold when running rf_classify (in this case 500 trees and tree depth of 20):
Error: 22003: value "3300961000" is out of range for type integer
CONTEXT: PL/pgSQL function "__treemodel_classify_internal" line 154 at execute statement
SQL statement "SELECT madlib.__treemodel_classify_internal ( $1 , $2 , $3 )"
PL/pgSQL function "rf_classify" line 45 at assignment
SQL statement "SELECT madlib.rf_classify ( $1 , $2 , $3 , 'f', 0 )"
PL/pgSQL function "rf_classify" line 4 at assignment
LOCATION: pg_atoi, numutils.c:78
With less trees and less tree depth on the same data no error occurs (100 trees and a tree depth of 10):
- SELECT
[more] - > *
[more] - > FROM madlib.rf_classify('rf_results',
[more] ( > 'rf_test',
[more] ( > 'rf_test_results'
[more] ( > );
-----------------------------------+input_set_size classification_time ---------------
--------------------+6601922 01:25:39.613089 ---------------
--------------------+
(1 row)
Time: 5142356.074 ms
rf_classify also runs way too slow. 1.5 hours for 6.6 million rows?