programming collective intelligence读书笔记六

第七章:decision tree
讲的是一个大网站,推出了一个新的服务,免费体验,高级功能收费,怎样鉴别众多用户中潜在的肯花钱的那些
出份问卷是个麻烦用户的办法...这里讲的是怎么分析他们网站上的行为来得到结论
一个用户会有
referrer(从哪来) location(地区) read FAQ(y/n) Page viewed(number) Service chosen(none/basic/premium)
等等行为...接下来讲如何分析这些行为...
模型是,[referer,location,readFAQ,pageView,serviceChosen]是一个用户资料,
referer等是一个attribute,许多用户资料构成group,目的是划分group...

CART(classification and regression tree):

接下来生成树了,entropy熵,这个概念用来衡量划分的好坏...首先有个起始的熵,也就是最后一个attribute,serviceChosen
按照∑plog(p) 算出最开始的熵
然后从attribute里面选一个进行划分,生成2个新的group,让信息熵最大...信息熵是节点熵和两个子group权重熵和 的差
这样不断递归划分,生成树...
(可以想象,如果只有2级,两个子节点的searviceChosen都是有序的,熵为0,那么信息熵就是最大的,这样也达到了我们生成决策树的目的,按照决策树走下来,一边是searvice选中,一边是不选中)
如果一直递归,决策树可能过于详尽...书上建议熵比较小的时候就可以停止了,具体数字是依赖实际环境和经验
更进一步的树生成方法还有pruning,减枝理论,如果两个子结点的熵的权重和跟root差的不多,那就去掉这两个枝条...
减枝可以动态减也可以树生成完毕后修饰树,书上是决策树完成后遍历书然后减枝,我想动态减枝性能会更好点...

这个用熵来衡量划分好坏的决策树生成算法精致巧妙...基于伟大的shanon发明的信息论

决策树可以用于分析网站的用户行为,分析用户行为之间潜在的关联,挖掘出目标客户的关键特征...
比如书中例子分析出,那个网站愿意付费的都是google过来并且浏览了20页的人...那么你应该多在google上投放广告...
这种分析是有巨大潜在商业价值的...












--------------
chenjinlai
2008-05-09

你可能感兴趣的:(算法,Google,读书)