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

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

?? genrules.c

?? 數據挖掘c4.5算法(vc語言版本)歡迎大家下載測試!!!!
?? C
字號:
/*************************************************************************/
/*									 */
/*	Generate all rulesets from the decision trees		  	 */
/*	---------------------------------------------		  	 */
/*								  	 */
/*************************************************************************/


#include "defns.i"
#include "types.i"
#include "extern.i"
#include "rulex.i"


/*************************************************************************/
/*								  	 */
/*  For each tree, form a set of rules and process them, then form a	 */
/*  composite set of rules from all of these sets.		  	 */
/*  If there is only one tree, then no composite set is formed.	  	 */
/*								  	 */
/*  Rulesets are stored in  PRSet[0]  to  PRSet[TRIALS], where    	 */
/*  PRSet[TRIALS] contains the composite ruleset.		  	 */
/*								  	 */
/*  On completion, the current ruleset is the composite ruleset (if one	 */
/*  has been made), otherwise the ruleset from the single tree. 	 */
/*								  	 */
/*************************************************************************/


    GenerateRules()
/*  -------------  */
{
    Tree DecisionTree, GetTree();
    short t=0, RuleSetSpace=0, r;

    /*  Find bits to encode attributes and branches  */

    FindTestCodes();

    /*  Now process each decision tree  */

    while ( DecisionTree = GetTree(".unpruned") )
    {
	printf("\n------------------\n");
	printf("Processing tree %d\n", t);

	/*  Form a set of rules from the next tree  */

	FormRules(DecisionTree);

	/*  Process the set of rules for this trial  */

	ConstructRuleset();

	printf("\nFinal rules from tree %d:\n", t);
	PrintIndexedRules();
	    
	/*  Make sure there is enough room for the new ruleset  */

	if ( t + 1 >= RuleSetSpace )
	{
	    RuleSetSpace += 10;

	    if ( RuleSetSpace > 10 )
	    {
		PRSet = (RuleSet *) realloc(PRSet, RuleSetSpace * sizeof(RuleSet));
	    }
	    else
	    {
		PRSet = (RuleSet *) malloc(RuleSetSpace * sizeof(RuleSet));
	    }

	}

	PRSet[t].SNRules = NRules;
	PRSet[t].SRule = Rule;
	PRSet[t].SRuleIndex = RuleIndex;
	PRSet[t].SDefaultClass = DefaultClass;

	++t;
    }

    if ( ! t )
    {
	printf("\nERROR:  can't find any decision trees\n");
	exit(1);
    }

    TRIALS = t;

    /*  If there is more than one tree in the trees file,
	make a composite ruleset of the rules from all trees  */

    if ( TRIALS > 1 )
    {
	CompositeRuleset();
    }
}



/*************************************************************************/
/*								  	 */
/*	Determine code lengths for attributes and branches		 */
/*								  	 */
/*************************************************************************/


    FindTestCodes()
/*  -------------  */
{
    Attribute Att;
    DiscrValue v, V;
    ItemNo i, *ValFreq;
    int PossibleCuts;
    float Sum, SumBranches=0, p;
    void SwapUnweighted();

    BranchBits  = (float *) malloc((MaxAtt+1) * sizeof(float));

    ForEach(Att, 0, MaxAtt)
    {
	if ( (V = MaxAttVal[Att]) )
	{
	    ValFreq = (ItemNo *) calloc(V+1, sizeof(ItemNo));

	    ForEach(i, 0, MaxItem)
	    {
		ValFreq[DVal(Item[i],Att)]++;
	    }

	    Sum = 0;
	    ForEach(v, 1, V)
	    {
		if ( ValFreq[v] )
		{
		    Sum += (ValFreq[v] / (MaxItem+1.0)) *
			   (LogItemNo[MaxItem+1] - LogItemNo[ValFreq[v]]);
		}
	    }
	    free(ValFreq);

	    BranchBits[Att] = Sum;
	}
	else
	{
	    Quicksort(0, MaxItem, Att, SwapUnweighted);

	    PossibleCuts = 1;
	    ForEach(i, 1, MaxItem)
	    {
		if ( CVal(Item[i],Att) > CVal(Item[i-1],Att) )
		{
		    PossibleCuts++;
		}
	    }

	    BranchBits[Att] = PossibleCuts > 1 ?
			      1 + LogItemNo[PossibleCuts] / 2 : 0 ;
	}

	SumBranches += BranchBits[Att];
    }

    AttTestBits = 0;
    ForEach(Att, 0, MaxAtt)
    {
	if ( (p = BranchBits[Att] / SumBranches) > 0 )
	{
	    AttTestBits -= p * log(p) / log(2.0);
	}
    }
}



