⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regress.h

📁 it is regression Algorithm in C/C++.
💻 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 + -