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

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

?? testrules.c

?? 決策樹是用二叉樹形圖來表示處理邏輯的一種工具。可以直觀、清晰地表達加工的邏輯要求。特別適合于判斷因素比較少、邏輯組合關系不復雜的情況。
?? C
字號:
/*************************************************************************//*									 *//*	Evaluatation of rulesets					 *//*	------------------------					 *//*									 *//*************************************************************************/#include "defns.i"#include "types.i"#include "extern.i"#include "rulex.i"/*************************************************************************//*									 *//*	Evaluate all rulesets						 *//*									 *//*************************************************************************/    EvaluateRulesets(DeleteRules)/*  ----------------  */    Boolean DeleteRules;{    short t;    ItemNo *Errors, Interpret();    float AvSize=0, AvErrs=0;    Boolean Final;    if ( TRIALS == 1 )    {	/*  Evaluate current ruleset as there is no composite ruleset  */	Interpret(0, MaxItem, DeleteRules, true, true);	return;    }    Errors = (ItemNo *) malloc((TRIALS+1) * sizeof(ItemNo));    ForEach(t, 0, TRIALS)    {	NRules    = PRSet[t].SNRules;	Rule      = PRSet[t].SRule;	RuleIndex = PRSet[t].SRuleIndex;	DefaultClass = PRSet[t].SDefaultClass;	if ( t < TRIALS )	{	    printf("\nRuleset %d:\n", t);	}	else	{	    printf("\nComposite ruleset:\n");	}	Final = (t == TRIALS);	Errors[t] = Interpret(0, MaxItem, DeleteRules, Final, Final);	AvSize += NRules;	AvErrs += Errors[t];	if ( DeleteRules )	{	    PRSet[t].SNRules = NRules;	}    }    /*  Print report  */    printf("\n");    printf("Trial   Size      Errors\n");    printf("-----   ----      ------\n");    ForEach(t, 0, TRIALS)    {	if ( t < TRIALS )	{	    printf("%4d", t);	}	else	{	    printf("  **");	}	printf("    %4d  %3d(%4.1f%%)\n",	      PRSet[t].SNRules, Errors[t], 100 * Errors[t] / (MaxItem+1.0));    }    AvSize /= TRIALS + 1;    AvErrs /= TRIALS + 1;    printf("\t\t\t\tAv size = %.1f,  av errors = %.1f (%.1f%%)\n",	   AvSize, AvErrs, 100 * AvErrs / (MaxItem+1.0));}/*************************************************************************//*									 *//*	Evaluate current ruleset					 *//*									 *//*************************************************************************/float	Confidence;		/* certainty factor of fired rule */				/* (set by BestRuleIndex) */ItemNo Interpret(Fp, Lp, DeleteRules, CMInfo, Arrow)/*     ---------  */    ItemNo Fp, Lp;    Boolean DeleteRules, CMInfo, Arrow;{    ItemNo i, Tested=0, Errors=0, *Better, *Worse, *ConfusionMat;    Boolean FoundRule;    ClassNo AssignedClass, AltClass;    Attribute Att;    RuleNo p, Bestr, ri, ri2, riDrop=0, BestRuleIndex();    float ErrorRate, BestRuleConfidence;    if ( CMInfo )    {	ConfusionMat = (ItemNo *) calloc((MaxClass+1)*(MaxClass+1), sizeof(ItemNo));    }    ForEach(ri, 1, NRules)    {	p = RuleIndex[ri];	Rule[p].Used = Rule[p].Incorrect = 0;    }    Better = (ItemNo *) calloc(NRules+1, sizeof(ItemNo));    Worse  = (ItemNo *) calloc(NRules+1, sizeof(ItemNo));    ForEach(i, Fp, Lp)    {	/*  Find first choice for rule for this item  */	ri = BestRuleIndex(Item[i], 1);	Bestr = ( ri ? RuleIndex[ri] : 0 );	FoundRule = Bestr > 0;	if ( FoundRule )	{	    Rule[Bestr].Used++;	    AssignedClass =  Rule[Bestr].Rhs;	    BestRuleConfidence = Confidence;	    /*  Now find second choice  */	    ri2 = BestRuleIndex(Item[i], ri+1);	    AltClass = ( ri2 ? Rule[RuleIndex[ri2]].Rhs : DefaultClass );	    if ( AltClass != AssignedClass )	    {		if ( AssignedClass == Class(Item[i]) )		{		    Better[ri]++;		}		else		if ( AltClass == Class(Item[i]) )		{		    Worse[ri]++;		}	    }	}	else	{	    AssignedClass = DefaultClass;	}		if ( CMInfo )	{	    ConfusionMat[Class(Item[i])*(MaxClass+1)+AssignedClass]++;	}	Tested++;	if ( AssignedClass != Class(Item[i]) )	{	    Errors++;	    if ( FoundRule ) Rule[Bestr].Incorrect++;	    Verbosity(3)	    {	    	printf("\n");	    	ForEach(Att, 0, MaxAtt)	    	{	    	    printf("\t%s: ", AttName[Att]);	    	    if ( MaxAttVal[Att] )	    	    {	    		if ( DVal(Item[i],Att) )			{	    		    printf("%s\n", AttValName[Att][DVal(Item[i],Att)]);			}	    		else			{	    		    printf("?\n");			}	    	    }	    	    else	    	    {	    		if ( CVal(Item[i],Att) != Unknown )			{	    		    printf("%g\n", CVal(Item[i],Att));			}	    		else			{	    		    printf("?\n");			}	    	    }	    	}	    	printf("\t%4d:\tGiven class %s,", i, ClassName[Class(Item[i])]);	    	if ( FoundRule )	    	{	    	    printf(" rule %d [%.1f%%] gives class ",	    		    Bestr, 100 * BestRuleConfidence);	    	}	    	else		{	    	    printf(" default class ");		}	    	printf("%s\n", ClassName[AssignedClass]);	    }	}    }    printf("\nRule  Size  Error  Used  Wrong\t          Advantage\n");    printf(  "----  ----  -----  ----  -----\t          ---------\n");    ForEach(ri, 1, NRules)    {	p = RuleIndex[ri];	if ( Rule[p].Used > 0 )	{	    ErrorRate = Rule[p].Incorrect / (float) Rule[p].Used;	    printf("%4d%6d%6.1f%%%6d%7d (%.1f%%)\t%6d (%d|%d) \t%s\n",		    p, Rule[p].Size,		    100 * Rule[p].Error, Rule[p].Used, Rule[p].Incorrect,		    100 * ErrorRate,		    Better[ri]-Worse[ri], Better[ri], Worse[ri],		    ClassName[Rule[p].Rhs]);	    /*  See whether this rule should be dropped.  Note: can only drop		one rule at a time, because Better and Worse are affected  */	    if ( DeleteRules && ! riDrop && Worse[ri] > Better[ri] )	    {		riDrop = ri;	    }	}    }    cfree(Better);    cfree(Worse);    if ( riDrop )    {	printf("\nDrop rule %d\n", RuleIndex[riDrop]);	ForEach(ri, riDrop+1, NRules)	{	    RuleIndex[ri-1] = RuleIndex[ri];	}	NRules--;    	if ( CMInfo ) free(ConfusionMat);	return Interpret(Fp, Lp, DeleteRules, true, Arrow);    }    else    {	printf("\nTested %d, errors %d (%.1f%%)%s\n",	    Tested, Errors, 100 * Errors / (float) Tested,	    ( Arrow ? "   <<" : "" ));    }    if ( CMInfo )    {	PrintConfusionMatrix(ConfusionMat);	free(ConfusionMat);    }    return Errors;}/*************************************************************************//*									 *//*	Find the best rule for the given case, leaving probability       *//*      in Confidence							 *//*									 *//*************************************************************************/RuleNo BestRuleIndex(CaseDesc, Start)/*     ---------------  */    Description CaseDesc;    RuleNo Start;{    RuleNo r, ri;    float Strength();    ForEach(ri, Start, NRules)    {	r = RuleIndex[ri];	Confidence = Strength(Rule[r], CaseDesc);	if ( Confidence > 0.1 )	{	    return ri;	}    }    Confidence = 0.0;    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模一区二区三区白浆| 天堂一区二区在线免费观看| 欧美色图一区二区三区| 国产精品自拍在线| 丝袜亚洲另类欧美综合| 亚洲美女视频在线观看| 国产午夜精品久久| 欧美成人一区二区三区在线观看 | 国产a精品视频| 亚洲一区在线观看免费观看电影高清 | 国产精品少妇自拍| 日韩精品中文字幕在线一区| 欧美少妇一区二区| 欧美性三三影院| 在线影视一区二区三区| 色偷偷久久一区二区三区| 99久久精品国产一区二区三区| 国产成人午夜99999| 国产一区二区在线看| 国产一区二三区好的| 国产乱子轮精品视频| 国产精品影音先锋| 99国内精品久久| 91看片淫黄大片一级在线观看| 99国产一区二区三精品乱码| 9i在线看片成人免费| 91久久香蕉国产日韩欧美9色| 成人av在线电影| 91福利在线免费观看| 日韩亚洲电影在线| 欧美aaa在线| 成人中文字幕电影| 日本久久电影网| 日韩一区二区免费在线观看| 精品成人在线观看| 亚洲天堂中文字幕| 日韩电影网1区2区| www.性欧美| 欧美一区二区视频在线观看2020 | 精品国产一区二区三区久久久蜜月| 久久嫩草精品久久久精品| 亚洲人成人一区二区在线观看| 日韩在线卡一卡二| 国产成人免费av在线| 日本乱码高清不卡字幕| 2023国产精品自拍| 亚洲超碰精品一区二区| 理论电影国产精品| 99re这里都是精品| 日韩三级精品电影久久久| 国产女主播视频一区二区| 天天综合网天天综合色 | 91色九色蝌蚪| 久久日一线二线三线suv| 一区二区三区色| 成人免费看视频| 久久亚洲私人国产精品va媚药| 一区二区三区四区在线免费观看 | 久久激情五月婷婷| 欧美日本视频在线| 亚洲黄色免费网站| 91小宝寻花一区二区三区| 久久久99免费| 久久电影网站中文字幕| 欧美一区二区久久久| 亚洲1区2区3区视频| 在线观看亚洲成人| 一区二区三区在线高清| 欧美影院午夜播放| 亚洲成人你懂的| 国产精品网站在线| av在线不卡电影| 亚洲欧美国产毛片在线| 91免费看`日韩一区二区| 国产精品家庭影院| 91激情五月电影| 亚洲18女电影在线观看| 欧美一区二区啪啪| 麻豆精品一区二区三区| 欧美精品一区二区三区久久久 | 中文字幕国产精品一区二区| 丁香婷婷深情五月亚洲| 亚洲三级电影网站| 欧美一区三区四区| 国产一区二区三区蝌蚪| 亚洲欧洲在线观看av| 欧美日韩一区中文字幕| 久久99日本精品| 欧美高清在线精品一区| 色综合天天综合给合国产| 午夜精品爽啪视频| 久久嫩草精品久久久久| 欧美视频一区二| 粉嫩嫩av羞羞动漫久久久| 亚洲一区av在线| 国产亚洲综合av| 7777精品伊人久久久大香线蕉经典版下载 | 91小宝寻花一区二区三区| 日本亚洲视频在线| 日韩毛片视频在线看| 日韩欧美一级二级| 日本高清视频一区二区| 国产成人一区在线| 日本中文在线一区| 怡红院av一区二区三区| 久久久久国产精品免费免费搜索| 欧美唯美清纯偷拍| 日本韩国欧美三级| 懂色中文一区二区在线播放| 美脚の诱脚舐め脚责91 | 欧美aaa在线| 丝袜亚洲另类欧美综合| 亚洲综合免费观看高清完整版| 国产亚洲欧美色| 久久精品一级爱片| 精品国产99国产精品| 日韩一级成人av| 欧美电影免费观看高清完整版 | 亚洲综合免费观看高清完整版 | xvideos.蜜桃一区二区| 678五月天丁香亚洲综合网| 91欧美激情一区二区三区成人| 国产+成+人+亚洲欧洲自线| 国产综合色在线视频区| 国产在线精品一区二区三区不卡| 精品一区二区国语对白| 美脚の诱脚舐め脚责91| 韩国毛片一区二区三区| 国产精品一二三四| 粉嫩一区二区三区性色av| eeuss国产一区二区三区| 色婷婷亚洲婷婷| 欧美日韩久久不卡| 精品伦理精品一区| 国产精品久久久久久久浪潮网站| 1024成人网色www| 亚洲成人av福利| 国产精品综合二区| 91视频你懂的| 日韩一区二区视频| 国产精品久久久久毛片软件| 亚洲欧美日韩中文播放 | 亚洲一二三级电影| 久久er精品视频| 北条麻妃国产九九精品视频| 欧美日韩国产一级二级| 欧美成人官网二区| 一区二区三区精品在线观看| 狠狠色综合播放一区二区| 成人自拍视频在线观看| 欧美一卡在线观看| 一区二区在线看| k8久久久一区二区三区| 亚洲综合在线第一页| 成人黄色av电影| 久久久国际精品| 韩日精品视频一区| 欧美精品一二三| 亚洲另类在线视频| 成人中文字幕在线| 久久综合给合久久狠狠狠97色69| 日韩中文字幕1| 欧美视频自拍偷拍| 伊人色综合久久天天| 国产乱码精品1区2区3区| 91视频com| 制服丝袜亚洲精品中文字幕| 久久午夜老司机| 午夜视黄欧洲亚洲| 国产一区二区三区久久久 | 精品国产乱码久久久久久1区2区 | 国产在线播放一区三区四| 蜜臀久久99精品久久久久宅男| 高清不卡在线观看| 欧美一二三四在线| 亚洲你懂的在线视频| 老司机精品视频在线| 色婷婷精品大在线视频| 久久免费电影网| 亚洲一区二区三区四区在线| 亚洲综合精品自拍| 懂色av中文字幕一区二区三区| 欧美一区二区三区系列电影| 日韩视频中午一区| 亚洲精品久久久蜜桃| 亚洲精品高清在线| 波多野结衣精品在线| 久久久噜噜噜久久人人看 | 91麻豆精品一区二区三区| 精品成人一区二区三区| 婷婷综合在线观看| 在线视频国内自拍亚洲视频| 国产精品久久毛片a| 亚洲一区二区在线播放相泽| 青青草成人在线观看| 欧美人牲a欧美精品| 亚洲一区中文日韩| 欧美亚日韩国产aⅴ精品中极品| 国产精品久久久久久久第一福利| 国产一区二区不卡老阿姨|