|
################################################################################ |
|
# Includes |
|
from ..utils._typedefs cimport intp_t |
|
|
|
cdef extern from "_svm_cython_blas_helpers.h": |
|
ctypedef double (*dot_func)(int, const double*, int, const double*, int) |
|
cdef struct BlasFunctions: |
|
dot_func dot |
|
|
|
|
|
cdef extern from "svm.h": |
|
cdef struct svm_node |
|
cdef struct svm_model |
|
cdef struct svm_parameter: |
|
int svm_type |
|
int kernel_type |
|
int degree # for poly |
|
double gamma # for poly/rbf/sigmoid |
|
double coef0 # for poly/sigmoid |
|
|
|
# these are for training only |
|
double cache_size # in MB |
|
double eps # stopping criteria |
|
double C # for C_SVC, EPSILON_SVR and NU_SVR |
|
int nr_weight # for C_SVC |
|
int *weight_label # for C_SVC |
|
double* weight # for C_SVC |
|
double nu # for NU_SVC, ONE_CLASS, and NU_SVR |
|
double p # for EPSILON_SVR |
|
int shrinking # use the shrinking heuristics |
|
int probability # do probability estimates |
|
int max_iter # ceiling on Solver runtime |
|
int random_seed # seed for random generator in probability estimation |
|
|
|
cdef struct svm_problem: |
|
int l |
|
double *y |
|
svm_node *x |
|
double *W # instance weights |
|
|
|
char *svm_check_parameter(svm_problem *, svm_parameter *) |
|
svm_model *svm_train(svm_problem *, svm_parameter *, int *, BlasFunctions *) nogil |
|
void svm_free_and_destroy_model(svm_model** model_ptr_ptr) |
|
void svm_cross_validation(svm_problem *, svm_parameter *, int nr_fold, double *target, BlasFunctions *) nogil |
|
|
|
|
|
cdef extern from "libsvm_helper.c": |
|
# this file contains methods for accessing libsvm 'hidden' fields |
|
svm_node **dense_to_sparse (char *, intp_t *) |
|
void set_parameter (svm_parameter *, int , int , int , double, double , |
|
double , double , double , double, |
|
double, int, int, int, char *, char *, int, |
|
int) |
|
void set_problem (svm_problem *, char *, char *, char *, intp_t *, int) |
|
|
|
svm_model *set_model (svm_parameter *, int, char *, intp_t *, |
|
char *, intp_t *, intp_t *, char *, |
|
char *, char *, char *, char *) |
|
|
|
void copy_sv_coef (char *, svm_model *) |
|
void copy_n_iter (char *, svm_model *) |
|
void copy_intercept (char *, svm_model *, intp_t *) |
|
void copy_SV (char *, svm_model *, intp_t *) |
|
int copy_support (char *data, svm_model *model) |
|
int copy_predict (char *, svm_model *, intp_t *, char *, BlasFunctions *) nogil |
|
int copy_predict_proba (char *, svm_model *, intp_t *, char *, BlasFunctions *) nogil |
|
int copy_predict_values(char *, svm_model *, intp_t *, char *, int, BlasFunctions *) nogil |
|
void copy_nSV (char *, svm_model *) |
|
void copy_probA (char *, svm_model *, intp_t *) |
|
void copy_probB (char *, svm_model *, intp_t *) |
|
intp_t get_l (svm_model *) |
|
intp_t get_nr (svm_model *) |
|
int free_problem (svm_problem *) |
|
int free_model (svm_model *) |
|
void set_verbosity(int) |
|
|