什么是PCA

主成分分析(Principal Component Analysis,PCA)是一种无监督的多元统计分析方法。在蛋白组学和代谢组学研究中能从总体上反应各组样本之间的总体差异和组内样本之间的变异度大小,其结果一目了然,在许多蛋白组学和代谢组学生信分析中常应用这种方法来探究各组样本中的差异。

图 | PCA主成分分析在蛋白组学中的应用

PCA的基本原理:利用数学的方法,将原来变量重新组合成新的互相无关的几个综合变量(即主成分),对所有因素按重要性排序,通常靠后的微小因素被忽略掉,从而起到简化数据的作用。实际项目中,我们可以通过PCA找出蛋白组学和代谢组学中的离群样本、判别相似性高的样本簇等来找到样本之间的差异。

PCA算法在蛋白组学和代谢组学中的应用

在蛋白组学,代谢组学研究应用领域中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,蛋白组学、代谢组学研究中许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的结论。

因此需要找到一种合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。由于各变量之间存在一定的相关关系,因此可以考虑将关系紧密的变量变成尽可能少的新变量,使这些新变量是两两不相关的,那么就可以用较少的综合指标分别代表存在于各个变量中的各类信息。主成分分析与因子分析就属于这类降维算法。

在蛋白组学和代谢组学研究中,如何通过机器学习语言方便快速的实现PCA的分析?下面可以跟着小鹿一起get~~PCA分析与计算机语言相结合的应用及绘图。助力您在代谢组学,蛋白组学研究分析中的难题。

PCA的算法步骤

觉得PCA算法晦涩难懂?

小鹿帮您总结了6步PCA的算法步骤,一看您就明白~~

设有m条n维数据:

1)将原始数据按列组成n行m列矩阵X;

2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值;

3)求出协方差矩阵;

4)求出协方差矩阵的特征值及对应的特征向量;

5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P;

6)Y=PX即为降维到k维后的数据;

如何用python快速实现绘图?

python作为一门优雅的计算机语言在蛋白组学和代谢组学生信领域中有着广泛的应用,虽然上述步骤比较多,但其实并不需要我们从头实现,我们可以用python中的科学计算包sklearn,和基础绘图工具matplotlib实现PCA的分析和绘图过程。

用以上python实现的PCA主成分分析图如下:(赶紧打开电脑实操,快捷教程不可多得哦!

)

PCA分析 | 鹿明生物

鹿明生物作为一家以生物科技为核心,以蛋白组学、代谢组学为两大主攻方向的多层组学研究机构。作为生命科学领域的科技创新型企业,不仅在生信分析上,鹿明生物可以通过自己的经验更好的帮助各位老师。同时,为展示蛋白质组、代谢组等多层组学在生命科学研究中的最新前沿研究进展历程,促进行业内各研究领域科学家们的交流学习等。鹿明生物推出蛋白组学PCT-DIA、DIA、PRM等前沿技术专题系列讲座及蛋白组学、代谢组学等多层组学专题系列讲座。希望这2大系列8大专题课程以及各路组学专家把关主讲的重磅免费线上讲座,能够进一步开拓您的科研思路。

我猜你还想看

