Mercurial > octave-nkf
comparison scripts/statistics/models/logistic_regression.m @ 10635:d1978e7364ad
Print name of function in error() string messages.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Sun, 16 May 2010 22:26:54 -0700 |
parents | 16f53d29049f |
children | 1740012184f9 |
comparison
equal
deleted
inserted
replaced
10634:60542efcfa2c | 10635:d1978e7364ad |
---|---|
94 if (nargin < 2) | 94 if (nargin < 2) |
95 x = zeros (my, 0); | 95 x = zeros (my, 0); |
96 endif; | 96 endif; |
97 [mx, nx] = size (x); | 97 [mx, nx] = size (x); |
98 if (mx != my) | 98 if (mx != my) |
99 error ("x and y must have the same number of observations"); | 99 error ("logistic_regression: x and y must have the same number of observations"); |
100 endif | 100 endif |
101 | 101 |
102 ## initial calculations | 102 ## initial calculations |
103 x = -x; | 103 x = -x; |
104 tol = 1e-6; incr = 10; decr = 2; | 104 tol = 1e-6; incr = 10; decr = 2; |
139 epsilon = epsilon / decr; | 139 epsilon = epsilon / decr; |
140 else | 140 else |
141 while ((dev - devold) / (dl' * (tb - tbold)) > 0) | 141 while ((dev - devold) / (dl' * (tb - tbold)) > 0) |
142 epsilon = epsilon * incr; | 142 epsilon = epsilon * incr; |
143 if (epsilon > 1e+15) | 143 if (epsilon > 1e+15) |
144 error ("epsilon too large"); | 144 error ("logistic_regression: epsilon too large"); |
145 endif | 145 endif |
146 tb = tbold - (d2l - epsilon * eye (size (d2l))) \ dl; | 146 tb = tbold - (d2l - epsilon * eye (size (d2l))) \ dl; |
147 [g, g1, p, dev] = logistic_regression_likelihood (y, x, tb, z, z1); | 147 [g, g1, p, dev] = logistic_regression_likelihood (y, x, tb, z, z1); |
148 disp ("epsilon"); disp (epsilon); | 148 disp ("epsilon"); disp (epsilon); |
149 endwhile | 149 endwhile |