[ 
https://issues.apache.org/jira/browse/MADLIB-1471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Frank McQuillan closed MADLIB-1471.
-----------------------------------
    Resolution: Fixed

https://github.com/apache/madlib/pull/557

> MLP weights param not working
> -----------------------------
>
>                 Key: MADLIB-1471
>                 URL: https://issues.apache.org/jira/browse/MADLIB-1471
>             Project: Apache MADlib
>          Issue Type: New Feature
>          Components: Module: Neural Networks
>            Reporter: Frank McQuillan
>            Priority: Major
>             Fix For: v1.18.0
>
>
> Weights function not working for MLP with weight as numeric type:
> {code}
> DROP TABLE IF EXISTS temp1;
> CREATE TABLE temp1(
>     id serial,
>     attributes numeric[],
>     class_text varchar,
>     row_weight numeric
> );
> INSERT INTO temp1(id, attributes, class_text, row_weight) VALUES
> (1,ARRAY[5.1,3.5,1.4,0.2],'Iris-setosa', 1.0),
> (2,ARRAY[4.9,3.0,1.4,0.2],'Iris-setosa', 1.0),
> (3,ARRAY[4.7,3.2,1.3,0.2],'Iris-setosa', 1.0),
> (4,ARRAY[4.6,3.1,1.5,0.2],'Iris-setosa', 1.0),
> (5,ARRAY[5.0,3.6,1.4,0.2],'Iris-setosa', 1.0),
> (6,ARRAY[5.4,3.9,1.7,0.4],'Iris-setosa', 1.0),
> (7,ARRAY[4.6,3.4,1.4,0.3],'Iris-setosa', 1.0),
> (8,ARRAY[5.0,3.4,1.5,0.2],'Iris-setosa', 1.0),
> (9,ARRAY[4.4,2.9,1.4,0.2],'Iris-setosa', 1.0),
> (10,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa', 1.0),
> (11,ARRAY[5.4,3.7,1.5,0.2],'Iris-setosa', 1.0),
> (12,ARRAY[4.8,3.4,1.6,0.2],'Iris-setosa', 1.0),
> (13,ARRAY[4.8,3.0,1.4,0.1],'Iris-setosa', 1.0),
> (14,ARRAY[4.3,3.0,1.1,0.1],'Iris-setosa', 1.0),
> (15,ARRAY[5.8,4.0,1.2,0.2],'Iris-setosa', 1.0),
> (16,ARRAY[5.7,4.4,1.5,0.4],'Iris-setosa', 1.0),
> (17,ARRAY[5.4,3.9,1.3,0.4],'Iris-setosa', 1.0),
> (18,ARRAY[5.1,3.5,1.4,0.3],'Iris-setosa', 1.0),
> (19,ARRAY[5.7,3.8,1.7,0.3],'Iris-setosa', 1.0),
> (20,ARRAY[5.1,3.8,1.5,0.3],'Iris-setosa', 1.0),
> (21,ARRAY[5.4,3.4,1.7,0.2],'Iris-setosa', 1.0),
> (22,ARRAY[5.1,3.7,1.5,0.4],'Iris-setosa', 1.0),
> (23,ARRAY[4.6,3.6,1.0,0.2],'Iris-setosa', 1.0),
> (24,ARRAY[5.1,3.3,1.7,0.5],'Iris-setosa', 1.0),
> (25,ARRAY[4.8,3.4,1.9,0.2],'Iris-setosa', 1.0),
> (26,ARRAY[5.0,3.0,1.6,0.2],'Iris-setosa', 1.0),
> (27,ARRAY[5.0,3.4,1.6,0.4],'Iris-setosa', 1.0),
> (28,ARRAY[5.2,3.5,1.5,0.2],'Iris-setosa', 1.0),
> (29,ARRAY[5.2,3.4,1.4,0.2],'Iris-setosa', 1.0),
> (30,ARRAY[4.7,3.2,1.6,0.2],'Iris-setosa', 1.0),
> (31,ARRAY[4.8,3.1,1.6,0.2],'Iris-setosa', 1.0),
> (32,ARRAY[5.4,3.4,1.5,0.4],'Iris-setosa', 1.0),
> (33,ARRAY[5.2,4.1,1.5,0.1],'Iris-setosa', 1.0),
> (34,ARRAY[5.5,4.2,1.4,0.2],'Iris-setosa', 1.0),
> (35,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa', 1.0),
> (36,ARRAY[5.0,3.2,1.2,0.2],'Iris-setosa', 1.0),
> (37,ARRAY[5.5,3.5,1.3,0.2],'Iris-setosa', 1.0),
> (38,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa', 1.0),
> (39,ARRAY[4.4,3.0,1.3,0.2],'Iris-setosa', 1.0),
> (40,ARRAY[5.1,3.4,1.5,0.2],'Iris-setosa', 1.0),
> (41,ARRAY[5.0,3.5,1.3,0.3],'Iris-setosa', 1.0),
> (42,ARRAY[4.5,2.3,1.3,0.3],'Iris-setosa', 1.0),
> (43,ARRAY[4.4,3.2,1.3,0.2],'Iris-setosa', 1.0),
> (44,ARRAY[5.0,3.5,1.6,0.6],'Iris-setosa', 1.0),
> (45,ARRAY[5.1,3.8,1.9,0.4],'Iris-setosa', 1.0),
> (46,ARRAY[4.8,3.0,1.4,0.3],'Iris-setosa', 1.0),
> (47,ARRAY[5.1,3.8,1.6,0.2],'Iris-setosa', 1.0),
> (48,ARRAY[4.6,3.2,1.4,0.2],'Iris-setosa', 1.0),
> (49,ARRAY[5.3,3.7,1.5,0.2],'Iris-setosa', 1.0),
> (50,ARRAY[5.0,3.3,1.4,0.2],'Iris-setosa', 1.0),
> (51,ARRAY[7.0,3.2,4.7,1.4],'Iris-versicolor', 1.0),
> (52,ARRAY[6.4,3.2,4.5,1.5],'Iris-versicolor', 1.0),
> (53,ARRAY[6.9,3.1,4.9,1.5],'Iris-versicolor', 1.0),
> (54,ARRAY[5.5,2.3,4.0,1.3],'Iris-versicolor', 1.0),
> (55,ARRAY[6.5,2.8,4.6,1.5],'Iris-versicolor', 1.0),
> (56,ARRAY[5.7,2.8,4.5,1.3],'Iris-versicolor', 1.0),
> (57,ARRAY[6.3,3.3,4.7,1.6],'Iris-versicolor', 1.0),
> (58,ARRAY[4.9,2.4,3.3,1.0],'Iris-versicolor', 1.0),
> (59,ARRAY[6.6,2.9,4.6,1.3],'Iris-versicolor', 1.0),
> (60,ARRAY[5.2,2.7,3.9,1.4],'Iris-versicolor', 1.0),
> (61,ARRAY[5.0,2.0,3.5,1.0],'Iris-versicolor', 1.0),
> (62,ARRAY[5.9,3.0,4.2,1.5],'Iris-versicolor', 1.0),
> (63,ARRAY[6.0,2.2,4.0,1.0],'Iris-versicolor', 1.0),
> (64,ARRAY[6.1,2.9,4.7,1.4],'Iris-versicolor', 1.0),
> (65,ARRAY[5.6,2.9,3.6,1.3],'Iris-versicolor', 1.0),
> (66,ARRAY[6.7,3.1,4.4,1.4],'Iris-versicolor', 1.0),
> (67,ARRAY[5.6,3.0,4.5,1.5],'Iris-versicolor', 1.0),
> (68,ARRAY[5.8,2.7,4.1,1.0],'Iris-versicolor', 1.0),
> (69,ARRAY[6.2,2.2,4.5,1.5],'Iris-versicolor', 1.0),
> (70,ARRAY[5.6,2.5,3.9,1.1],'Iris-versicolor', 1.0),
> (71,ARRAY[5.9,3.2,4.8,1.8],'Iris-versicolor', 1.0),
> (72,ARRAY[6.1,2.8,4.0,1.3],'Iris-versicolor', 1.0),
> (73,ARRAY[6.3,2.5,4.9,1.5],'Iris-versicolor', 1.0),
> (74,ARRAY[6.1,2.8,4.7,1.2],'Iris-versicolor', 1.0),
> (75,ARRAY[6.4,2.9,4.3,1.3],'Iris-versicolor', 1.0),
> (76,ARRAY[6.6,3.0,4.4,1.4],'Iris-versicolor', 1.0),
> (77,ARRAY[6.8,2.8,4.8,1.4],'Iris-versicolor', 1.0),
> (78,ARRAY[6.7,3.0,5.0,1.7],'Iris-versicolor', 1.0),
> (79,ARRAY[6.0,2.9,4.5,1.5],'Iris-versicolor', 1.0),
> (80,ARRAY[5.7,2.6,3.5,1.0],'Iris-versicolor', 1.0),
> (81,ARRAY[5.5,2.4,3.8,1.1],'Iris-versicolor', 1.0),
> (82,ARRAY[5.5,2.4,3.7,1.0],'Iris-versicolor', 1.0),
> (83,ARRAY[5.8,2.7,3.9,1.2],'Iris-versicolor', 1.0),
> (84,ARRAY[6.0,2.7,5.1,1.6],'Iris-versicolor', 1.0),
> (85,ARRAY[5.4,3.0,4.5,1.5],'Iris-versicolor', 1.0),
> (86,ARRAY[6.0,3.4,4.5,1.6],'Iris-versicolor', 1.0),
> (87,ARRAY[6.7,3.1,4.7,1.5],'Iris-versicolor', 1.0),
> (88,ARRAY[6.3,2.3,4.4,1.3],'Iris-versicolor', 1.0),
> (89,ARRAY[5.6,3.0,4.1,1.3],'Iris-versicolor', 1.0),
> (90,ARRAY[5.5,2.5,4.0,1.3],'Iris-versicolor', 1.0),
> (91,ARRAY[5.5,2.6,4.4,1.2],'Iris-versicolor', 1.0),
> (92,ARRAY[6.1,3.0,4.6,1.4],'Iris-versicolor', 1.0),
> (93,ARRAY[5.8,2.6,4.0,1.2],'Iris-versicolor', 1.0),
> (94,ARRAY[5.0,2.3,3.3,1.0],'Iris-versicolor', 1.0),
> (95,ARRAY[5.6,2.7,4.2,1.3],'Iris-versicolor', 1.0),
> (96,ARRAY[5.7,3.0,4.2,1.2],'Iris-versicolor', 1.0),
> (97,ARRAY[5.7,2.9,4.2,1.3],'Iris-versicolor', 1.0),
> (98,ARRAY[6.2,2.9,4.3,1.3],'Iris-versicolor', 1.0),
> (99,ARRAY[5.1,2.5,3.0,1.1],'Iris-versicolor', 1.0),
> (100,ARRAY[5.7,2.8,4.1,1.3],'Iris-versicolor', 1.0),
> (101,ARRAY[6.3,3.3,6.0,2.5],'Iris-virginica', 1.0),
> (102,ARRAY[5.8,2.7,5.1,1.9],'Iris-virginica', 1.0),
> (103,ARRAY[7.1,3.0,5.9,2.1],'Iris-virginica', 1.0),
> (104,ARRAY[6.3,2.9,5.6,1.8],'Iris-virginica', 1.0),
> (105,ARRAY[6.5,3.0,5.8,2.2],'Iris-virginica', 1.0),
> (106,ARRAY[7.6,3.0,6.6,2.1],'Iris-virginica', 1.0),
> (107,ARRAY[4.9,2.5,4.5,1.7],'Iris-virginica', 1.0),
> (108,ARRAY[7.3,2.9,6.3,1.8],'Iris-virginica', 1.0),
> (109,ARRAY[6.7,2.5,5.8,1.8],'Iris-virginica', 1.0),
> (110,ARRAY[7.2,3.6,6.1,2.5],'Iris-virginica', 1.0),
> (111,ARRAY[6.5,3.2,5.1,2.0],'Iris-virginica', 1.0),
> (112,ARRAY[6.4,2.7,5.3,1.9],'Iris-virginica', 1.0),
> (113,ARRAY[6.8,3.0,5.5,2.1],'Iris-virginica', 1.0),
> (114,ARRAY[5.7,2.5,5.0,2.0],'Iris-virginica', 1.0),
> (115,ARRAY[5.8,2.8,5.1,2.4],'Iris-virginica', 1.0),
> (116,ARRAY[6.4,3.2,5.3,2.3],'Iris-virginica', 1.0),
> (117,ARRAY[6.5,3.0,5.5,1.8],'Iris-virginica', 1.0),
> (118,ARRAY[7.7,3.8,6.7,2.2],'Iris-virginica', 1.0),
> (119,ARRAY[7.7,2.6,6.9,2.3],'Iris-virginica', 1.0),
> (120,ARRAY[6.0,2.2,5.0,1.5],'Iris-virginica', 1.0),
> (121,ARRAY[6.9,3.2,5.7,2.3],'Iris-virginica', 1.0),
> (122,ARRAY[5.6,2.8,4.9,2.0],'Iris-virginica', 1.0),
> (123,ARRAY[7.7,2.8,6.7,2.0],'Iris-virginica', 1.0),
> (124,ARRAY[6.3,2.7,4.9,1.8],'Iris-virginica', 1.0),
> (125,ARRAY[6.7,3.3,5.7,2.1],'Iris-virginica', 1.0),
> (126,ARRAY[7.2,3.2,6.0,1.8],'Iris-virginica', 1.0),
> (127,ARRAY[6.2,2.8,4.8,1.8],'Iris-virginica', 1.0),
> (128,ARRAY[6.1,3.0,4.9,1.8],'Iris-virginica', 1.0),
> (129,ARRAY[6.4,2.8,5.6,2.1],'Iris-virginica', 1.0),
> (130,ARRAY[7.2,3.0,5.8,1.6],'Iris-virginica', 1.0),
> (131,ARRAY[7.4,2.8,6.1,1.9],'Iris-virginica', 1.0),
> (132,ARRAY[7.9,3.8,6.4,2.0],'Iris-virginica', 1.0),
> (133,ARRAY[6.4,2.8,5.6,2.2],'Iris-virginica', 1.0),
> (134,ARRAY[6.3,2.8,5.1,1.5],'Iris-virginica', 1.0),
> (135,ARRAY[6.1,2.6,5.6,1.4],'Iris-virginica', 1.0),
> (136,ARRAY[7.7,3.0,6.1,2.3],'Iris-virginica', 1.0),
> (137,ARRAY[6.3,3.4,5.6,2.4],'Iris-virginica', 1.0),
> (138,ARRAY[6.4,3.1,5.5,1.8],'Iris-virginica', 1.0),
> (139,ARRAY[6.0,3.0,4.8,1.8],'Iris-virginica', 1.0),
> (140,ARRAY[6.9,3.1,5.4,2.1],'Iris-virginica', 1.0),
> (141,ARRAY[6.7,3.1,5.6,2.4],'Iris-virginica', 1.0),
> (142,ARRAY[6.9,3.1,5.1,2.3],'Iris-virginica', 1.0),
> (143,ARRAY[5.8,2.7,5.1,1.9],'Iris-virginica', 1.0),
> (144,ARRAY[6.8,3.2,5.9,2.3],'Iris-virginica', 1.0),
> (145,ARRAY[6.7,3.3,5.7,2.5],'Iris-virginica', 1.0),
> (146,ARRAY[6.7,3.0,5.2,2.3],'Iris-virginica', 1.0),
> (147,ARRAY[6.3,2.5,5.0,1.9],'Iris-virginica', 1.0),
> (148,ARRAY[6.5,3.0,5.2,2.0],'Iris-virginica', 1.0),
> (149,ARRAY[6.2,3.4,5.4,2.3],'Iris-virginica', 1.0),
> (150,ARRAY[5.9,3.0,5.1,1.8],'Iris-virginica', 1.0);
> DROP TABLE IF EXISTS mlp_model, mlp_model_summary, mlp_model_standardization;
> -- Set seed so results are reproducible
> SELECT setseed(0);
> SELECT madlib.mlp_classification(
>     'temp1',      -- Source table
>     'mlp_model',      -- Destination table
>     'attributes',     -- Input features
>     'class_text',     -- Label
>     ARRAY[5],         -- Number of units per layer
>     'learning_rate_init=0.003,
>     n_iterations=500,
>     tolerance=0',     -- Optimizer params
>     'tanh',           -- Activation function
>     'row_weight',             -- Weight
>     FALSE,            -- No warm start
>     FALSE             -- Not verbose
> );
> {code}
> produces
> {code}
> ERROR:  plpy.Error: MLP error: Weights should be a numeric type
> CONTEXT:  Traceback (most recent call last):
>   PL/Python function "mlp_classification", line 33, in <module>
>     grouping_col)
>   PL/Python function "mlp_classification", line 42, in wrapper
>   PL/Python function "mlp_classification", line 116, in mlp
>   PL/Python function "mlp_classification", line 740, in 
> _validate_params_based_on_minibatch
>   PL/Python function "mlp_classification", line 123, in _assert
> PL/Python function "mlp_classification"
> {code}
> Also error with weight as double precision type:
> {code}
> DROP TABLE IF EXISTS temp1;
> CREATE TABLE temp1(
>     id serial,
>     attributes numeric[],
>     class_text varchar,
>     row_weight double precision
> );
> INSERT INTO temp1(id, attributes, class_text, row_weight) VALUES
> (1,ARRAY[5.1,3.5,1.4,0.2],'Iris-setosa', 1.0),
> (2,ARRAY[4.9,3.0,1.4,0.2],'Iris-setosa', 1.0),
> (3,ARRAY[4.7,3.2,1.3,0.2],'Iris-setosa', 1.0),
> (4,ARRAY[4.6,3.1,1.5,0.2],'Iris-setosa', 1.0),
> (5,ARRAY[5.0,3.6,1.4,0.2],'Iris-setosa', 1.0),
> (6,ARRAY[5.4,3.9,1.7,0.4],'Iris-setosa', 1.0),
> (7,ARRAY[4.6,3.4,1.4,0.3],'Iris-setosa', 1.0),
> (8,ARRAY[5.0,3.4,1.5,0.2],'Iris-setosa', 1.0),
> (9,ARRAY[4.4,2.9,1.4,0.2],'Iris-setosa', 1.0),
> (10,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa', 1.0),
> (11,ARRAY[5.4,3.7,1.5,0.2],'Iris-setosa', 1.0),
> (12,ARRAY[4.8,3.4,1.6,0.2],'Iris-setosa', 1.0),
> (13,ARRAY[4.8,3.0,1.4,0.1],'Iris-setosa', 1.0),
> (14,ARRAY[4.3,3.0,1.1,0.1],'Iris-setosa', 1.0),
> (15,ARRAY[5.8,4.0,1.2,0.2],'Iris-setosa', 1.0),
> (16,ARRAY[5.7,4.4,1.5,0.4],'Iris-setosa', 1.0),
> (17,ARRAY[5.4,3.9,1.3,0.4],'Iris-setosa', 1.0),
> (18,ARRAY[5.1,3.5,1.4,0.3],'Iris-setosa', 1.0),
> (19,ARRAY[5.7,3.8,1.7,0.3],'Iris-setosa', 1.0),
> (20,ARRAY[5.1,3.8,1.5,0.3],'Iris-setosa', 1.0),
> (21,ARRAY[5.4,3.4,1.7,0.2],'Iris-setosa', 1.0),
> (22,ARRAY[5.1,3.7,1.5,0.4],'Iris-setosa', 1.0),
> (23,ARRAY[4.6,3.6,1.0,0.2],'Iris-setosa', 1.0),
> (24,ARRAY[5.1,3.3,1.7,0.5],'Iris-setosa', 1.0),
> (25,ARRAY[4.8,3.4,1.9,0.2],'Iris-setosa', 1.0),
> (26,ARRAY[5.0,3.0,1.6,0.2],'Iris-setosa', 1.0),
> (27,ARRAY[5.0,3.4,1.6,0.4],'Iris-setosa', 1.0),
> (28,ARRAY[5.2,3.5,1.5,0.2],'Iris-setosa', 1.0),
> (29,ARRAY[5.2,3.4,1.4,0.2],'Iris-setosa', 1.0),
> (30,ARRAY[4.7,3.2,1.6,0.2],'Iris-setosa', 1.0),
> (31,ARRAY[4.8,3.1,1.6,0.2],'Iris-setosa', 1.0),
> (32,ARRAY[5.4,3.4,1.5,0.4],'Iris-setosa', 1.0),
> (33,ARRAY[5.2,4.1,1.5,0.1],'Iris-setosa', 1.0),
> (34,ARRAY[5.5,4.2,1.4,0.2],'Iris-setosa', 1.0),
> (35,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa', 1.0),
> (36,ARRAY[5.0,3.2,1.2,0.2],'Iris-setosa', 1.0),
> (37,ARRAY[5.5,3.5,1.3,0.2],'Iris-setosa', 1.0),
> (38,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa', 1.0),
> (39,ARRAY[4.4,3.0,1.3,0.2],'Iris-setosa', 1.0),
> (40,ARRAY[5.1,3.4,1.5,0.2],'Iris-setosa', 1.0),
> (41,ARRAY[5.0,3.5,1.3,0.3],'Iris-setosa', 1.0),
> (42,ARRAY[4.5,2.3,1.3,0.3],'Iris-setosa', 1.0),
> (43,ARRAY[4.4,3.2,1.3,0.2],'Iris-setosa', 1.0),
> (44,ARRAY[5.0,3.5,1.6,0.6],'Iris-setosa', 1.0),
> (45,ARRAY[5.1,3.8,1.9,0.4],'Iris-setosa', 1.0),
> (46,ARRAY[4.8,3.0,1.4,0.3],'Iris-setosa', 1.0),
> (47,ARRAY[5.1,3.8,1.6,0.2],'Iris-setosa', 1.0),
> (48,ARRAY[4.6,3.2,1.4,0.2],'Iris-setosa', 1.0),
> (49,ARRAY[5.3,3.7,1.5,0.2],'Iris-setosa', 1.0),
> (50,ARRAY[5.0,3.3,1.4,0.2],'Iris-setosa', 1.0),
> (51,ARRAY[7.0,3.2,4.7,1.4],'Iris-versicolor', 1.0),
> (52,ARRAY[6.4,3.2,4.5,1.5],'Iris-versicolor', 1.0),
> (53,ARRAY[6.9,3.1,4.9,1.5],'Iris-versicolor', 1.0),
> (54,ARRAY[5.5,2.3,4.0,1.3],'Iris-versicolor', 1.0),
> (55,ARRAY[6.5,2.8,4.6,1.5],'Iris-versicolor', 1.0),
> (56,ARRAY[5.7,2.8,4.5,1.3],'Iris-versicolor', 1.0),
> (57,ARRAY[6.3,3.3,4.7,1.6],'Iris-versicolor', 1.0),
> (58,ARRAY[4.9,2.4,3.3,1.0],'Iris-versicolor', 1.0),
> (59,ARRAY[6.6,2.9,4.6,1.3],'Iris-versicolor', 1.0),
> (60,ARRAY[5.2,2.7,3.9,1.4],'Iris-versicolor', 1.0),
> (61,ARRAY[5.0,2.0,3.5,1.0],'Iris-versicolor', 1.0),
> (62,ARRAY[5.9,3.0,4.2,1.5],'Iris-versicolor', 1.0),
> (63,ARRAY[6.0,2.2,4.0,1.0],'Iris-versicolor', 1.0),
> (64,ARRAY[6.1,2.9,4.7,1.4],'Iris-versicolor', 1.0),
> (65,ARRAY[5.6,2.9,3.6,1.3],'Iris-versicolor', 1.0),
> (66,ARRAY[6.7,3.1,4.4,1.4],'Iris-versicolor', 1.0),
> (67,ARRAY[5.6,3.0,4.5,1.5],'Iris-versicolor', 1.0),
> (68,ARRAY[5.8,2.7,4.1,1.0],'Iris-versicolor', 1.0),
> (69,ARRAY[6.2,2.2,4.5,1.5],'Iris-versicolor', 1.0),
> (70,ARRAY[5.6,2.5,3.9,1.1],'Iris-versicolor', 1.0),
> (71,ARRAY[5.9,3.2,4.8,1.8],'Iris-versicolor', 1.0),
> (72,ARRAY[6.1,2.8,4.0,1.3],'Iris-versicolor', 1.0),
> (73,ARRAY[6.3,2.5,4.9,1.5],'Iris-versicolor', 1.0),
> (74,ARRAY[6.1,2.8,4.7,1.2],'Iris-versicolor', 1.0),
> (75,ARRAY[6.4,2.9,4.3,1.3],'Iris-versicolor', 1.0),
> (76,ARRAY[6.6,3.0,4.4,1.4],'Iris-versicolor', 1.0),
> (77,ARRAY[6.8,2.8,4.8,1.4],'Iris-versicolor', 1.0),
> (78,ARRAY[6.7,3.0,5.0,1.7],'Iris-versicolor', 1.0),
> (79,ARRAY[6.0,2.9,4.5,1.5],'Iris-versicolor', 1.0),
> (80,ARRAY[5.7,2.6,3.5,1.0],'Iris-versicolor', 1.0),
> (81,ARRAY[5.5,2.4,3.8,1.1],'Iris-versicolor', 1.0),
> (82,ARRAY[5.5,2.4,3.7,1.0],'Iris-versicolor', 1.0),
> (83,ARRAY[5.8,2.7,3.9,1.2],'Iris-versicolor', 1.0),
> (84,ARRAY[6.0,2.7,5.1,1.6],'Iris-versicolor', 1.0),
> (85,ARRAY[5.4,3.0,4.5,1.5],'Iris-versicolor', 1.0),
> (86,ARRAY[6.0,3.4,4.5,1.6],'Iris-versicolor', 1.0),
> (87,ARRAY[6.7,3.1,4.7,1.5],'Iris-versicolor', 1.0),
> (88,ARRAY[6.3,2.3,4.4,1.3],'Iris-versicolor', 1.0),
> (89,ARRAY[5.6,3.0,4.1,1.3],'Iris-versicolor', 1.0),
> (90,ARRAY[5.5,2.5,4.0,1.3],'Iris-versicolor', 1.0),
> (91,ARRAY[5.5,2.6,4.4,1.2],'Iris-versicolor', 1.0),
> (92,ARRAY[6.1,3.0,4.6,1.4],'Iris-versicolor', 1.0),
> (93,ARRAY[5.8,2.6,4.0,1.2],'Iris-versicolor', 1.0),
> (94,ARRAY[5.0,2.3,3.3,1.0],'Iris-versicolor', 1.0),
> (95,ARRAY[5.6,2.7,4.2,1.3],'Iris-versicolor', 1.0),
> (96,ARRAY[5.7,3.0,4.2,1.2],'Iris-versicolor', 1.0),
> (97,ARRAY[5.7,2.9,4.2,1.3],'Iris-versicolor', 1.0),
> (98,ARRAY[6.2,2.9,4.3,1.3],'Iris-versicolor', 1.0),
> (99,ARRAY[5.1,2.5,3.0,1.1],'Iris-versicolor', 1.0),
> (100,ARRAY[5.7,2.8,4.1,1.3],'Iris-versicolor', 1.0),
> (101,ARRAY[6.3,3.3,6.0,2.5],'Iris-virginica', 1.0),
> (102,ARRAY[5.8,2.7,5.1,1.9],'Iris-virginica', 1.0),
> (103,ARRAY[7.1,3.0,5.9,2.1],'Iris-virginica', 1.0),
> (104,ARRAY[6.3,2.9,5.6,1.8],'Iris-virginica', 1.0),
> (105,ARRAY[6.5,3.0,5.8,2.2],'Iris-virginica', 1.0),
> (106,ARRAY[7.6,3.0,6.6,2.1],'Iris-virginica', 1.0),
> (107,ARRAY[4.9,2.5,4.5,1.7],'Iris-virginica', 1.0),
> (108,ARRAY[7.3,2.9,6.3,1.8],'Iris-virginica', 1.0),
> (109,ARRAY[6.7,2.5,5.8,1.8],'Iris-virginica', 1.0),
> (110,ARRAY[7.2,3.6,6.1,2.5],'Iris-virginica', 1.0),
> (111,ARRAY[6.5,3.2,5.1,2.0],'Iris-virginica', 1.0),
> (112,ARRAY[6.4,2.7,5.3,1.9],'Iris-virginica', 1.0),
> (113,ARRAY[6.8,3.0,5.5,2.1],'Iris-virginica', 1.0),
> (114,ARRAY[5.7,2.5,5.0,2.0],'Iris-virginica', 1.0),
> (115,ARRAY[5.8,2.8,5.1,2.4],'Iris-virginica', 1.0),
> (116,ARRAY[6.4,3.2,5.3,2.3],'Iris-virginica', 1.0),
> (117,ARRAY[6.5,3.0,5.5,1.8],'Iris-virginica', 1.0),
> (118,ARRAY[7.7,3.8,6.7,2.2],'Iris-virginica', 1.0),
> (119,ARRAY[7.7,2.6,6.9,2.3],'Iris-virginica', 1.0),
> (120,ARRAY[6.0,2.2,5.0,1.5],'Iris-virginica', 1.0),
> (121,ARRAY[6.9,3.2,5.7,2.3],'Iris-virginica', 1.0),
> (122,ARRAY[5.6,2.8,4.9,2.0],'Iris-virginica', 1.0),
> (123,ARRAY[7.7,2.8,6.7,2.0],'Iris-virginica', 1.0),
> (124,ARRAY[6.3,2.7,4.9,1.8],'Iris-virginica', 1.0),
> (125,ARRAY[6.7,3.3,5.7,2.1],'Iris-virginica', 1.0),
> (126,ARRAY[7.2,3.2,6.0,1.8],'Iris-virginica', 1.0),
> (127,ARRAY[6.2,2.8,4.8,1.8],'Iris-virginica', 1.0),
> (128,ARRAY[6.1,3.0,4.9,1.8],'Iris-virginica', 1.0),
> (129,ARRAY[6.4,2.8,5.6,2.1],'Iris-virginica', 1.0),
> (130,ARRAY[7.2,3.0,5.8,1.6],'Iris-virginica', 1.0),
> (131,ARRAY[7.4,2.8,6.1,1.9],'Iris-virginica', 1.0),
> (132,ARRAY[7.9,3.8,6.4,2.0],'Iris-virginica', 1.0),
> (133,ARRAY[6.4,2.8,5.6,2.2],'Iris-virginica', 1.0),
> (134,ARRAY[6.3,2.8,5.1,1.5],'Iris-virginica', 1.0),
> (135,ARRAY[6.1,2.6,5.6,1.4],'Iris-virginica', 1.0),
> (136,ARRAY[7.7,3.0,6.1,2.3],'Iris-virginica', 1.0),
> (137,ARRAY[6.3,3.4,5.6,2.4],'Iris-virginica', 1.0),
> (138,ARRAY[6.4,3.1,5.5,1.8],'Iris-virginica', 1.0),
> (139,ARRAY[6.0,3.0,4.8,1.8],'Iris-virginica', 1.0),
> (140,ARRAY[6.9,3.1,5.4,2.1],'Iris-virginica', 1.0),
> (141,ARRAY[6.7,3.1,5.6,2.4],'Iris-virginica', 1.0),
> (142,ARRAY[6.9,3.1,5.1,2.3],'Iris-virginica', 1.0),
> (143,ARRAY[5.8,2.7,5.1,1.9],'Iris-virginica', 1.0),
> (144,ARRAY[6.8,3.2,5.9,2.3],'Iris-virginica', 1.0),
> (145,ARRAY[6.7,3.3,5.7,2.5],'Iris-virginica', 1.0),
> (146,ARRAY[6.7,3.0,5.2,2.3],'Iris-virginica', 1.0),
> (147,ARRAY[6.3,2.5,5.0,1.9],'Iris-virginica', 1.0),
> (148,ARRAY[6.5,3.0,5.2,2.0],'Iris-virginica', 1.0),
> (149,ARRAY[6.2,3.4,5.4,2.3],'Iris-virginica', 1.0),
> (150,ARRAY[5.9,3.0,5.1,1.8],'Iris-virginica', 1.0);
> DROP TABLE IF EXISTS mlp_model, mlp_model_summary, mlp_model_standardization;
> -- Set seed so results are reproducible
> SELECT setseed(0);
> SELECT madlib.mlp_classification(
>     'temp1',      -- Source table
>     'mlp_model',      -- Destination table
>     'attributes',     -- Input features
>     'class_text',     -- Label
>     ARRAY[5],         -- Number of units per layer
>     'learning_rate_init=0.003,
>     n_iterations=500,
>     tolerance=0',     -- Optimizer params
>     'tanh',           -- Activation function
>     'row_weight',             -- Weight
>     FALSE,            -- No warm start
>     FALSE             -- Not verbose
> );
> {code}
> produces
> {code}
> ERROR:  spiexceptions.UndefinedColumn: column "row_weight" does not exist
> LINE 15:                             (row_weight)::DOUBLE PRECISION,
>                                       ^
> QUERY:  
>             SELECT
>                 array_to_string(ARRAY[Null], ',') AS 
> __madlib_temp_col_grp_key37112385_1614190822_33660952__,
>                 NULL,
>                 1 AS 
> __madlib_temp_col_grp_iteration8055158_1614190822_5448717__,
>                 (
>                         madlib.mlp_igd_step(
>                             
> (__madlib_temp_ind_var_norm9652667_1614190822_1337450__)::DOUBLE PRECISION[],
>                             
> (ARRAY[(__madlib_temp_dep_var_norm15181682_1614190822_42979282__) = 
> 'Iris-setosa', (__madlib_temp_dep_var_norm15181682_1614190822_42979282__) = 
> 'Iris-versicolor', (__madlib_temp_dep_var_norm15181682_1614190822_42979282__) 
> = 'Iris-virginica']::INTEGER[])::DOUBLE PRECISION[],
>                             
> __madlib_temp_rel_state63146625_1614190822_28739242__.__madlib_temp_col_grp_state22029204_1614190822_47058640__,
>                             ARRAY[ 4,5,3 ]::DOUBLE PRECISION[],
>                             (0.003)::FLOAT8,
>                             2,
>                             1,
>                             (row_weight)::DOUBLE PRECISION,
>                             (NULL::DOUBLE PRECISION[])::DOUBLE PRECISION[],
>                             0,
>                             0.9::FLOAT8,
>                             True::boolean
>                         )
>                         ) AS 
> __madlib_temp_col_grp_state22029204_1614190822_47058640__
>             FROM (
>                 SELECT *,
>                     array_to_string(ARRAY[Null], ',') AS 
> __madlib_temp_col_grp_key37112385_1614190822_33660952__
>                 FROM 
> __madlib_temp_tbl_data_scaled79575459_1614190822_3285917__
>             ) AS _src
>             JOIN ( SELECT grp_key AS 
> __madlib_temp_col_grp_key37112385_1614190822_33660952__,state AS 
> __madlib_temp_col_grp_state22029204_1614190822_47058640__ FROM 
> madlib._gen_state($1, NULL, $2) ) AS 
> __madlib_temp_rel_state63146625_1614190822_28739242__
>             ON TRUE
>             JOIN ( SELECT unnest($3) AS 
> __madlib_temp_col_grp_key37112385_1614190822_33660952__, unnest($4) AS 
> __madlib_temp_col_n_tuples70500775_1614190822_4678022__ ) AS _rel_n_tuples
>             ON TRUE
>             
>             
> CONTEXT:  Traceback (most recent call last):
>   PL/Python function "mlp_classification", line 33, in <module>
>     grouping_col)
>   PL/Python function "mlp_classification", line 42, in wrapper
>   PL/Python function "mlp_classification", line 334, in mlp
>   PL/Python function "mlp_classification", line 576, in update
> PL/Python function "mlp_classification"
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to