-
Notifications
You must be signed in to change notification settings - Fork 0
/
SVMData.h
39 lines (32 loc) · 1.2 KB
/
SVMData.h
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
#include <Eigen/Dense>
using namespace Eigen;
extern void deviceInitKernelMatrix(int *trainninst, int *testninst, int *nfeat, double *traindata, double *testdata);
extern void deviceInitTarget(int *h_target, int trainninst, int, int *, int *, int *);
extern void deviceInitInstList(struct Inst *, unsigned *, unsigned, int, int);
extern void deviceInitMu(double, double[]);
extern void deviceInitO(double *, int);
extern void deviceInitTargetTerm(double *, int);
extern void deviceInitUpdateTerm(int, int);
extern void deviceInitTri(int);
extern void deviceInitLabelTrain(struct Inst *, unsigned);
extern void deviceInitLabelTest(struct Inst *, unsigned);
extern void kernelTest(int, int, int, int[], double *, double, double, double[]);
/* ------------------------- SVM dataset class -------------------------------*/
class SVMData{
public:
SVMData(string);
~SVMData();
int nfeat;
int ninst;
Inst *inst;
unsigned typecount[4];
double *data, *data_col;
void readData(const char*, bool, double *);
double *getDataPoint(int);
void getVector(int,VectorXd&);
private:
int getLineNo(const char*);
int getNFeat(const char*);
int stringToInt(string);
double stringToFloat(string);
};