⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cii_redundance.m

📁 分类信息指数是基于信噪比的计算变量所含分类信息的算法
💻 M
字号:
%==========================================================================
%
% 文件名称:Cii_redundance.m
% 摘要:求出基因的分类信息指数cii,再进行两两去冗余分析得到特征基因。
% 作者:李晓明
% 完成日期:2007年1月28日
%
% 第一次修改
% 修改内容:改善文件的结构、完善注释增加文件的可读性。
% 修改日期:2007年5月14日。

% 第二次修改
% 修改内容:修改了choose函数。输出的是分类权重较大基因的原始表达量,而不再是归一化表达量。
%          修改了redundance函数。输出的是特征基因的原始表达量,而不再是归一化表达量。
%          修改目的是使程序更加规范。便于其他程序调用本程序的输出数据。
% 修改时间:2007年6月1日。

%==========================================================================

% 主函数介绍:函数名:Cii_redundance
%           求出基因的分类信息指数cii;选出分类信息指数较大的一组基因(我称之为备选特征基因。);
%           对备选特征基因进行两两去冗余得到特征基因。
%           分类信息指数越大的基因包含的分类信息越多。
%           分类信息指数>某一阈值的基因被选出。其余的被淘汰。被选出的基因为备选特征基因。阈值是根据分类信息指数的柱图突跳点选的。
%           对备选特征基因两两去冗余,得到特征基因。两两去冗余的方法是:相关系数大的两个基因中分类信息指数小的被去掉,大的被保留。
%           弱相关的备选特征基因和强相关的分类信息指数大的备选特征基因,两者的集合是特征基因。
% 输入参数:data是基因表达谱数据,行是基因。列是样本。
%          data的第一行是样本的类型标志。0表示正常样本;1表示肿瘤样本。
           %===============================================================
           % 07年的胃癌数据。
           %data = importdata('gastric_cancer1519.xls');%1519*(20+20)
           %===============================================================
% 输入参数格式要求:行是基因。列是样本。特别注意:数据的第一行是样本类别标记。0表示正常样本;1表示肿瘤样本。
%
% 输出参数:feature_gene是特征基因的原始表达量。
%          feature_order是特征基因的顺序号。
%          important_data是备选特征基因的原始表达量。即分类信息指数大于阈值未经去冗余的基因的原始表达量。
%          important_order是备选特征基因的顺序号。即分类信息指数大于阈值未经去冗余的基因的顺序号。
% 函数中的阈值:阈值由用户自行输入。
%             gastric_cancer1519.xls的分类信息指数阈值=0.99;
%             gastric_cancer1519.xls的相关性阈值=0.95;

%==========================================================================
% 主函数:
function [feature_gene, feature_order,important_data, important_order] = Cii_redundance ( data )

%==========================================================================

% 第一步:将基因表达谱数据标准化。方法:(x-基因最小值)/(基因最大值-基因最小值)。同时计算每类样本的个数。

[ stand_data, sort_1, sort_2 ] = standardization ( data );

%==========================================================================

% 第二步:求基因的分类信息指数。

[information_index, gene_number] = cii ( stand_data, sort_1 );

%==========================================================================

% 第三步:画基因的分类信息指数散点图。
subplot (2, 1, 1);
[cii_max] = dot_cii ( information_index, gene_number);

%==========================================================================

% 第四步:画基因的分类信息指数柱图。找到柱图的突跳点。
subplot(2, 1, 2);
[threshold , gene_distributing] = pillar_cii ( information_index, sort_1, sort_2 );

%==========================================================================

% 第五步:根据设定的阈值,选出一组分类信息指数较大的基因(备选特征基因)。运行该函数需要设定合适的分类信息指数阈值。
[ important_data, important_order, cii_important , std_dataimportant ] = choose ( information_index, gene_number, stand_data, data );

%==========================================================================

% 第六步:对备选特征基因进行两两冗余分析,目的是去掉冗余基因。
[ feature_gene, feature_order ] = redundance ( std_dataimportant, cii_important , important_order, data, gene_number );

%==========================================================================
%主函数结束


        
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -