?? regress.h
字號:
/*---------------------------------------------------------------------- File : regress.h Contents: multivariate polynomial regression management Author : Christian Borgelt History : 2001.10.13 file created 2001.10.15 first version completed 2001.10.19 function/macro reg_coeff added 2001.10.20 function reg_solve redesigned 2001.10.26 function reg_sse added, reg_solve modified 2007.04.04 extended regression functions added 2007.04.12 functions reg_parse and reg_parsex added----------------------------------------------------------------------*/#ifndef __REGRESS__#define __REGRESS__#include <stdio.h>#include "matrix.h"#ifdef REG_PARSE#include "parse.h"#endif#ifdef REG_EXTFN#include "attmap.h"#endif/*---------------------------------------------------------------------- Preprocessor Definitions----------------------------------------------------------------------*//* --- description modes --- */#define REG_TITLE 0x0001 /* print a title (as a comment) */#define REG_EXPOS 0x0002 /* print exponents of variables *//*---------------------------------------------------------------------- Type Definitions----------------------------------------------------------------------*/typedef struct _regress { /* --- a regression object --- */ int dim; /* number of dimensions */ int deg; /* degree of polynomial */ int cnt; /* number of regression coefficients */ int *tab; /* table of section sizes */ double *vec; /* buffer for an input vector */ double *buf; /* buffer for the power products */ MATRIX *mat; /* regression matrix */ double *rhs; /* right hand side of equation system */ double *cfs; /* regression coefficients */ double so2; /* sum of squared output values */ double max; /* maximum for logit transformation */ double sse; /* sum of squared errors */ #ifdef REG_EXTFN ATTSET *attset; /* underlying attribute set */ ATTMAP *attmap; /* attribute map for numeric coding */ ATT *trgatt; /* target attribute */ #endif} REGRESS; /* (regression object) *//*---------------------------------------------------------------------- Functions----------------------------------------------------------------------*/extern REGRESS* reg_create (int dim, int deg);extern void reg_delete (REGRESS *reg);#ifdef REG_EXTFNextern REGRESS* reg_createx (ATTMAP *attmap, int deg);extern void reg_deletex (REGRESS *reg, int delas);extern ATTSET* reg_attset (REGRESS *reg);extern ATT* reg_trgatt (REGRESS *reg);extern int reg_trgid (const REGRESS *reg);#endifextern void reg_setmax (REGRESS *reg, double max);extern double reg_getmax (REGRESS *reg);extern void reg_init (REGRESS *reg);extern int reg_dim (REGRESS *reg);extern int reg_deg (REGRESS *reg);extern int reg_cnt (REGRESS *reg);extern double reg_coeff (REGRESS *reg, int index);extern double reg_wgtsum (REGRESS *reg);extern int reg_aggr (REGRESS *reg, double *vec, double wgt);#ifdef REG_EXTFNextern int reg_aggrx (REGRESS *reg, TUPLE *tpl);#endifextern int reg_solve (REGRESS *reg);extern double reg_sse (REGRESS *reg);extern double reg_exec (REGRESS *reg, double *vec);#ifdef REG_EXTFNextern double reg_execx (REGRESS *reg, TUPLE *tpl);#endifextern int reg_desc (REGRESS *reg, FILE *file, int mode, int maxlen);#ifdef REG_PARSEextern REGRESS* reg_parse (SCAN *scan);#ifdef REG_EXTFNextern REGRESS* reg_parsex (SCAN *scan, ATTMAP *attmap);#endif#endif/*---------------------------------------------------------------------- Preprocessor Definitions----------------------------------------------------------------------*/#ifdef REG_EXTFN#define reg_attset(r) ((r)->attset)#define reg_trgatt(r) ((r)->trgatt)#define reg_trgid(r) (att_id((r)->trgatt))#endif#define reg_setmax(r,m) ((r)->max = (m))#define reg_getmax(r,m) ((r)->max)#define reg_dim(r) ((r)->dim)#define reg_deg(r) ((r)->deg)#define reg_cnt(r) ((r)->cnt)#define reg_coeff(r,i) ((r)->cfs[i])#define reg_wgtsum(r) mat_wgtsum((r)->mat)#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -