1. 摘要

    大数据时代的到来给机器学习研究者带来了运行时间和学习效率的挑战。生物医学基因组研究就是其中一个大数据领域,它极大地改变了生物医学研究。但是数据生产的高成本和招募参与者的困难将“大p小n”的范式引入到生物医学研究中。特征选择通常用于减少生物医学特征的数量,从而实现一个稳定的数据独立的分类或回归模型。本研究随机改变广泛使用的增量特征选择(IFS)策略的第一个元素,选择可能被统计关联评价算法排序较低的最佳特征子集,如t检验。假设可以通过编排两个低等级的特征来获得较好的分类性能。提出的随机重启动增量特征选择(RIFS)算法比现有算法具有更高的分类精度和更小的特征数。RIFS也优于现有的前列腺恶性肿瘤的甲基体诊断模型,具有更大的准确性和更少的转录组特征。

2. 材料和方法

2.1 二元分类问题

    本研究利用二值分类性能评估特征子集。一个二值分类问题有两组样本,即正§和负(N)样本。P和N也用来表示正样本数和负样本数。二分类问题是最简单的分类模型,通常采用启发式规则求解。这也是生物医学研究者最广泛采用的问题设置,如全基因组关联研究中的疾病对照样本,以及临床生存分析中两种表型的样本等。

2.2 两类特征选择算法

    本研究将提出的算法与两大类特征选择算法进行比较。3个过滤器算法,即基于t检验排序(Trank)、假阳性分类率(FPR)和基于wilcox -test排序(Wrank),在选择与本研究提出的算法相同数量的特征时进行评估。包装器可以直接推荐一组特征,而不需要用户决定特征的数量。本研究将Lasso、Random Forest (RF)和Ridge Regression (Ridge)三种wrappers与RIFS进行比较。因此,本文对这些特征选择算法的分类性能和特征数量进行了研究。其中两个算法,Trank和Wrank,来自Python scipy包,其他所有算法都来自Python scikit-learn包。包装算法可以通过使用不同的参数实现不同的效果。假设包装器算法的默认参数在大多数情况下都能正常工作。为了进行公平比较,在ALL1/ALL2/ALL3/ALL4四个数据集上对RIFS的参数进行了优化,本研究在所有17个转录组数据集上对RIFS与现有算法进行了综合比较。Lasso参数Alpha设置为0.1。特征选择算法的其他参数都使用默认值。

2.3 性能度量

    采用三种广泛使用的指标来评价二值分类器的预测性能,即灵敏性(Sn)、特异性(Sp)、准确性(Acc)和F-score。让正确预测的阳性样本的数量为TP(真阳性),其余的数量为FN(假阴性)。同样,正确预测的负样本的数量定义为TN(真阴性),而假阳性样本的数量定义为FP。在本例中,敏感性计算为Sn = TP/ (TP + FN),特异性定义为Sp = TN/ (TN + FP)。整体精度Acc公式为Acc = (TP + TN)/(TP + FN + TN + FP)。F-score也被称为F-measure或F1-score,广泛用于评价二值分类模型的性能。F-score被定义为2×(Precision×Sn) /(Precision+Sn),Precision=TP / (TP+FP)。

    在数据集上对五种具有代表性的分类算法进行评价,并将这五种算法在数据集特征子集上所达到的最大精度定义为最大精度mAcc。支持向量机(SVM)是一种流行的二分类算法。K近邻(K Nearest Neighbors, KNN)算法是一种直观的基于距离的分类算法。决策树(DTree)将生成一个易于解释的分类器。朴素贝叶斯分类器(NBayes)假设所有的特征都是相互独立的。Logistic回归(LR)训练一个线性分类函数,它可以提示所选特征的权重。

所有的算法都在两个主要的Python版本(即2.7.13和3.6.0)下测试。

2.4 生物医学数据集

    本研究选择了17个转录组数据集进行测试。这17个转录组数据集都是广泛使用和公开的。包括DLBCL、Pros、Colon、Leuk、Mye、ALL1、ALL2、ALL3、ALL4、CNS、Lym、Adeno、Gas,、Gas1、Gas2 、T1D和Stroke。

2.5 RIFS一种随机重新启动的增量特征选择算法

    对增量特征选择算法进行改进,使其具有起始位置k和连续性能下降截止点D,记为算法sIFS(k, D)。对于具有n个特征和m个样本的二分类问题,根据特征与类标签的关联显著性对特征进行排序。特征与类标签的关联显著性由t-test的统计显著性P值计算,并根据p值排序,特征被记为fi , i∈{1 2n}。该算法将连续向特征子集中添加下一个元素,直到二分类精度连续下降D次。算法sIFS(k, D)的伪代码如下所示。

    随机重启增量特征选择(RIFS)算法基于单元算法sIFS (k, D)。假设多个sIFS(k, D)算法可以生成一个比经典算法有更好的分类精度的特征子集。RIFS的伪代码如下所示。

2.6 随机种子k-fold交叉验证

    利用k折交叉验证策略计算总体分类性能。数据集被随机分割成k折,并使用每一折来验证从剩下的k−1折训练出来的模型。KFCV将P和N分别随机分成k个大小相等的子集,给定一个具有正样本和负样本的二值分类数据集。P={P1, P2,Pk}和N={N1、N2,Nk}。迭代地选择Pi∪Ni作为测试数据集,其他样本作为给定分类算法的训练数据。基于这一轮迭代计算分类性能度量值Sn、Sp和Acc。

    RIFS使用增量规则从给定的起始特征中选择特征,只保留分类性能最好的特征子集供进一步分析。由于不同的数据拆分会产生不同的分类性能,因此会使用多个随机种子来产生KFCV计算。为了消除过拟合和随机分割的影响,本研究进行了10折交叉验证,在SVM、KNN、DTree、NBayes和LR五个分类器中选择分类精度最大的分类器。

