blob: fdcdb4c6144d4d48b3503345d7f391f439728a5c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#ifndef MSVMMAJ_TRAIN_DATASET_H
#define MSVMMAJ_TRAIN_DATASET_H
#include "globals.h"
#include "types.h"
struct Task {
KernelType kerneltype;
int weight_idx;
long folds;
long ID;
double p;
double kappa;
double lambda;
double epsilon;
double *kernel_param;
struct MajData *train_data;
struct MajData *test_data;
double performance;
};
struct Queue {
struct Task **tasks;
long N;
long i;
};
struct Training {
TrainType traintype;
long repeats;
long folds;
long Np;
long Nl;
long Nk;
long Ne;
long Nw;
int *weight_idxs;
double *ps;
double *lambdas;
double *kappas;
double *epsilons;
char *train_data_file;
char *test_data_file;
};
void make_queue(struct Training *training, struct Queue *queue,
struct MajData *train_data, struct MajData *test_data);
struct Task *get_next_task(struct Queue *q);
void start_training_tt(struct Queue *q);
void start_training_cv(struct Queue *q);
void free_queue(struct Queue *q);
void consistency_repeats(struct Queue *q, long repeats, TrainType traintype);
double cross_validation(struct MajModel *model, struct MajModel *seed_model,
struct MajData *data, long folds);
void make_model_from_task(struct Task *task, struct MajModel *model);
void copy_model(struct MajModel *from, struct MajModel *to);
#endif
|