注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

双鱼传说—万智牌的缤纷世界

放学后别走呀~~!

 
 
 

日志

 
 

浅谈我对DB INDEX (Davies Bouldin index)的理解  

2010-02-16 00:46:03|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

浅谈我对DB INDEX (Davies Bouldin index)的理解 - 双鱼传说 - 双鱼传说—万智牌的缤纷世界        
本人原创作品,转载请注明出自网易博客双鱼传说

       说实话,国内的资料少之又少,去搜下GOOGLE大神的KEYWORD好了,我看到的不是求助就是论文摘要。这到底是个啥东西,为什么有人问没人说呢? 不解,我只能自己写……Davies Bouldin index,如果照中文直译的话,可以叫做戴维森堡丁指数,有的论文里叫做分类适确性指标,以下简称DBI。这个指数或者指标是来确定到底你的测试性分类哪个结果最合理。

        做数据挖掘的时候,经常你不知道要做多少个Cluster,那么你就需要先按照大体构想来分那么几种测试性聚类,通过计算这个指数,来确定到底哪个Cluster最合理。当然,算法并没有十全十美的,你只能说是理论上合理了,实际这个指数能给别人多大帮助我自己真的也不得而知。

        如果纯从公式理解,我相信一定会搞的一头雾水,从最基础的元素说起吧,如果从结果上理解我觉得更能说明问题。DBI其实就是将几个Rmax值叠加,当你做出了几个Cluster,就会出现几个Rmax,这些Rmax值叠加的结果越小就说明这个分类越合理

        而Rmax的取得来源于R,R的公式在下边有说明

        浅谈我对DB INDEX (Davies Bouldin index)的理解 - 双鱼传说 - 双鱼传说—万智牌的缤纷世界

        其实他很多公式都不需要看的,之要看这一个,了解所有要素的意思,那么这个指数就很简单的算出来了。图中的S说明的是点距,假设你做了5个Cluster这5个中的任意一列就可以视为一个Cluster的分布中点,用数据源中所有的要素去跟这个中点做比对,就出现了S。

浅谈我对DB INDEX (Davies Bouldin index)的理解 - 双鱼传说 - 双鱼传说—万智牌的缤纷世界

        上图公式中,已经是细化到点距算法的S,一般是看不懂的,其实你只要知道S是所有要素到分布中心的距离就好了(更确切的说S是一个分布集合中所有点到分布中点的均值)。

浅谈我对DB INDEX (Davies Bouldin index)的理解 - 双鱼传说 - 双鱼传说—万智牌的缤纷世界

        假设沃尔玛一年内的所有商品,所有商品都有对应的product_id,把他们月销量的数据检索出以后,每一个product_id可确定为一个空间点,假设你用分析软件吧这些商品分成了5个Cluster,这5个Cluster就确定了5个分布中点,把每个product_id到每一个空间点的距离全部计算出来(这里要用点距公式,平面点你能理解的话这个也不会很难,加几个括号就好了,最后一起开方就OK了),看看这些点的距离到底离哪个Cluster最近,这个商品就属于哪个Cluster。这样就可以知道我所有商品的Cluster属性。比如我Cluster0中有2000件商品,那么把这些product_id到Cluster0的点距加权平均算个AVG这就是S0。

        M是整个Cluster集合中每个点到其他点的距离。还是用我做了5个Cluster为例:

        0,1,2,3,4 这5个,每个点到其他点的距离是M,就会出现

           4+   3+    2+    1  =10
        M01 M12 M23 M34
        M02 M13 M24
        M03 M14 
        M04

        换句读法可能更好理解,M01读作M"0到1",就是Cluster0到Cluster1的距离,也是算两点距离。你做了5个Cluster就有10个M,你做了9个就有36个,这都是可以慢慢自己算的

浅谈我对DB INDEX (Davies Bouldin index)的理解 - 双鱼传说 - 双鱼传说—万智牌的缤纷世界

        其实你看看原公式,M本身跟S长的就很像,只不过M是5个分布中点相互之间的距离而已,都是点距

        这样弄明白了S与M那么由上边的公式就不难算出R

        R01=(S0+S1)/M01 

        浅谈我对DB INDEX (Davies Bouldin index)的理解 - 双鱼传说 - 双鱼传说—万智牌的缤纷世界

         对比我给的公式跟原公式看看,是不是好理解一些

        由于有10个M,那么R值肯定也就是有10个,之后把一类相关的R提取出最大值,比如

        R0max=MAX(R01+R02+R03+R04),最后把5个R的最大值全部加起来就是我们所求的DBI。

       参考文献:http://en.wikipedia.org/wiki/Davies-Bouldin_index

     
          

  评论这张
 
阅读(3876)| 评论(7)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017