亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hooks.c

?? 這是vc開發的數據挖掘算法中的決策樹算法之see5算法源代碼.
?? C
?? 第 1 頁 / 共 5 頁
字號:
	}	/*  LR now contains rules with outcome v  */	Node->Branch[v] = GrowRT(LR, LRN, Rule);	if ( v )	{	    /*  Restore conditions satisfied  */	    ForEach(ri, 0, LRN-1)	    {		RuleCondOK[LR[ri]]--;	    }	}    }    TestUsed[TI] = false;    /*  Free local storage  */    Free(LR);    Free(Expect);    return Node;}int DesiredOutcome(CRule R, int TI)/*  --------------  */{    int c;    ForEach(c, 1, R->Size)    {	if ( R->Lhs[c]->TestI == TI )	{	    return R->Lhs[c]->TestValue;	}    }    return 0;}int SelectTest(RuleNo *RR, int RRN, CRule *Rule)/*  ----------  */{    int		c, cc, ri;    RuleNo	r;    /*  Count test occurrences  */    ForEach(c, 0, NTest-1)    {	TestOccur[c] = 0;    }    ForEach(ri, 0, RRN-1)    {	r = RR[ri];	ForEach(c, 1, Rule[r]->Size)	{	    TestOccur[Rule[r]->Lhs[c]->TestI]++;	}    }    /*  Find most frequently-occurring test  */    cc = -1;    ForEach(c, 0, NTest-1)    {	if ( ! TestUsed[c] && ( cc < 0 || TestOccur[c] > TestOccur[cc] ) )	{	    cc = c;	}    }    return cc;}/*************************************************************************//*									 *//*	ASCII reading utilities						 *//*									 *//*************************************************************************/int ReadProp(char *Delim)/*  --------  */{    int		c, i;    char	*p;    Boolean	Quote=false;    for ( p = PropName ; (c = fgetc(TRf)) != '=' ;  )    {	if ( p - PropName >= 19 || c == EOF )	{	    Error(MODELFILE, E_MFEOF, "");	    PropName[0] = PropVal[0] = *Delim = '\00';	    return 0;	}	*p++ = c;    }    *p = '\00';    for ( p = PropVal ; ((c = fgetc(TRf)) != ' ' && c != '\n') || Quote ; )    {	if ( c == EOF )	{	    Error(MODELFILE, E_MFEOF, "");	    PropName[0] = PropVal[0] = '\00';	    return 0;	}	if ( (i = p - PropVal) >= PropValSize )	{	    Realloc(PropVal, (PropValSize += 10000) + 3, char);	    p = PropVal + i;	}	*p++ = c;	if ( c == '\\' )	{	    *p++ = fgetc(TRf);	}	else	if ( c == '"' )	{	    Quote = ! Quote;	}    }    *p = '\00';    *Delim = c;    return Which(PropName, Prop, 1, PROPS);}String RemoveQuotes(String S)/*     ------------  */{    char	*p, *Start;    p = Start = S;        for ( S++ ; *S != '"' ; S++ )    {	if ( *S == '\\' ) S++;	*p++ = *S;	*S = '-';    }    *p = '\00';    return Start;}Set MakeSubset(Attribute Att)/*  ----------  */{    int		Bytes, b;    char	*p;    Set		S;    Bytes = (MaxAttVal[Att]>>3) + 1;    S = AllocZero(Bytes, Byte);    for ( p = PropVal ; *p ; )    {	p = RemoveQuotes(p);	b = Which(p, AttValName[Att], 1, MaxAttVal[Att]);	if ( ! b ) Error(MODELFILE, E_MFATTVAL, p);	SetBit(b, S);	for ( p += strlen(p) ; *p != '"' ; p++ )	    ;	p++;	if ( *p == ',' ) p++;    }    return S;}/*************************************************************************//*									 *//*	Recover attribute values read with "discrete N"			 *//*									 *//*************************************************************************/void BinRecoverDiscreteNames()/*   -----------------------  */{    Attribute	Att;    DiscrValue	v;    int		Length;    ForEach(Att, 1, MaxAtt)    {	if ( ! StatBit(Att, DISCRETE) ) continue;	StreamIn((char *) &MaxAttVal[Att], sizeof(int));	/*  Insert "N/A"  */	AttValName[Att][1] = strdup("N/A");	MaxAttVal[Att]++;	ForEach(v, 2, MaxAttVal[Att])	{	    StreamIn((char *) &Length, sizeof(int));	    AttValName[Att][v] = Alloc(Length, char);	    StreamIn(AttValName[Att][v], Length);	}	/*  Invisible name for undefined values  */	AttValName[Att][MaxAttVal[Att]+1] = "<other>";    }}/*************************************************************************//*									 *//*	Retrieve tree from saved characters				 *//*									 *//*************************************************************************/Tree BinInTree()/*   ---------  */{    Tree	T;    DiscrValue	v, vv;    int		Bytes;    float	XFl;    Set		S;    T = (Tree) AllocZero(1, TreeRec);    StreamIn((char *) &T->NodeType, sizeof(BranchType));    StreamIn((char *) &T->Leaf, sizeof(ClassNo));    StreamIn((char *) &T->Items, sizeof(ItemCount));    StreamIn((char *) &T->Errors, sizeof(ItemCount));    T->ClassDist = AllocZero(MaxClass+1, ItemCount);    StreamIn((char *) T->ClassDist, (MaxClass + 1) * sizeof(ItemCount));    if ( T->NodeType )    {	StreamIn((char *) &T->Tested, sizeof(Attribute));	StreamIn((char *) &T->Forks, sizeof(int));	T->Forks++;	/* for N/A */	switch ( T->NodeType )	{	    case BrDiscr:		break;	    case BrThresh:		StreamIn((char *) &XFl, sizeof(float));	T->Cut = XFl;		StreamIn((char *) &XFl, sizeof(float));	T->Lower = XFl;		StreamIn((char *) &XFl, sizeof(float));	T->Upper = XFl;		StreamIn((char *) &XFl, sizeof(float));	T->Mid = XFl;		break;	    case BrSubset:		T->Subset = (Set *) AllocZero(T->Forks+1, Set);		Bytes = ((MaxAttVal[T->Tested] - 1) >> 3) + 1;		S = AllocZero(Bytes, Byte);		T->Subset[1] = AllocZero(Bytes, Byte);		SetBit(1, T->Subset[1]);		ForEach(v, 2, T->Forks)		{		    T->Subset[v] = AllocZero(Bytes, Byte);		    StreamIn((char *) S, Bytes);		    ForEach(vv, 1, MaxAttVal[T->Tested]-1)		    {			if ( In(vv, S) ) SetBit(vv+1, T->Subset[v]);		    }		}		Free(S);	}	T->Branch = AllocZero(T->Forks+1, Tree);	/*  Allow for N/A branch  */	T->Branch[1] = Leaf(Nil, T->Leaf, 0.0, 0.0);	ForEach(v, 2, T->Forks)	{	    T->Branch[v] = BinInTree();	}    }    return T;}/*************************************************************************//*								  	 *//*	Recover a ruleset						 *//*								  	 *//*************************************************************************/CRuleSet BinInRules()/*       ----------  */{    int		ri, d, Bytes, Dummy;    CRuleSet	RS;    CRule	R;    Condition	C;    float	XFl;    Set		S;    DiscrValue	vv;    RS = Alloc(1, RuleSetRec);    StreamIn((char *) &RS->SNRules, sizeof(RuleNo));    StreamIn((char *) &RS->SDefault, sizeof(ClassNo));    RS->SRule = Alloc(RS->SNRules+1, CRule);    ForEach(ri, 1, RS->SNRules)    {	R = RS->SRule[ri] = Alloc(1, RuleRec);	StreamIn((char *) &R->RNo, sizeof(int));	StreamIn((char *) &R->TNo, sizeof(int));	StreamIn((char *) &R->Size, sizeof(int));	R->Lhs = Alloc(R->Size+1, Condition);	ForEach(d, 1, R->Size)	{	    C = R->Lhs[d] = Alloc(1, CondRec);	    StreamIn((char *) &C->NodeType, sizeof(BranchType));	    StreamIn((char *) &C->Tested, sizeof(Attribute));	    StreamIn((char *) &Dummy, sizeof(int));	    StreamIn((char *) &XFl, sizeof(float));	C->Cut = XFl;	    if ( C->NodeType == BrSubset )	    {		Bytes = ((MaxAttVal[C->Tested] - 1) >> 3) + 1;		S = AllocZero(Bytes, Byte);		C->Subset = AllocZero(Bytes, Byte);		StreamIn((char *) S, Bytes);		ForEach(vv, 1, MaxAttVal[C->Tested]-1)		{		    if ( In(vv, S) ) SetBit(vv+1, C->Subset);		}		Free(S);	    }	    StreamIn((char *) &R->Lhs[d]->TestValue, sizeof(int));	    R->Lhs[d]->TestValue++;	/* to allow for N/A */	}	StreamIn((char *) &R->Rhs, sizeof(ClassNo));	StreamIn((char *) &R->Cover, sizeof(ItemCount));	StreamIn((char *) &R->Correct, sizeof(ItemCount));	StreamIn((char *) &R->Prior, sizeof(float));	if ( R->Correct < 1 )	{	    /*  Prior to Release 1.11  */	    R->Correct = (R->Cover + 2) * (1 - R->Correct) - 1;	    memcpy(&R->Vote, &R->Prior, sizeof(int));	    R->Prior = 1E38;	}	else	{	    R->Vote = 1000 * (R->Correct + 1.0) / (R->Cover + 2.0) + 0.5;	}    }    return RS;}/*************************************************************************//*								  	 *//*	Character stream read for binary routines			 *//*								  	 *//*************************************************************************/void StreamIn(String S, int n)/*   --------  */{    while ( n-- ) *S++ = getc(TRf);}/*************************************************************************//*									 *//*	Construct a leaf in a given node				 *//*									 *//*************************************************************************/Tree Leaf(double *Freq, ClassNo NodeClass, ItemCount Items, ItemCount Errors)/*   ----  */{    Tree	Node;    ClassNo	c;    Node = AllocZero(1, TreeRec);    Node->ClassDist = AllocZero(MaxClass+1, ItemCount);    if ( Freq )    {	ForEach(c, 1, MaxClass)	{	    Node->ClassDist[c] = Freq[c];	}    }    Node->NodeType	= 0;    Node->Leaf		= NodeClass;    Node->Items		= Items;    Node->Errors	= Errors;    return Node;}/*************************************************************************//*									 *//*	Read variable misclassification costs				 *//*									 *//*************************************************************************/void GetMCosts(FILE *Cf)/*   ---------  */{    ClassNo	Pred, Real, p, r;    char	Name[1000];    float	Val;    LineNo = 0;    /*  Read entries from cost file  */    while ( ReadName(Cf, Name, 1000, ':') )    {	if ( ! (Pred = Which(Name, ClassName, 1, MaxClass)) )	{	    Error(BADCOSTCLASS, Name, "");	}	if ( ! ReadName(Cf, Name, 1000, ':') ||	     ! (Real = Which(Name, ClassName, 1, MaxClass)) )	{	    Error(BADCOSTCLASS, Name, "");	}	if ( ! ReadName(Cf, Name, 1000, ':') ||	     sscanf(Name, "%f", &Val) != 1 || Val < 0 )	{	    Error(BADCOST, "", "");	    Val = 1;	}	if ( Pred > 0 && Real > 0 && Pred != Real && Val != 1 )	{	    /*  Have a non-trivial cost entry  */	    if ( ! MCost )	    {		/*  Set up cost matrices  */		MCost = Alloc(MaxClass+1, float *);		ForEach(p, 1, MaxClass)		{		    MCost[p] = Alloc(MaxClass+1, float);		    ForEach(r, 1, MaxClass)		    {			MCost[p][r] = ( p == r ? 0.0 : 1.0 );		    }		}	    }	    MCost[Pred][Real] = Val;	}    }    fclose(Cf);}/*************************************************************************//*                                                              	 *//*	Categorize a case description using the given decision tree	 *//*                                                              	 *//*************************************************************************/ClassNo TreeClassify(Description Case, Tree DecisionTree)/*      ------------  */{    ClassNo	c;    ForEach(c, 0, MaxClass)    {	ClassSum[c] = 0;    }    FindLeaf(Case, DecisionTree, Nil, 1.0);    return SelectClass(1, (Boolean)(MCost != Nil));}/*************************************************************************//*                                                              	 *//*	Classify a case description using the given subtree by		 *//*	adjusting the value ClassSum for each class			 *//*                                                              	 *//*************************************************************************/void FollowAllBranches(Description Case, Tree T, float Fraction)/*   -----------------  */{    DiscrValue	v;    ForEach(v, 1, T->Forks)    {	FindLeaf(Case, T->Branch[v], T,		 (Fraction * T->Branch[v]->Items) / T->Items);    }}/*************************************************************************//*                                                              	 *//*	Classify a case description using the given subtree by		 *//*	adjusting the value ClassSum for each class			 *//*                                                              	 *//*************************************************************************/void FindLeaf(Description Case, Tree T, Tree PT, float Fraction)/*   --------  */{    DiscrValue	v, Dv;    ClassNo	c;    float	NewFrac, BrWt[4];    switch ( T->NodeType )    {	case 0:  /* leaf */	  LeafUpdate:	    /*  Use parent node if effectively no cases at this node  */	    if ( T->Items < Epsilon )	    {		T = PT;	    }	    /*  Update from all classes  */	    ForEach(c, 1, MaxClass)	    {		ClassSum[c] += Fraction * T->ClassDist[c] / T->Items;	    }	    return;	case BrDiscr:  /* test of discrete attribute */	    Dv = DVal(Case, T->Tested);	/* > MaxAttVal if unknown */	    if ( Dv <= T->Forks )	/*  Make sure not new discrete value  */	    {		FindLeaf(Case, T->Branch[Dv], T, Fraction);	    }	    else	    {		FollowAllBranches(Case, T, Fraction);	    }	    return;	case BrThresh:  /* test of continuous attribute */	    if ( Unknown(Case, T->Tested) )	    {		FollowAllBranches(Case, T, Fraction);	    }	    else	    if ( NotApplic(Case, T->Tested) )	    {		FindLeaf(Case, T->Branch[1], T, Fraction);	    }	    else	    {		/*  Find weights for <= and > branches, interpolating if		    probabilistic thresholds are used  */		BrWt[2] = Interpolate(T, CVal(Case, T->Tested));		BrWt[3] = 1 - BrWt[2];		ForEach(v, 2, 3)		{		    if ( (NewFrac = Fraction * BrWt[v]) >= 0.01 )		    {			FindLeaf(Case, T->Branch[v], T, NewFrac);		    }		}	    }	    return;	case BrSubset:  /* subset test on discrete attribute  */	    Dv = DVal(Case, T->Tested);	/* > MaxAttVal if unknown */	    if ( Dv <= MaxAttVal[T->Tested] )	    {		ForEach(v, 1, T->Forks)		{		    if ( In(Dv, T->Subset[v]) )		    {			FindLeaf(Case, T->Branch[v], T, Fraction);			return;		    }		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品欧美二区三区中文字幕| 亚洲综合一区二区精品导航| 中文字幕在线免费不卡| 亚洲欧洲日产国产综合网| 亚洲成a人片综合在线| 久久99久久99小草精品免视看| 久久久久久电影| 亚瑟在线精品视频| 国产精品国产a| 成人教育av在线| 国产精品第13页| 日本高清视频一区二区| 亚洲成av人片在线| 成人av资源在线| 亚洲国产一二三| 国产精品久久久爽爽爽麻豆色哟哟| 91在线精品一区二区| 69久久99精品久久久久婷婷| 欧美国产激情一区二区三区蜜月| 午夜欧美2019年伦理| 国产一区二区不卡老阿姨| 欧美性色欧美a在线播放| 日本一区二区三区视频视频| 日韩av电影一区| 色综合久久88色综合天天| 国产亚洲一区二区在线观看| 日本中文字幕不卡| 日本国产一区二区| 国产精品久久久久久久久免费丝袜| 蜜臀久久99精品久久久久久9| 91激情五月电影| 欧美激情在线一区二区| 久久精品国产秦先生| 欧美吻胸吃奶大尺度电影| 国产精品精品国产色婷婷| 国产伦理精品不卡| 精品久久久久久亚洲综合网| 亚洲国产中文字幕在线视频综合 | 国产日韩视频一区二区三区| 日日夜夜精品免费视频| 欧美日韩在线三区| 亚洲一区二区三区免费视频| 一本久道中文字幕精品亚洲嫩| 国产精品成人午夜| 国产精品综合视频| 国产亚洲欧美一区在线观看| 国产在线不卡一区| 日韩一区二区免费电影| 久久精品国产久精国产| 日韩视频中午一区| 久久精品国产精品亚洲综合| 欧美精品高清视频| 人人超碰91尤物精品国产| 日本精品免费观看高清观看| 一区二区三区蜜桃网| 国产精品久久久久久久久快鸭 | 久久九九久精品国产免费直播| 7777精品久久久大香线蕉| 亚洲午夜三级在线| 综合精品久久久| 日韩av一区二区三区四区| 国产麻豆成人传媒免费观看| 欧美优质美女网站| 久久品道一品道久久精品| 亚洲精品中文字幕乱码三区| 日韩中文字幕av电影| 91麻豆免费看片| 久久婷婷久久一区二区三区| 亚洲一区二区三区四区在线 | 国产尤物一区二区在线| 欧美日韩激情一区二区| 亚洲欧美乱综合| 色综合天天做天天爱| 日本一区二区三区电影| 激情综合色丁香一区二区| 欧美精品久久久久久久多人混战 | 久久美女艺术照精彩视频福利播放 | 9191久久久久久久久久久| 亚洲一级在线观看| 欧美精品日韩精品| 六月婷婷色综合| 久久视频一区二区| 国产精品18久久久| 日本一区二区三区久久久久久久久不 | 高清成人免费视频| 久久久美女毛片| 欧美一区二区免费视频| 欧美在线色视频| 色综合一区二区三区| 91成人在线精品| 欧美日韩精品高清| 免费的成人av| 久久99精品国产麻豆婷婷洗澡| 一区二区三国产精华液| 国产精品久久久久久久久久久免费看| 久久午夜老司机| 国产精品色哟哟| 亚洲私人黄色宅男| 亚洲国产美女搞黄色| 亚洲国产精品久久久久婷婷884| 一二三区精品视频| 国产成人综合亚洲网站| 欧美嫩在线观看| 4438x成人网最大色成网站| 欧美一区二区在线视频| 亚洲国产一区视频| 9191久久久久久久久久久| 香蕉成人啪国产精品视频综合网| 激情综合网最新| 在线观看视频一区| 一区二区成人在线观看| 国产午夜精品福利| 久久九九99视频| 久久久噜噜噜久噜久久综合| 制服丝袜一区二区三区| 欧美高清dvd| 日韩欧美亚洲另类制服综合在线| 91精品国产入口在线| 在线观看视频一区| 欧美日韩午夜在线| 欧美日韩三级视频| 欧美一区二区福利视频| 精品美女一区二区| 中文字幕va一区二区三区| 亚洲色图视频免费播放| 偷窥国产亚洲免费视频| 老司机午夜精品| 97aⅴ精品视频一二三区| 在线日韩av片| 久久综合狠狠综合久久激情| 中文字幕在线视频一区| 亚洲v精品v日韩v欧美v专区| 国产高清久久久| 欧美丝袜自拍制服另类| 精品电影一区二区| 亚洲免费观看在线视频| 毛片一区二区三区| 色综合久久99| www精品美女久久久tv| 一区二区视频在线看| 激情综合一区二区三区| 欧美日韩亚洲国产综合| 中文字幕一区三区| 色综合视频在线观看| 欧美顶级少妇做爰| 欧美电影在哪看比较好| 国产欧美日韩在线看| 国产精品久久久久久久久搜平片 | 99麻豆久久久国产精品免费优播| 国产毛片精品视频| 在线日韩av片| 国产精品美日韩| 国产在线精品一区在线观看麻豆| 欧美日韩三级一区二区| 亚洲欧洲制服丝袜| 91啪亚洲精品| 亚洲欧洲av色图| 色拍拍在线精品视频8848| 亚洲国产成人在线| 波多野结衣中文字幕一区| 日本一区二区三区在线观看| 国产成人夜色高潮福利影视| 久久久久青草大香线综合精品| 毛片av中文字幕一区二区| 欧美videos大乳护士334| 国内外成人在线| 亚洲欧美日韩在线播放| 欧美日韩国产成人在线91| 图片区小说区区亚洲影院| 欧美一级欧美三级在线观看| 日产欧产美韩系列久久99| 久久精品一区二区| 在线亚洲人成电影网站色www| 亚洲一区二区三区四区五区黄 | 国产视频一区二区三区在线观看| 国产宾馆实践打屁股91| 亚洲精品久久久蜜桃| 日韩欧美黄色影院| 在线免费观看成人短视频| 五月激情六月综合| 欧美激情一区二区三区蜜桃视频 | 亚洲一区二区三区四区五区黄 | 精品av久久707| 欧美性大战xxxxx久久久| 精品亚洲免费视频| 亚洲国产精品久久不卡毛片| 久久一区二区三区四区| 欧美日韩精品一区二区三区蜜桃| 激情综合色播激情啊| 亚洲gay无套男同| 亚洲免费观看视频| 国产欧美日韩在线观看| 欧美成人猛片aaaaaaa| 在线免费不卡视频| 日本国产一区二区| 在线日韩一区二区| 欧美美女直播网站| 7878成人国产在线观看| 欧美日韩国产123区| 欧美日韩高清一区二区不卡|