作者syuusyou (syuusyou)
看板b99902HW
标题[作业] 资料结构与演算法 作业五 README
时间Fri May 6 20:07:51 2011
我们提供了两组资料集(data set)来让你使用在决策树(decision tree)演算法上。
其中一个资料集是与蘑菇有关,而另一个则是与太阳闪焰有关。在蘑菇的资料集中,
你的目标是根据蘑菇的各种性质来建立一个决策树来决定蘑菇是否能食用。在太阳闪焰
的资料集中,你的目标则是建立一个决策树来决定在未来的 24 小时当中,某个区域
是否会发生太阳闪焰。
输入格式
这两个资料集使用的都是同一种输入格式。
在输入当中,第一行由一个整数所组成,而该整数代表的是资料集当中有多少例子。
在第一行之後的每一行都代表一个例子,由下列格式所组成:
[attributes] [label]
性质(attributes)由一个字串所构成,而字串当中的每一个字元都代表着一种特性。
每一个蘑菇拥有 22 种不同性质,而每一块太阳区域则有 10 种不同性质。标签(label)
则是由一个字元所构成,标签和性质中间被一个空白(whitespace)所分隔。而标签及
各种不同性质的意义会在下面说明。
输出格式
请把你所建成的决策树模型以 C 语言当中的函式形式输出出来。你所输出的函式需要
遵循以下的名字:
char predict(char *attr);
在这函式当中,唯一的参数会是一个与输入格式相同的性质字串。(在蘑菇当中有 22 种
性质,在太阳区域当中则有 10 种性质)
这个函数会回传它对这笔输入所预测的标签。(在蘑菇当中会回传 'e' 或 'p',在太阳
闪焰当中会回传 '0' 或 '1')
请把你所输出的档案命名成 'hw5_2_pred.h'。你可以编译并执行课程网上所提供的
'predictor.cpp' 来检查你的决策树是否良好。(请见课程网上的 Makefile)
要当心在输出的 C 程式码当中的分号(;)与撇号(')。
对於蘑菇的资料集,一个简单的输出范例如下:
char predict(char *attr) {
if(attr[0]=='b') {
return 'e';
} else {
if(attr[2]=='r') {
return 'p';
} else {
return 'e';
}
}
}
以下实在太繁复了,省略之。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.214.43
1F:推 chiang9804:路过推认真!! 05/11 00:28
2F:推 bill8124:翻译顺便缩排,赞! 05/22 00:44