matlab多维数据分类,选择用于高维数据分类的特征

本示例通过Matlab展示了如何处理高维数据分类问题,特别是对于卵巢癌数据集。通过加载和预处理数据,然后将其划分为训练集和测试集。由于特征数量远大于观测值,直接使用QDA会导致错误。采用筛选器方法,如t检验选择特征,并通过绘制MCE与特征数的关系图确定最佳特征数。最后,使用前向序列特征选择和10折交叉验证进一步优化特征子集,实现了更低的测试集MCE。
摘要由CSDN通过智能技术生成

加载数据

血清蛋白质组图谱诊断可用于区分患者和非患者的观测值。图谱是使用表面增强激光解吸电离 (SELDI) 蛋白质质谱法产生的。这些特征是特定质荷比下的离子强度水平。

此示例用到了使用 WCX2 蛋白质阵列生成的高分辨率卵巢癌数据集。经过一些预处理步骤(类似于 Bioinformatics Toolbox™ 示例预处理原始质谱数据中所示的步骤),数据集现在包含两个变量 obs 和 grp。obs 变量包含 216 个观测值,具有 4000 个特征。grp 中的每个元素定义 obs 的对应行所属的组。

load ovariancancer;

whos

Name Size Bytes Class Attributes

grp 216x1 25056 cell

obs 216x4000 3456000 single

将数据分成训练集和测试集

此示例中使用的一些函数调用 MATLAB® 内置随机数生成函数。要得到与此示例完全相同的结果,请执行以下命令,将随机数生成器设置为已知状态。否则,您的结果可能会有所不同。

rng(8000,'twister');

模型对训练数据的处理性能(再代入性能)并不能很好地反映模型对独立测试集的处理性能。再代入性能通常会过于乐观。要预测所选模型的性能,您需要使用另一个数据集(而不是用来构建模型的数据集)来评估模型性能。此处,我们使用 cvpartition 将数据分成大小为 160 的训练集和大小为 56 的测试集。训练集和测试集的组比例与 grp 中的组比例大致相同。我们使用训练数据选择特征,并使用测试数据判断所选特征的性能。这通常称为留出法验证。另一种简单但广泛使用的模型评估和选择方法是交叉验证,本示例稍后会进行说明。

holdoutCVP = cvpartition(grp,'holdout',56)

holdoutCVP =

Hold-out cross validation partition

NumObservations: 216

NumTestSets: 1

TrainSize: 160

TestSize: 56

dataTrain = obs(holdoutCVP.training,:);

grpTrain = grp(holdoutCVP.training);

使用全部特征对数据进行分类存在的问题

如果不先减少特征的数量,有些分类算法在处理本示例中使用的数据集时可能会失败,因为特征的数量远远大于观测值的数量。在本示例中,我们使用二次判别分析 (QDA) 作为分类算法。如果我们使用全部特征对数据应用 QDA,如下所示,我们将收到错误消息,因为每个组中没有足够的样本来估计协方差矩阵。

try

yhat = classify(obs(test(holdoutCVP),:), dataTrain, grpTrain,'quadratic');

catch ME

display(ME.message);

end

The covariance matrix of each group in TRAINING must be positive definite.

使用简单的筛选器方法选择特征

我们的目的是找出一小组能够实现良好分类性能的重要特征,从而减少数据的维度。特征选择算法可以大致分为两类:筛选器方法和封装器方法。筛选器方法依赖于数据的一般特性来评估和选择特征子集,而不涉及所选择的学习算法(此示例中为 QDA)。封装器方法利用所选学习算法的性能来评估每个候选特征子集。封装器方法会搜索更适合所选学习算法的特征,但如果学习算法需要很长时间运行,则封装器方法可能会比筛选器方法慢很多。有关“筛选器”和“封装器”的概念,请参阅以下文献&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值