Hello,
I detected a failure of computation when using madlib.multinom function.
Is there anything wrong with my procedure?
====================================
- Issue description
madlib.multinom failed with the following message:
> WARNING: Hessian or gradient is not finite.
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> The connection to the server was lost. Attempting reset: Failed.
- Library
This issue happens in the following environment:
1. madlib 1.9.1 + PostgreSQL 9.5
2. madlib 1.10 + PostgreSQL 9.6
- Expectation
The result should be:
1. Success computing the model
2. Success building a model that can predict output precisely.
(Because this is quite simple use case)
- Procedure to reproduce this issue
1. Prepare the following table:
testdb=# select * from mactbl_mini;
ap1 | ap2 | ap3 | floor | id
-----+-----+-----+-------+----
-90 | -86 | 0 | 601 | 1
-84 | 0 | 0 | 601 | 2
-83 | 0 | 0 | 601 | 3
0 | -72 | -84 | 601 | 6
0 | 0 | -89 | 602 | 7
0 | 0 | 0 | 602 | 8
0 | -85 | 0 | 603 | 43
(7 rows)
2. Compute a model to predict floor with ap by using madlib.multinom
testdb=# drop table mactbl_output;
DROP TABLE
testdb=# drop table mactbl_output_summary;
DROP TABLE
testdb=#
testdb=# SELECT madlib.multinom('mactbl_mini',
testdb(# 'mactbl_output',
testdb(# 'floor',
testdb(# 'ARRAY[1,
testdb'# ap1,
testdb'# ap2,
testdb'# ap3]',
testdb(# '601',
testdb(# 'logit');
WARNING: Hessian or gradient is not finite.
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!>
When I changed some parameter, it successed.
- Set '602' or '603' to ref_category. [Success]
- Change max_iter from 100(default) to 10. [Success]
====================================
Thanks in advance.
--
Atsushi Neki