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

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

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值