200分跪求数据挖掘ID3算法在VB数据库中实现

xiaohu790114 2004-12-24 04:06:00
ID3算法是个递归求熵算法,我总是无法在VB数据表中实现 如:输入天气、温度、湿度、风和类别属性“适合出行(是/否)”这样一个数据表。如何生成决策树。求各位大虾救命呀!!!!
...全文
127 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
霖湘凝 2004-12-26
  • 打赏
  • 举报
回复
确实够复杂的,呵呵,那位有工夫帮他看看,
不过我觉得既然是个分类问题为什么不用SVM啊,
只是个建议,你用现在的24种情况进行“学习”,然后分类啊
mumuyh 2004-12-26
  • 打赏
  • 举报
回复
up!
xiaohu790114 2004-12-25
  • 打赏
  • 举报
回复
我把算法写出来,请各位老大帮我实现(用VB窗体实现,可视化演示,VB显示一个表,就能生成一个决策树))
是一个递归算法
Function ID3(R:一个非类别的属性集合,C:类别属性,S:一个训练集)
Begin
If S为空, 返回一个值为FAILURE的单个节点;
If S是由其值均为相同类别属性值的记录组成,
返回一个带有该值的单个节点;
If R为空,则返回一个单节点,其值为在S记录中找出的频率最高的类别属性值;
将R中属性之间具有最大gain(D,S)值的属性赋值给D;
将属性D的值赋值给{dj |j =1,2,3 …m};
将分别由对应于D的值为dj的记录组成的S的子集赋给{sj|j=1,2,3 …,m};
返回一颗树,其根标记为D,树枝标记为d1, d2,…,dm ;
在分别递归构造以下树:ID3(R-{D},C,S 1) , ID3(R-{D},C,S2) …, ID3(R-{D},C,Sm) ;
End ID3;
如图:
属性 天气 气温 湿度 风 适合打高尔夫
1 多云 热 高 无风 不适合
2 晴 热 高 无风 适合
3 多云 热 高 大风 不适合
4 晴 热 高 中风 适合
5 雨 适中 高 无风 不适合
6 多云 热 高 中风 不适合
7 雨 热 正常 无风 适合
8 雨 适中 高 中风 不适合
9 雨 冷 正常 中风 不适合
10 晴 冷 正常 大风 适合
11 雨 热 正常 大风 不适合
12 晴 冷 正常 中风 适合
13 多云 适中 高 中风 不适合
14 多云 冷 正常 无风 适合
15 多云 适中 高 无风 不适合
16 雨 适中 正常 无风 不适合
17 多云 冷 正常 中风 适合
18 雨 适中 正常 中风 不适合
19 多云 适中 正常 中风 适合
20 多云 适中 正常 大风 适合
21 晴 适中 高 大风 适合
22 晴 适中 高 中风 适合
23 晴 热 正常 无风 适合
24 雨 适中 高 大风 不适合
GAIN天气熵=7/24(-7/7LOG2(7/7)-0)+9/24(4/9LOG2(4/9)+5/9LOG2(5/9))+8/24(1/8LOG2(1/8)+7/8LOG2(7/8)=0.5529
同理:GAIN 气温熵=0.9173 湿度熵=0.9184 风熵=1 所以选最小的天气建树最后递归生成树:
天气

晴 多云 雨

适合) 湿度 气温
高 正常
( 适合) (不适合) 热 冷 适中
(不适合)(不适合)

大风 无风
(适合) ( 不适合)


laviewpbt 2004-12-24
  • 打赏
  • 举报
回复
是不是和模糊理论有关啊!
南山明月 2004-12-24
  • 打赏
  • 举报
回复
ding 什么是 ID3算法?
aohan 2004-12-24
  • 打赏
  • 举报
回复
up先

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