/*
 *  classifier.h
 *  classifier
 *
 *  daniel wojcik
 *
 */
 
#ifndef classifier_h_
#define classifier_h_

#include 
#include "dlib/svm.h"

//class category
//0 date (will compute average error)
//1 subject
#define category 0

//relevancy parameters
#define minkeep 1000
#define supportscale 300
#define minidf 0.1

//term scoring parameter
#define scalar 500

//characterization parameter
#define topk 500

//total number of classes (must be at least 1)
#define classtypes 3

//clustering algorithm to use.
//0 is none, classifying based only on class comparisons
//1 is k-neighbors
//2 is svm
//3 is jaccard coefficients
#define clusmet 2



//clustering algorithm parameters
#define neark 2
#define mergeclusters 1
#define maxd 250000
#define penalty 1000

//svm parameters
//default lambda is 0.0001
//default tolerance is 0.01
//default maxvect is 40
#define lambda 0.001
#define maxvect 40
#define tol 0.01

//don't change the map type, but the kernel is
//declared here to allow easy changing of the kernel
typedef std::map sample_type;
typedef dlib::sparse_sigmoid_kernel kernel_type;
//options: polynomial, radial_basis, sigmoid

#endif