急急~~在决策树中 关于算Gain 的问题

randomblbl 2008-03-03 01:36:19
我要把3种花分类(A类花,B类花,C类花),4个属性:
如下: 开始是三种花各有50个;
花瓣长度
小于等于3.2 / \ 大于3.2
/ \
结果: A类:20个 A类:30个
B:40个 B: 10个
C:40个 C: 10个


因为是分出来之后是3种,就不知道怎么算了。
在这里怎么算gain啊?
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
randomblbl 2008-03-03
  • 打赏
  • 举报
回复
就是训练集数据中 50个A类,50个是B类,50个是c 类,四个属性是花瓣长度,宽度,花枝长度,叶子宽度。

样本数据为

例如;花瓣长度,宽度,花枝长度,叶子宽度, 类型
2.4 0.2 5.0 0.6 A
2.9 0.3 5.1 0.4 A
3.8 0.6 4.2 0.2 B
..........

我先只取了一个属性去分类,求出信息增益度(Gain),但是不知道我求的对不对。~~·

帮忙啊~~~~~~~~~~
dubiousway 2008-03-03
  • 打赏
  • 举报
回复
什么是gain 啊?那4个属性和gain 什么关系?也没看到什么4个属性啊,你的Gain 公式又是怎么回事啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 lz, 俺都不明白
liufangbj 2008-03-03
  • 打赏
  • 举报
回复
没有明白楼主的题目
randomblbl 2008-03-03
  • 打赏
  • 举报
回复
Gain= I(花瓣长度)-100/150*I(左孩子)-50/150*I(右孩子)
I(花瓣长度)= -( 1/3*log2(1/3) + 1/3*log2(1/3) + 1/3*log2(1/3) )
I(左孩子)= -(20/100*log2(20/100) + 40/100*log2(40/100) + 40/100*log2(40/100))
I(右孩子)= -(30/50*log2(30/50) + 10/50*log2(10/50) + 10/50*log2(10/50))

这样对不对啊?
相关推荐

63,606

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下