python做pca图_【教程】组学研究,用python快速实现PCA分析和绘图相关推荐

  1. python画聚类树状图_影像组学学习笔记(36)-聚类树状图Dendrogram的python实现

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(36)主要介绍: 聚类树状图Dendrogram的python实现 应该注意一下scipy版本的问题:scipy 1.5.0版本画聚类树 ...

  2. python做路径图_初学者福利:python路线图

    原标题:初学者福利:python路线图 编程思维简单地分成了两个主要部分,一个是建模,一个是算法优化. 举个例子,比如我们想要做一个程序,这个程序会自动把大象装进冰箱里.那么建模是什么呢?就是我们要知 ...

  3. 用python做鹦鹉螺图_加速鹦鹉螺Python阅读图像的Exi

    我已经编写了一个Nautilus扩展来读取picture的元数据(执行exiftool),但是当我打开包含许多文件的文件夹时,它确实会减慢文件管理器的运行速度并挂起,直到它读取完文件的数据.在 有没有 ...

  4. python画管柱图_(伍晓平)Python编程技术[Python数据分析与展示

    更多相关问题 C++中,每个对象都是由 和 这两部分组成的. 关于小儿维生素D缺乏性佝偻病的概念,以下叙述不正确的是( ) 细胞学说的内容包括? 双打比赛中,接球员甲准备接球时,其同伴丙可以任意站位, ...

  5. python实现多线程下载_多线程分段下载研究的python实现(一)

    我一直对下载文件比较感兴趣.现在我下载文件大部分是用迅雷,但迅雷也有一些不如意的地方,内存占用大,一些不必要的功能太多,不可定制.尤其是最后一点.现在有些下载对useragent,cookie,aut ...

  6. cytoscape使用方法_7种方法 ,订制你的专属venn图!-代谢组学/蛋白组学研究

    维恩图(Venn diagram),或译Venn图.文氏图.温氏图.范氏图,是用以表示集合(或类)的一种图. 大家对这种图应该不陌生,他们长这样: 或是这样: 以及,这~~样~~~~ 在数据可视化图片 ...

  7. 手艺人吧:为顾客“量脚”做鞋(图)_网易新闻中心

    手艺人吧:为顾客"量脚"做鞋(图)_网易新闻中心 手艺人吧:为顾客"量脚"做鞋(图)_网易新闻中心 手艺人吧:为顾客"量脚"做鞋(图) po ...

  8. Cell子刊:微生物组学研究的突破与瓶颈

    本文转自肠道产业,点我阅读原文 https://mp.weixin.qq.com/s/ADq-xtRKg82SSgtEj6bcMA 这是<肠道产业>第 556 篇文章 编者按 在过去的 1 ...

  9. 10篇一作SCI博士的走心分享--宏组学研究之“道”

    写在前面 我自己做科研的逻辑其实挺简单的,就是拆分.细化.成本核算的一个过程. 但是这种东西就是这个样子,说起来容易,理解起来难,转化为自身并加以应用更难!! 每个人最终其实都应该形成自己的" ...

最新文章

  1. 如何用消息系统避免分布式事务?
  2. c#中SqlHelper类的编写(三)
  3. 通俗易懂SpringMVC整体框架理解
  4. django-python3-mysql问题
  5. android udp 收发例子_网络协议之TCP和UDP
  6. robot1,Mechanical structure
  7. SAP UI5框架绘制footer区域的入口调试
  8. 【C语言】指针进阶实践(指针数组和创建单链表)
  9. oc-10-对象做参数
  10. python URLError,HTTPError 的异常处理
  11. js-格式化数字保留两位小数-带千分符
  12. atitit.浏览器web gui操作类库 和 操作chrome浏览器的类库使用总结
  13. java安装没有jdk文件_java文件在没有安装jdk的windows下运行。
  14. 为什么WiFi自动信道选到的信道多数在1/6/11
  15. 电脑只能上QQ不能上网怎么办
  16. 快手打开后不显示画面_快手打开不显示图像怎么办
  17. 【看表情包学Linux】冯诺依曼架构 | 理解操作系统 | 基于 Pintos 实现新的用户级程序的系统调用
  18. 语法制导翻译和中间代码生成
  19. Why Littlefinger says ‘an historic day‘ not ‘a historic day‘?
  20. python安装出现modify_pycharm之运行时出现Edit configuration及老是弹出Modify Setup(转载,亲测有效)...

热门文章

  1. [零基础学JAVA]Java SE面向对象部分-18.面向对象高级(06)
  2. citus:PostgresQL多租户案例
  3. 如何翻滚截屏_电脑端文档如何滚动截图(长截图)?
  4. offer收割攻略,Web前端面试真题JavaScript系列(带详解)
  5. 五万字前端面试宝典——前端百题斩(上)新鲜出炉
  6. linux timer 回调函数,Linux内核中关于定时器Timer的应用
  7. 滴普技术荟:基于深度学习的云边一体化OLED屏缺陷自动光学检测技术
  8. 百度云云盘搜索助手可查询提取码 软件内置5个搜索引擎供您查资源,另外内置查询提取码功能
  9. 基于Java Swing 的马踏棋盘小游戏(附源码!免费下载!)
  10. JMS入门_StepByStep