/*************************************************************************/
/*                                                                	 */
/*  Exchange items at a and b.  Note:  unlike the similar routine in	 */
/*  buildtree, this does not assume that items have a Weight to be	 */
/*  swapped as well!							 */
/*                                                                	 */
/*************************************************************************/


void SwapUnweighted(a, b)
/*   --------------  */
    ItemNo a, b;
{
    Description Hold;

    Hold = Item[a];
    Item[a] = Item[b];
    Item[b] = Hold;
}



/*************************************************************************/
/*								  	 */
/*	Form composite ruleset for all trials			  	 */
/*								  	 */
/*************************************************************************/


    CompositeRuleset()
/*  ----------------  */
{
    RuleNo r;
    short t, ri;
    Boolean NewRule();
    
    InitialiseRules();

    /*  Lump together all the rules from each ruleset  */

    ForEach(t, 0, TRIALS-1)
    {
	ForEach(ri, 1, PRSet[t].SNRules)
	{
	    r = PRSet[t].SRuleIndex[ri];
	    NewRule(PRSet[t].SRule[r].Lhs, PRSet[t].SRule[r].Size,
		     PRSet[t].SRule[r].Rhs, PRSet[t].SRule[r].Error);
	}
    }

    /*  ... and select a subset in the usual way  */

    ConstructRuleset();

    printf("\nComposite ruleset:\n");
    PrintIndexedRules();

    PRSet[TRIALS].SNRules    = NRules;
    PRSet[TRIALS].SRule      = Rule;
    PRSet[TRIALS].SRuleIndex = RuleIndex;
    PRSet[TRIALS].SDefaultClass = DefaultClass;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久欧美一区二区| 国产精品久久影院| 国产日韩欧美制服另类| 一区二区三区在线观看视频| 免费在线观看一区| 在线影视一区二区三区| 久久久99精品免费观看不卡| 亚洲国产精品久久不卡毛片| 成人污污视频在线观看| 欧美一级在线免费| 亚洲精品第1页| 成人高清视频在线观看| 久久日韩粉嫩一区二区三区| 午夜精品福利一区二区三区av| av中文字幕亚洲| 久久久www免费人成精品| 日日摸夜夜添夜夜添精品视频| 色综合久久天天| 国产精品成人免费在线| 国产精品99久久久久久有的能看| 日韩三级av在线播放| 亚洲国产精品久久久男人的天堂| 一本久久a久久精品亚洲 | 国产精品亚洲第一区在线暖暖韩国 | 亚洲美女淫视频| 成人黄色电影在线 | 欧美mv日韩mv亚洲| 人人超碰91尤物精品国产| 欧美日韩国产中文| 五月天国产精品| 欧美久久高跟鞋激| 日韩成人伦理电影在线观看| 欧美日韩视频在线观看一区二区三区| 日本亚洲欧美天堂免费| 欧美中文字幕久久 | 一区视频在线播放| 东方aⅴ免费观看久久av| 国产午夜精品福利| 粉嫩一区二区三区在线看| 亚洲国产一区二区三区 | 成人精品国产免费网站| 国产精品福利av| 91丝袜美女网| 夜夜嗨av一区二区三区网页| 欧美日韩视频不卡| 青青青爽久久午夜综合久久午夜| 制服丝袜亚洲色图| 久久99九九99精品| 国产网红主播福利一区二区| 99re在线视频这里只有精品| 一区二区三区免费看视频| 欧美日韩日日夜夜| 激情综合五月婷婷| 国产蜜臀av在线一区二区三区| 97se亚洲国产综合自在线观| 亚洲综合一区二区三区| 91精品久久久久久久久99蜜臂| 久久爱另类一区二区小说| 国产调教视频一区| 欧美亚洲禁片免费| 六月丁香综合在线视频| 国产精品美女www爽爽爽| 欧美在线免费视屏| 欧洲视频一区二区| 99re视频精品| 亚洲成人你懂的| 欧美不卡一区二区| 色综合视频一区二区三区高清| 日本欧美一区二区三区| 国产精品久久久久一区二区三区 | 亚洲精品视频一区二区| 欧美日韩大陆在线| 成人福利电影精品一区二区在线观看 | 91福利国产成人精品照片| 国产成人啪午夜精品网站男同| 国产高清不卡一区二区| 成人免费毛片片v| 日韩欧美国产综合| 亚洲精品成人悠悠色影视| 九色综合狠狠综合久久| 欧美一区二区精品| 久久电影国产免费久久电影 | 亚洲成人资源在线| 日韩一卡二卡三卡国产欧美| 亚洲国产精品久久久久秋霞影院 | 依依成人精品视频| 91在线观看污| 一区2区3区在线看| 在线看日本不卡| 九九九久久久精品| 久久久久久99久久久精品网站| 蜜桃视频第一区免费观看| 久久综合久久综合久久| 不卡的av网站| 亚洲图片自拍偷拍| 国产农村妇女精品| 欧美一区二区三区在线观看视频| 丁香六月久久综合狠狠色| 一区二区三区四区蜜桃 | 99视频热这里只有精品免费| 亚洲国产精品一区二区久久| 久久久欧美精品sm网站| 91免费版pro下载短视频| 丝袜亚洲另类欧美| 国产日韩高清在线| 欧美videossexotv100| 欧美日韩国产综合视频在线观看 | 欧美电影免费观看高清完整版在 | 青青草国产成人av片免费| 亚洲美女偷拍久久| 国产女同性恋一区二区| 337p亚洲精品色噜噜噜| 欧洲视频一区二区| 成人福利在线看| jlzzjlzz欧美大全| 国产一区欧美日韩| 国产成人精品一区二 | 亚洲视频免费观看| 久久久久久久久岛国免费| 日韩精品影音先锋| 亚洲精品一线二线三线| 精品女同一区二区| 久久久久久一二三区| www久久久久| 国产精品久久久久久久久久免费看| 久久综合五月天婷婷伊人| 欧美一级日韩一级| 久久久亚洲精华液精华液精华液| 精品国产区一区| 久久久天堂av| 亚洲一区二区综合| 国产精品一级在线| 精品日韩一区二区三区免费视频| 久久国产精品99久久人人澡| 国产福利精品一区| 在线视频一区二区三| 91精品国产综合久久国产大片| 日韩一区二区三区三四区视频在线观看| 91精品黄色片免费大全| 日本一区二区久久| 亚洲综合免费观看高清完整版在线 | 成人性生交大片免费看中文网站| 色婷婷综合久久久| 欧美一区二区大片| 中文字幕一区二区三区在线播放| 亚洲一区在线视频观看| 99久久久久久| 国产精品网友自拍| 国产一区二区三区不卡在线观看| 91啦中文在线观看| 久久久欧美精品sm网站| 国产美女在线精品| 欧美日韩国产中文| 夜夜嗨av一区二区三区网页| 国产在线精品免费| 欧美绝品在线观看成人午夜影视| 国产精品白丝在线| 亚洲你懂的在线视频| 国产不卡在线视频| 日韩免费电影一区| 日韩中文字幕1| 欧美日韩国产一级| 一区二区三区波多野结衣在线观看 | 天天做天天摸天天爽国产一区| 色婷婷av久久久久久久| 亚洲久本草在线中文字幕| 色诱亚洲精品久久久久久| 中文字幕中文字幕一区| 成人h版在线观看| 中文字幕不卡的av| 国产传媒欧美日韩成人| 国产精品色呦呦| 色综合一个色综合亚洲| 免费成人在线观看| 亚洲国产精品成人综合| 欧美二区三区的天堂| 国产在线看一区| 亚洲国产日韩精品| 国产三级久久久| 91精品国产综合久久精品性色| 免费看精品久久片| 最新国产成人在线观看| 久久综合九色综合欧美就去吻| 一本到三区不卡视频| 麻豆国产一区二区| 国产精品福利影院| 欧美一区二区成人| 在线观看视频欧美| 国产成人av影院| 韩国av一区二区三区四区| 亚洲成人综合在线| 国产精品女主播在线观看| 日韩免费电影一区| 91精品久久久久久久99蜜桃 | 国产网站一区二区三区| 精品精品国产高清a毛片牛牛| 91麻豆精东视频| 国产一区二区福利| 久久精品国产在热久久| 日韩国产高清在线|