本文主要是介绍一种特征选择算法TriVote(An OMIC biomarker detection algorithm TriVote and its application ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 摘要
转录组和甲基化组模式是受可遗传信息和环境因素影响的两大主要基因组数据来源,已被广泛用作疾病诊断和预后的生物标志物。现代转录组和甲基化组分析技术可以检测到人类基因组中数以万计甚至数以百万计的探测残留物的状态,并对现有的特征选择算法提出了一个重大的计算挑战。本研究提出一种三步特征选择算法,TriVote,以检测具有高精确度的二分类性能的转录组或甲基化组子集。TriVote在17个转录组和2个甲基化组上均优于其它特征选择算法,具有更高的分类精度和更小的特征数。此外,文章还讨论了TriVote检测的甲基化生物标记物的生物学功能及其疾病相关性。还发布了一个易于使用的Python包,以方便以后的应用程序。
2. 介绍
现有的特征选择研究大多集中在转录组生物标志物的检测上。有两大类特征选择算法:过滤器和包装器。特征选择是一个非确定性多项式时间困难(NP-hard)问题,换句话说,在多项式运行时间内找到全局最优解是计算不可能的。所以除了对小数据集的穷尽筛选之外,所有的特征选择算法都是近似算法。过滤器利用统计检验来计算每个特征与表型的关联显著性,并根据它们的关联显著性对特征进行排序。包装器试图通过优化特征子集的目标函数来评估一个启发式选择的特征子集,通常是一个预定义的分类算法的精确度。包装器通常比过滤器获得更好的分类性能,因为过滤器假设特征之间相互独立,并且没有直接优化分类准确率。混合特征选择算法利用了来自过滤器和包装器的模式。
本研究提出了一种新的特征选择算法TriVote,该算法能够高效、准确地对转录组和甲基体进行特征选择。
3. 材料和方法
3.1 数据集总结
为了对TriVote和现有特征选择算法的表现进行无偏研究,本研究选择了17个转录组和2个甲基组数据集进行比较。这17个转录组数据集都是广泛使用和公开的。包括DLBCL、Pros、Colon、Leuk、Mye、ALL1、ALL2、ALL3、ALL4、CNS、Lym、Adeno、Gas,、Gas1、Gas2 、T1D和Stroke。此外还有两个甲基化数据GEO ID: GSE80417和GEO ID: GSE42861。
3.2分类性能测量
本文主要研究二值分类问题。也就是说,这个问题中的数据集有两类样本。样本通常分为正样本和负样本,缩写为P = {P1, P2,…, Pn}, N = {N1, N2,…,Nm}。正样本数和负样本数分别为n和m。数据集中的每个样本都是一个k维数据向量X = <F1(x),F2(x),…,Fk(x)>。二值分类器的目标是确定分配一个类标签给样本X。
采用三种广泛使用的指标来评价二值分类器的预测性能,即灵敏性(Sn)、特异性(Sp)和准确性(Acc)。让正确预测的阳性样本的数量为TP(真阳性),其余的数量为FN(假阴性)。同样,正确预测的负样本的数量定义为TN(真阴性),而假阳性样本的数量定义为FP。在本例中,敏感性计算为Sn = TP/ (TP + FN),特异性定义为Sp = TN/ (TN + FP)。整体精度Acc公式为Acc = (TP + TN)/(TP + FN + TN + FP)。这些性能测量值是交叉验证策略的20次随机运行的平均值。随机运行的次数是用户指定的参数。
3.3 特征选择性能度量
“大p小n”范式存在于大尺度生物医学数据集中,大多数基于组学数据的生物标志物检测研究都试图使用最小数量的特征来实现最大的预测精度。同时优化两个目标是困难的。因此,本研究首先试图提高分类精度。选择多种分类算法来评估一个特征子集在分类问题上的表现如何。如果两个分类器的性能相似,那么根据Occam 's razor的规则,选择功能更少、模型结构更简单的分类器。
用支持向量机(SVM)、朴素贝叶斯(NBayes)、决策树(DTree)和最近邻(NN)四种代表性分类算法对给定的特征子集进行评价。性能度量mAcc (maximum accuracy)定义为四个分类器在给定特征子集上所达到的最大精度。
3.4 提出的算法TriVote
TriVote使用一系列三个选择步骤迭代筛选特征,直到满足用户定义的特征号和mAcc的界限为止。TriVote的伪代码在框1中描述。
由于文章在服务器上,全文详见:
http://bbit.vip/service/main.php?version=1&type=article&id=86
这篇关于一种特征选择算法TriVote(An OMIC biomarker detection algorithm TriVote and its application )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!