1 / 18
文档名称:

机器学习实验报告.docx

格式:docx   大小:80KB   页数:18页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

机器学习实验报告.docx

上传人:guoxiachuanyue002 2022/6/25 文件大小:80 KB

下载得到文件列表

机器学习实验报告.docx

相关文档

文档介绍

文档介绍:\//XlrAMUHIUERSHV0FPDB1T3&TELEeaMIMIJNieATiaiNE
X?T7tX
《机器学****br/>课内实验报告
(1)ID算法实现决策树2015-2016学年第2学期
专业:
智能科学与技术
班级:
es_kind[4]={"OutLook","Temperature","Humidity","Wind"};intAttr_kind[4]={3,3,2,2};
char*OutLook_kind[3]={"Sunny","OverCast","Rain"};
char*Temperature_kind[3]={"Hot","Mild","Cool"};
char*Humidity_kind[2]={"High","Normal"};
char*Wind_kind[2]={"Weak","Strong"};
/*inti_Exampple[14][5]={0,0,0,0,1,
0,0,0,1,1,
1,0,0,1,0,
2,1,0,0,0,
2,2,1,0,0,
2,2,1,1,1,
1,2,1,1,0,
0,1,0,0,1,
0,2,1,0,0,
2,1,1,0,0,
0,1,1,1,0,
1,1,1,1,0,
1,1,1,0,0,
2,1,0,0,1
};*/
voidtreelists(treeT);
voidInitAttr(Attributes&attr_link,char*Attributes_kind[],intAttr_kind[]);
voidInitLink(link&L,char*Examples[][COL]);
voidID3(tree&T,linkL,linkTarget_Attr,Attributesattr);
voidPN_Num(linkL,int&positve,int&negative);
doubleGain(intpositive,intnegative,char*atrribute,linkL,Attributesattr_L);
voidmain()
{
linkLL,p;
Attributesattr_L,q;
treeT;
T=newTNode;
T->firstchild=T->nextsibling=NULL;strcpy(T->weight,"");
strcpy(T->data,"");
NormalYes
attr_L=newAttrNode;attr_L->next=NULL;
LL=newLNode;
LL->next=NULL;
//成功建立两个链表InitLink(LL,Examples);InitAttr(attr_L,Attributes_kind,Attr_kind);
ID3(T,LL,NULL,attr_L);
coutvv"决策树以广义表形式输出如下:"vvendl;treelists(T);//以广义表的形式输出树
//coutvvGain(9,5,"OutLook",LL,attr_L)vvendl;coutvvendl;
}
//以广义表的形式输出树voidtreelists(treeT)
{
treep;
if(!T)
return;coutvv"{"vvT->weightvv"}";coutvvT->data;
p=T->firstchild;
if(p)
{coutvv"(";while(p){
treelists(p);
p=p->nextsibling;
if(p)cout<<',';
}
cout<<")";
}
}
voidInitAttr(Attributes&attr_link,char*Attributes_kind[],intAttr_kind[]){
Attributesp;
for(inti=0;i<4;i++)
{
p=newAttrNode;p->next=NULL;
strcpy(p->attributes,Attributes_kind[i]);p->attr_Num=Attr_kind[i];
p->next=attr_link->next;attr_link->next=p;
}
}
voidInitLink(link&LL,char*Examples[][COL])
NormalYes
{
linkp;
for(inti=0;i<ROW;i++)
{
p=newLNode;p->next=NULL;
strcpy(p->OutLook,Examples[i][0]);strcpy(p->Temperat