1 / 21
文档名称:

决策树ID3分类算法.doc

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

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

分享

预览

决策树ID3分类算法.doc

上传人:1542605778 2022/4/17 文件大小:675 KB

下载得到文件列表

决策树ID3分类算法.doc

相关文档

文档介绍

文档介绍:决策树ID3分类算法
一、ID3算法介绍
决策树学****是一种逼近离散值目标函数的方法,在这种方法中学****到的函数被表示为一颗决策树。ID3算法的思想就是自顶向下构造决策树,它使用统计测试来确定每一个实例属性单独分类训练样例的能力,继而判断哪e * rchild;
vector<FreeQNode> classes;
}binNodeDouble;
void insert_tree(binNode * & r, char str[100])
{
if (NULL == r)
{
binNode * node = new binNode;
strcpy(node->name,str);
node->count = 1;
//printf("[%s,%d]\n",node->name,node->count);
node->lchild = node->rchild = NULL;
r = node;
}
else
{
if (strcmp(r->name,str) == 0)
{
r->count ++;
}
else if (strcmp(r->name,str) < 0)
{
insert_tree(r->lchild,str);
}
else
{
insert_tree(r->rchild,str);
}
}
}
void delete_bin_tree(binNode *& r)
{
if (r != NULL)
{
delete_bin_tree(r->lchild);
delete_bin_tree(r->rchild);
delete(r);
r = NULL;
}
}
void Bin_tree_inorder(binNode * r,vector<FreeQNode> & Fq)
{
if (r != NULL)
{
Bin_tree_inorder(r->lchild,Fq);
FreeQNode ft;
//printf("%s,%d\n",r->name,r->count);
strcpy(,r->name);
= r->count;
for (int i= 0;i < r->();i++)
{
(r->Set_ID[i]); //保存子集对应的ID号
}
(ft); //此处少了这条语句,造成结果无法返回
Bin_tree_inorder(r->rchild,Fq);
}
}
void Get_attr(binNode * r,attr_node & attr)
{
if (r != NULL)
{
Get_attr(r->lchild,attr);
tnode t;
strcpy(,r->name);
//printf("%s,%d\n",r->name,r->count);
(t);
(r->count);//保存出现次数
Get_attr(r->rchild,attr);
}
}
void insert_tree_double(binNodeDouble *& r, int DB_ID,char attr_name[100],char class_name[100])
{
if (NULL == r)
{
binNodeDouble * node = new binNodeDouble;
strcpy(node->name,attr_name);
node->count = 1;
node->(DB_ID);
node->lchild = node->rchild = NULL;
FreeQNode fq;
strcpy(,class_name);
= 1;
(DB_ID); //保存子集所对应的ID号
node->(fq);
r= node;
}
else
{