资源简介
一个简单的ID3决策树算法实现,但是很使用。简单易懂。
代码片段和文件信息
#include
#include
#include
typedef struct info {
char name[20];
char sex[10];
float hight;
char clas[10];
}infor;
void main()
{
int i;
cout<<“请输入人数:“< cin>>i;
infor *p;
p=new infor[i];
for(int j=1;j<=i;j++)
{
cout<<“请输入第“< cin>>p[j].name;
cin>>p[j].sex;
cin>>p[j].hight;
cin>>p[j].clas;
}
cout<<“C4.5算法:“< int countmale=0countfemale=0countclasshort=0countclasmidium=0countclashigh=0;
for( j=1;j<=i;j++)
{
if(!strcmp(p[j].sex“female“)||!strcmp(p[j].sex“女“)){countfemale++;}
else if(!strcmp(p[j].sex“male“)||!strcmp(p[j].sex“男“)){countmale++;}
if(!strcmp(p[j].clas“short“)||!strcmp(p[j].clas“矮“)) countclasshort++;
else if(!strcmp(p[j].clas“midium“)||!strcmp(p[j].clas“中“)) countclasmidium++;
else if(!strcmp(p[j].clas“high“)||!strcmp(p[j].clas“高“))countclashigh++;
}
double initHinitshortHinitmidiumHinithighH;
if(countclasshort==0) initshortH=0;
else initshortH=((double)(countclasshort)/(countclasshort+countclasmidium+countclashigh))*log10((countclasshort+countclasmidium+countclashigh)/(double)(countclasshort));
if(countclasmidium==0) initmidiumH=0;
else initmidiumH=((double)(countclasmidium)/(countclasshort+countclasmidium+countclashigh))*log10((countclasshort+countclasmidium+countclashigh)/(double)(countclasmidium));
if(countclashigh==0) inithighH=0;
else inithighH=((double)(countclashigh)/(countclasshort+countclasmidium+countclashigh))*log10((countclasshort+countclasmidium+countclashigh)/(double)(countclashigh));
initH=initshortH+initmidiumH+inithighH;
double femaleHmaleHfemaleshortHfemalemidiumHfemalehighHmaleshortHmalemidiumHmalehighH;
int sexshort=0sexmidium=0sexhigh=0;
for(j=1;j<=i;j++)
{
if(!strcmp(p[j].sex“female“)||!strcmp(p[j].sex“女“))
{
if(!strcmp(p[j].clas“short“)||!strcmp(p[j].clas“矮“)) {sexshort++;}
else if(!strcmp(p[j].clas“midium“)||!strcmp(p[j].clas“中“)) {sexmidium++;}
else if(!strcmp(p[j].clas“high“)||!strcmp(p[j].clas“高“)) { sexhigh++;}
}
}
if(sexshort==0) femaleshortH=0;
else femaleshortH=((double)(sexshort)/countfemale)*log10(countfemale/(double)(sexshort));
if(sexmidium==0) femalemidiumH=0;
else femalemidiumH=((double)(sexmidium)/countfemale)*log10(countfemale/(double)(sexmidium));
if(sexhigh==0) femalehighH=0;
else femalehighH=((double)(sexhigh)/countfemale)*log10(countfemale/(double)(sexhigh));
femaleH=femaleshortH+femalemidiumH+femalehighH;
sexshort=0sexmidium=0sexhigh=0;
for(j=1;j<=i;j++)
{
if(!strcmp(p[j].sex“male“)||!strcmp(p[j].sex“男“))
{
if(!strcmp(p[
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 245842 2010-05-04 20:45 ID3\Debug\file.exe
文件 279188 2010-05-04 20:45 ID3\Debug\file.ilk
文件 23934 2010-05-04 20:45 ID3\Debug\file.obj
文件 264888 2010-05-04 20:45 ID3\Debug\file.pch
文件 435200 2010-05-04 20:45 ID3\Debug\file.pdb
文件 41984 2010-05-04 20:45 ID3\Debug\vc60.idb
文件 61440 2010-05-04 20:45 ID3\Debug\vc60.pdb
文件 12527 2009-09-04 10:51 ID3\file.cpp
文件 3377 2010-05-04 20:45 ID3\file.dsp
文件 533 2010-05-04 20:46 ID3\file.dsw
文件 33792 2010-05-04 20:46 ID3\file.ncb
文件 48640 2010-05-04 20:46 ID3\file.opt
文件 1132 2010-05-04 20:45 ID3\file.plg
目录 0 2010-05-04 20:45 ID3\Debug
目录 0 2010-05-04 20:46 ID3
----------- --------- ---------- ----- ----
1452477 15
- 上一篇:超声波氧气浓度检测
- 下一篇:约瑟夫问题的两种求解方法
相关资源
- C5决策树分类软件1.2试用版包括册数数
- 信贷树决策树的金融行业应用
- 运用ID3算法训练决策树
- 决策树算法ID3和C45
- 广工人工智能——决策树实验报告.
- 西电数据挖掘作业之决策树和文本聚
- Machine learning DecisionTree
- 决策树算法.rar
- 基于决策树的手写体识别
- 决策树学习
- 数据挖掘十大算法之C4.5详细终结版
- 带有连续值属性的决策树算法
- 使用C5.0决策树识别高风险银行贷款
- ENVI决策树分类过程步骤
- treeplan Excel决策树
- C5.0软件决策树模型
- 决策树Cart算法源码
- ID3决策树算法分析数据可视化
- 决策树ID3及C4.5算法实现源代码
- R语言生成决策树
- id3决策树分类算法及id4增量式学习算
- 机器学习实战项目决策树完整项目
- 机器学习中决策树分析
- spss modeler决策树和关联分析
- Excel决策树插件
评论
共有 条评论