%%%   dataset中的最后一列为分类类别,k为要选择的特征个数

function result=MutualInformation(dataset,k)
% character_order
character_order=[];
% the count of classes
classes=unique(dataset(:,size(dataset,2)));
character_count=size(dataset,2)-1;
N=size(dataset,1);
%compute H(Y)
H_Y=0;
h_y=0;
for i=1:length(classes)
    class=classes(i);
    class_id=find(dataset(:,character_count+1)==class())
    class_count=length(class_id);
    h_y=h_y+class_count*log(class_count)/N;
end
H_Y=log(length(classes))-h_y;

for i=1:character_count
    character=dataset(:,i);
    character_value=unique(character,'rows');
    H_Y_f=0;
    for j=1:length(character_value)
        value_rows_id=find(character==character_value(j));
        value_rows=dataset(value_rows_id,:);
        for m=1;length(classes)
            class_id=find(value_rows(:,size(value_rows,2))==classes(m));
            o_jk=length(class_id);
            o_j=length(value_rows_id);
            if o_jk==0||o_j==0
                o_jk;
            end
            H_Y_f=H_Y_f+o_jk*log(o_j/o_jk)/N;
        end
    end
    I_f_Y=H_Y-H_Y_f;
    character_order(i,:)=[i,I_f_Y];      
end
character_order=sortrows(character_order,2);
result=character_order(1:k,:);
end

特征选择之互信息 Mutual Information相关推荐

  1. 特征选择方法详解Part2-卡方检验、互信息(Mutual Information)

    Content 1. 单变量分析 1.1 卡方检验 1.1.1 原理 1.1.2 使用示例 1.2 互信息(Mutual Information) 1.2.1 原理 1.2.1.1 互信息(Mutua ...

  2. 机器学习笔记 - 互信息Mutual Information

    1.概述 遇到一个新的数据集时重要的第一步是使用特征效用指标构建排名,该指标是衡量特征与目标之间关联的函数.然后,您可以选择一小部分最有用的功能进行初始开发. 我们将使用的度量称为"互信息& ...

  3. 计算两个向量的互信息(Mutual Information) matlab程序

    互信息,Mutual Information,缩写为MI,用来计算两个变量X与Y是否有关系,以及关系的强弱 function [Ixy,lambda]=MutualInfo(X,Y) %% % Est ...

  4. 互信息(Mutual Information)

    本文根据以下参考资料进行整理: 1.维基百科:https://zh.wikipedia.org/wiki/%E4%BA%92%E4%BF%A1%E6%81%AF 2.新浪博客:http://blog. ...

  5. 互信息(Mutual Information)的介绍

    互信息,Mutual Information,缩写为MI,表示两个变量X与Y是否有关系,以及关系的强弱. 如果 (X, Y) ~ p(x, y), X, Y 之间的互信息 I(X; Y)定义为: No ...

  6. 互信息(Mutual Information)介绍

    在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度.不同于相关系数,互信息并不局限于实值随 ...

  7. python计算互信息_Maximal Information Coefficient (MIC)最大互信息系数详解与实现

    MIC MIC 即:Maximal Information Coefficient 最大互信息系数. 使用MIC来衡量两个基因之间的关联程度,线性或非线性关系,相较于Mutual Informatio ...

  8. 机器学习特征筛选:互信息法(mutual information)

    机器学习特征筛选:互信息法(mutual information) 互信息法多为分类问题的分类变量的筛选方法 经典的互信息也是评价定性自变量对定性因变量的相关性的,为了处理定量数据,最大信息系数法被提 ...

  9. 双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之互信息(Mutual Information,MI)...

      半全局立体匹配算法Semi-Global Matching,SGM由学者Hirschmüller在2005年所提出1,提出的背景是一方面高效率的局部算法由于所基于的局部窗口视差相同的假设在很多情况 ...

最新文章

  1. Java框架JSON-RPC项目demo代码实战 + JAVA WEB配置虚拟目录(转自21天java web开发)
  2. Linux 用户和用户操作
  3. tensorflow练习
  4. JMeter接口测试通过企业微信API记录(二)创建审批接口并测试
  5. 按钮隐藏_Win10系统:如何隐藏登录界面右下角的电源按钮?(两种方法)
  6. 消灭星星网页版java代码,javascript实现消灭星星小游戏简单版
  7. 华为手机设置页面黑色_华为手机里最危险的设置,学会这一招,手机还能再战三年...
  8. Mysql执行计划的extra列及filesort祥析
  9. [转] left join/right join/inner join操作演示
  10. 一张思维导图带你快速了解深度学习推荐系统
  11. iframe在ios设备宽度不能100%
  12. 谭浩强 c语言源码下载,谭浩强C语言教材源代码第二章
  13. Ubuntu 20.04.2 LTS安装微信(wine)
  14. 蛋白质性质和结构分析
  15. linux挂载,格式化
  16. 最详细的美国旅游签证办理流程
  17. 在windows环境下可以直接运行的word2vec.c 并带有详细注释
  18. 2015计算机考试成绩查询网址,2015年下半年软考成绩查询入口!
  19. Code Contracts - Precondition Failed
  20. Python之freshman01

热门文章

  1. simpson公式求定积分(模板)
  2. 智能电力仪表采集在某厂房二期电力监控系统的设计和应用
  3. webbrowser打开指定html,C#实现 WebBrowser中新窗口打开链接用默认或者指定浏览器打开,不用IE...
  4. Dahua IPC 授权问题漏洞(CVE-2021-33045)
  5. 日期时间选择器选择器更改样式deep穿透无效
  6. USDT用户态静态跟踪介绍
  7. 职称计算机考试模拟题word2007,职称计算机考试模拟题题库(word版,可打印).doc...
  8. Alert 日志报错:ORA-2730x OS Failure Message: No Buffer Space Available
  9. 威联通NAS(QNAP)采用HybridMount挂载百度云网盘
  10. 【Java练手项目七】Java项目实战之天天酷跑