全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4934 1
2016-04-02
请教下各位大神,我想对聚类分析的结果做一下检测,需要用到MI (mutual information)。
我在网上看到一个例子,但是有点困惑该怎么写概率部分的代码,情况是有A B两组,A = [1 1 1 1 1 1   2 2 2 2 2 2    3 3 3 3 3];
B = [1 2 1 1 1 1   1 2 2 2 2 3    1 1 3 3 3]; A和B各是有三组,A是标准组,也就是每个类别(共三类)分别在三个组里,对A举个例子,好比6个苹果放在第一个苹果的组里,第二组是香蕉组,组里准确的有6个香蕉,第三组是桃子组,里面应该有5个草莓。

但是B组是实际的实验的结果(也就是对三种17个水果分组),分组的结果是说苹果组里混入了一个香蕉,然后第二组香蕉组里又错误的混入了一个苹果和一个桃子。第三组本来是草莓组,但是错误的分入了两个苹果。那么NMI的目的就是检测我分出的B组的准确率。


我的问题是:A和B里,各自本身存在三个组, 只有明确组别,下面的概率计算才可行,可是我该怎么写代码来算出下面的概率呢?求大神指教!!!!

计算的公式是:


此处分子p(x,y)为x和y的联合分布概率,

p(1,1)=5/17, p(1,2)=1/17,p(1,3)=0;

p(2,1)=1/17, p(2,2)=4/17,p(2,3)=1/17;

p(3,1)=2/17, p(3,2)=0,p(3,3)=3/17;

分母p(x)为x的概率函数,p(y)为y的概率函数,x和y分别来自于A和B中的分布,所以即使x=y时,p(x)和p(y)也可能是不一样的。

对p(x): p(1)=6/17 p(2)=6/17p(3)=5/17

对p(y): p(1)=8/17 p(2)=5/17P(3)=4/17


这个例子有原文和Matlab的代码,求大神指教。
http://blog.csdn.net/aldenphy/article/details/9423841
多谢多谢!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-4-4 03:32:18
求各路大神回复哇
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群