2.7 实验过程

    将RIFS与六种主要的特征选择算法(即三种过滤器和三种包装器)进行比较。性能度量采用10倍交叉验证的方法计算,在SVM、KNN、DTree、NBayes和LR五种分类算法中,分类精度mAcc为5种分类器的最大值。具体过程如图1所示。


由于文章在服务器上,全文详见:
http://bbit.vip/service/main.php?version=1&type=article&id=85

RIFS:一种随机重启的增量特征选择算法(RIFS: a randomly restarted incremental feature selection algorithm)相关推荐

  1. 八皇后问题和八数码问题的最陡上升爬山法、首选爬山法、随机重启爬山法、模拟退火算法的分析和实现

    对经典算法的问题的回顾与感想 对八皇后问题和八数码问题分别用最陡上升爬山法.首选爬山法.随机重启爬山法.模拟退火算法来实现,并且分析他们的性能. 分析 要求实现的各个算法是有共同点的,比如,八皇后问题 ...

  2. 爬山法、随机重启爬山法、模拟退火算法对八皇后问题和八数码问题的性能测试...

    代码地址:https://github.com/laiy/AI/tree/master/awesome-search 一些前提: 1. 首先要明确这些算法并不是用于解决传统的搜索问题的(环境是可观察的 ...

  3. 特征选择综述阅读:A survey on feature selection methods

    目录 1.介绍 2.过滤方法(Filter methods) 2.1相关性标准 2.2 互信息 2.2.1 基于条件互信息的二值数据特性排名标准 2.3 小结 3.包裹式方法(Wrapper meth ...

  4. python分类时特征选择_关于python:是否有可用于分类数据输入的特征选择算法?...

    我正在训练一个具有10个左右分类输入的神经网络. 在对这些分类输入进行一次热编码之后,我最终将大约500个输入馈入网络. 我希望能够确定我每个分类输入的重要性. Scikit-learn具有许多功能重 ...

  5. 文本特征选择 java代码_文本分类入门(十)特征选择算法之开方检验

    前文提到过,除了分类算法以外,为分类文本作处理的特征提取算法也对最终效果有巨大影响,而特征提取算法又分为特征选择和特征抽取两大类,其中特征选择算法有互信息,文档频率,信息增益,开方检验等等十数种,这次 ...

  6. 文本分类入门(十)特征选择算法之开方检验

    前文提到过,除了分类算法以外,为分类文本作处理的特征提取算法也对最终效果有巨大影响,而特征提取算法又分为特征选择和特征抽取两大类,其中特征选择算法有互信息,文档频率,信息增益,开方检验等等十数种,这次 ...

  7. 特征选择算法之卡方检验

    转自:http://www.blogjava.net/zhenandaci/archive/2008/08/31/225966.html 前文提到过,除了分类算法以外,为分类文本作处理的特征提取算法也 ...

  8. 斯坦福大学机器学习——特征选择(Feature selection)

    特征选择是一种及其重要的数据预处理方法.假设你需要处理一个监督学习问题,样本的特征数非常大(甚至 ),但是可能仅仅有少部分特征会和对结果产生影响.甚至是简单的线性分类,如果样本特征数超过了n,但假设函 ...

  9. python特征选择relieff图像特征优选_ReliefF与QPSO结合的故障特征选择算法

    [1] Zhang L, Zhang F, Hu Y. A Two-phase Flight Data Feature Selection Method Using both Filter and W ...

最新文章

  1. 【转载】xmind的使用安装方法
  2. Apache架构师的30条设计原则!
  3. spark大批量读取Hbase时出现java.lang.OutOfMemoryError: unable to create new native thread
  4. KMM+Compose 开发一个Kotlin多平台应用
  5. Ubuntu 14.04 安装SSH
  6. 做技术的,聊聊研发。
  7. INI文件读写--VC6.0
  8. Python gevent高并发(限制最大并发数、协程池)
  9. python int32 int8_python-使用numpy视图将int32转换为int8
  10. WPF中两个窗口的互斥
  11. 不用wp-pagenav,wordpress自带分页代码调用
  12. 每日算法系列【EOJ 3031】二进制倒置
  13. vue组件挂载到全局方法
  14. 2011年工作安排_计算机技术与软件专业技术资格考试
  15. WinCC RT Adv 项目下载与自动运行
  16. zoj 2576 Queen Collisions
  17. c语言的实验题答案,大一C语言上机实验试题及答案
  18. minio 的python客户端工具
  19. Nginx根据url并切割url进行路由转发
  20. Matlab二维图形绘制与图形处理

热门文章

  1. python 字符串提取操作,使用Python re.match提取字符串
  2. java antlr_antlr4 入门
  3. 软件测试工程师笔试题带答案
  4. 华为泰山2280服务器U盘安装系统,华为泰山2280服务器远程安装
  5. mPaaS小程序一些记录
  6. SDWAN流量调度系统的配置信息
  7. 观影感受 之 《分手男女》
  8. android添加语言,android如何添加一种新语言
  9. 【Spring】AOP底层实现原理 —— 动态代理类的创建(JDK、CGlib)、工厂加工原始对象
  10. 易百教程Oracle,Hibernate入门程序