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

📄 types.i

📁 用于数据挖掘的分类算法,基于c语言的,一个c4.5分类算法
💻 I
字号:
/*************************************************************************//*									 *//*		Type definitions for C4.5				 *//*              -------------------------				 *//*									 *//*************************************************************************/typedef  char	Boolean, *String, *Set;typedef  int	ItemNo;		/* data item number */typedef  float	ItemCount;	/* count of (partial) items */typedef  short	ClassNo,	/* class number, 0..MaxClass */		DiscrValue;	/* discrete attribute value (0 = ?) */typedef  short	Attribute;	/* attribute number, 0..MaxAtt */typedef  union  _attribute_value	 {	    DiscrValue	_discr_val;	    float	_cont_val;	 }	 	AttValue, *Description;#define  CVal(Case,Attribute)   Case[Attribute]._cont_val#define  DVal(Case,Attribute)   Case[Attribute]._discr_val#define  Class(Case)		Case[MaxAtt+1]._discr_val#define  Unknown  -999		/* unknown value for continuous attribute */#define  BrDiscr	1	/* node types:	branch */#define  ThreshContin	2	/*		threshold cut */#define  BrSubset	3	/*		subset test */typedef  struct _tree_record *Tree;typedef  struct _tree_record	 {	    short	NodeType;	/* 0=leaf 1=branch 2=cut 3=subset */	    ClassNo	Leaf;		/* most frequent class at this node */	    ItemCount	Items,		/* no of items at this node */			*ClassDist,	/* class distribution of items */	    		Errors;		/* no of errors at this node */	    Attribute	Tested; 	/* attribute referenced in test */	    short	Forks;		/* number of branches at this node */	    float	Cut,		/* threshold for continuous attribute */		  	Lower,		/* lower limit of soft threshold */		  	Upper;		/* upper limit ditto */	    Set         *Subset;	/* subsets of discrete values  */	    Tree	*Branch;	/* Branch[x] = (sub)tree for outcome x */	 }		TreeRec;#define  IGNORE		1	/* special attribute status: do not use */#define  DISCRETE	2	/* ditto: collect values as data read */typedef short	RuleNo;			/* rule number */typedef struct TestRec *Test;struct TestRec       {	   short	NodeType;	/* test type (see tree nodes) */	   Attribute	Tested;		/* attribute tested */	   short	Forks;		/* possible branches */	   float	Cut;		/* threshold (if relevant) */	   Set		*Subset;	/* subset (if relevant) */       };typedef struct CondRec *Condition;struct CondRec       {	   Test		CondTest;	/* test part of condition */	   short	TestValue;	/* specified outcome of test */       };typedef struct ProdRuleRec PR;struct ProdRuleRec       {	   short	Size;		/* number of conditions */	   Condition	*Lhs;		/* conditions themselves */	   ClassNo	Rhs;		/* class given by rule */	   float	Error,		/* estimated error rate */			Bits;		/* bits to encode rule */	   ItemNo	Used,		/* times rule used */			Incorrect;	/* times rule incorrect */       };typedef struct RuleSetRec RuleSet;struct RuleSetRec       {	   PR		*SRule;		/* rules */	   RuleNo	SNRules,	/* number of rules */			*SRuleIndex;	/* ranking of rules */	   ClassNo	SDefaultClass;	/* default class for this ruleset */    };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -