r语言pls分析_R语言中的偏最小二乘回归PLS-DA

主成分回归(PCR)的方法 本质上是使用第一个方法的普通最小二乘(OLS)拟合​来自预测变量的主成分(PC)。这带来许多优点:

预测变量的数量实际上没有限制。

相关的预测变量不会破坏回归拟合。

但是,在许多情况下,执行类似于PCA的分解要明智得多。

今天,我们将 在Arcene数据集上执行PLS-DA,  其中包含100个观察值和10,000个解释变量。

让我们开始使用R

癌症/无癌标签(编码为-1 / 1)存储在不同的文件中,因此我们可以将其直接附加到完整的数据集,然后使用公式语法来训练模型。

# Load caret, install if necessary

library(caret)

arcene

colClasses = c(rep("numeric", 10000), "NULL"))

# Add the labels as an additional column

arcene$class

,现在的主要问题是:

我们如何根据其血清的MS谱准确预测患者是否生病?

哪种蛋白质/ MS峰最能区分患者和健康患者?

关于预处理,我们将使用preProc参数以精确的顺​​序删除零方差预测变量,并对所有剩余的变量进行标准化。考虑样本的大小(n= 100),我将选择10倍的重复5倍交叉验证(CV)–大量重复补偿了因减少的折叠次数而产生的高方差–总共进行了50次准确性估算。

# Compile cross-validation settings

set.seed(100)

myfolds

control

此图描绘了CV曲线,在这里我们可以学习从使用不同数量的LV(x轴)训练的模型中获得的平均准确度(y轴,%)。

现在,我们 进行线性判别分析(LDA)进行比较。 我们还可以尝试一些更复杂的模型,例如随机森林(RF)。

最后,我们可以比较PLS-DA,PCA-DA和RF的准确性。

我们将使用caret :: resamples编译这三个模型,并借用ggplot2的绘图功能来比较三种情况下最佳交叉验证模型的50个准确性估计值。

显然,长时间的RF运行并没有转化为出色的性能,恰恰相反。尽管三个模型的平均性能相似,但RF的精度差异要大得多,如果我们要寻找一个健壮的模型,这当然是一个问题。在这种情况下,PLS-DA和PCA-DA表现出最好的性能(准确度为63-95%),并且这两种模型在诊断新血清样品中的癌症方面都表现出色。

总而言之,我们将使用PLS-DA和PCA-DA中预测的可变重要性(ViP)确定十种最能诊断癌症的蛋白质。

上面的PLS-DA ViP图清楚地将V1184与所有其他蛋白质区分开。这可能是一个有趣的癌症生物标志物。当然,必须进行许多其他测试和模型以提供可靠的诊断工具。

如果您有任何疑问,请在下面发表评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值