source: orange/source/orange/liblinear/linear.h @ 11670:d967a4ceb8b4

Revision 11670:d967a4ceb8b4, 2.0 KB checked in by Björn Esser <bjoern.esser@…>, 8 months ago (diff)

Updated the included LIBLINEAR to version 1.93.

Line 
1#ifndef _LIBLINEAR_H
2#define _LIBLINEAR_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8struct feature_node
9{
10    int index;
11    double value;
12};
13
14struct problem
15{
16    int l, n;
17    double *y;
18    struct feature_node **x;
19    double bias;            /* < 0 if no bias term */ 
20};
21
22enum { L2R_LR, L2R_L2LOSS_SVC_DUAL, L2R_L2LOSS_SVC, L2R_L1LOSS_SVC_DUAL, MCSVM_CS, L1R_L2LOSS_SVC, L1R_LR, L2R_LR_DUAL, L2R_L2LOSS_SVR = 11, L2R_L2LOSS_SVR_DUAL, L2R_L1LOSS_SVR_DUAL }; /* solver_type */
23
24struct parameter
25{
26    int solver_type;
27
28    /* these are for training only */
29    double eps;         /* stopping criteria */
30    double C;
31    int nr_weight;
32    int *weight_label;
33    double* weight;
34    double p;
35};
36
37struct model
38{
39    struct parameter param;
40    int nr_class;       /* number of classes */
41    int nr_feature;
42    double *w;
43    int *label;     /* label of each class */
44    double bias;
45};
46
47struct model* train(const struct problem *prob, const struct parameter *param);
48void cross_validation(const struct problem *prob, const struct parameter *param, int nr_fold, double *target);
49
50double predict_values(const struct model *model_, const struct feature_node *x, double* dec_values);
51double predict(const struct model *model_, const struct feature_node *x);
52double predict_probability(const struct model *model_, const struct feature_node *x, double* prob_estimates);
53
54int save_model(const char *model_file_name, const struct model *model_);
55struct model *load_model(const char *model_file_name);
56
57int get_nr_feature(const struct model *model_);
58int get_nr_class(const struct model *model_);
59void get_labels(const struct model *model_, int* label);
60
61void free_model_content(struct model *model_ptr);
62void free_and_destroy_model(struct model **model_ptr_ptr);
63void destroy_param(struct parameter *param);
64
65const char *check_parameter(const struct problem *prob, const struct parameter *param);
66int check_probability_model(const struct model *model);
67void set_print_string_function(void (*print_func) (const char*));
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* _LIBLINEAR_H */
74
Note: See TracBrowser for help on using the repository browser.