diff options
| author | Gertjan van den Burg <burg@ese.eur.nl> | 2016-09-20 16:39:32 +0200 |
|---|---|---|
| committer | Gertjan van den Burg <burg@ese.eur.nl> | 2016-09-20 16:39:32 +0200 |
| commit | 6767624ba7ed53b01daec2a654a7f41180c90b90 (patch) | |
| tree | dbd6959bb4980cbe504f04593277644083313d48 /src | |
| parent | Switch to using exit_failure and use of err for errors (diff) | |
| download | gensvm-6767624ba7ed53b01daec2a654a7f41180c90b90.tar.gz gensvm-6767624ba7ed53b01daec2a654a7f41180c90b90.zip | |
Only need model for calculating SVs
Diffstat (limited to 'src')
| -rw-r--r-- | src/gensvm_optimize.c | 2 | ||||
| -rw-r--r-- | src/gensvm_sv.c | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/gensvm_optimize.c b/src/gensvm_optimize.c index 9332995..4f13f50 100644 --- a/src/gensvm_optimize.c +++ b/src/gensvm_optimize.c @@ -94,7 +94,7 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data) note("Optimization finished, iter = %li, loss = %15.16f, " "rel. diff. = %15.16f\n", it-1, L, (Lbar - L)/L); - note("Number of support vectors: %li\n", gensvm_num_sv(model, data)); + note("Number of support vectors: %li\n", gensvm_num_sv(model)); model->training_error = (Lbar - L)/L; diff --git a/src/gensvm_sv.c b/src/gensvm_sv.c index 8a8e6d3..abfb871 100644 --- a/src/gensvm_sv.c +++ b/src/gensvm_sv.c @@ -26,18 +26,18 @@ * @return number of support vectors with this solution * */ -long gensvm_num_sv(struct GenModel *model, struct GenData *data) +long gensvm_num_sv(struct GenModel *model) { long i, j, num_correct, num_sv = 0; double value; - for (i=0; i<data->n; i++) { + for (i=0; i<model->n; i++) { num_correct = 0; - for (j=0; j<data->K; j++) { - value = matrix_get(model->Q, data->K, i, j); + for (j=0; j<model->K; j++) { + value = matrix_get(model->Q, model->K, i, j); num_correct += (value > 1); } - num_sv += (num_correct < data->K - 1); + num_sv += (num_correct < model->K - 1); } return num_sv; |
