NIPT聚类项目说明

Posted yangdongni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NIPT聚类项目说明相关的知识,希望对你有一定的参考价值。

NIPT聚类项目说明

目的:使用聚类分析将NIPT分为可信的几类,然后根据该类的特征去预测以后数据的分类

  1. 该项目有两种文件:GC值和样本信息
  2. 现根据GC值先聚类,然后再剔除不合群的值,在聚类。(难点:如何去除离群值)
  3. 看聚类的结果加上样本信息,用决策树判断聚类的效果,看是否理想(难点:聚类的效果)
  4. 然后用测试集验证

 

聚类分析的一般步骤:

1.选择合适的变量

2.缩放数据

3.寻找异常点

4.计算距离

5.选择聚类算法

6.获得一种或多种聚类方法

7.确定聚类数目

8.获得最终的聚类解决方案

9.结果可视化

10.解读类

11.验证结果

 

代码和步骤:

  1. 数据的处理为把所有样本相应的染色体符合条件的数据整合到一起/home/ionadmin/ydn/YDN/julei_4chr.R
  2. 标准化,生成距离结构,类平均发生成聚类

 data.scaled <- scale(data)

  1. 确定聚类个数

3.1画热度图

d:是dist()函数计算出的距离矩阵

dist.e=dist(julei[,3:16381],method=‘euclidean‘)

heatmap(as.matrix(dist.e),labRow = F, labCol = F)

3.2NbClust()函数判断生成类的个数 

library(NbClust)

nc <- NbClust(nutrient.scaled, distance="euclidean", min.nc=2, max.nc=15, method="average")

table(nc$Best.nc[1,])?

barplot(table(nc$Best.nc[1,]))

4.聚类

fit.average <- hclust(d, method="average")

#确定分类个数

re <- rect.hclust(julei.average, k = 2)

5.将分类列出来

re

for (i in 1:9) {

  print(paste("It‘s the part",i,""))

  print(julei[re[[i]],]$sample)

}

6.用决策树判断类的特征

traindata <- read.xlsx("C:\\Users\\RD001\\Desktop\\R语言的学习\\聚类分析\\0312_4.xlsx", sheetIndex = 1,encoding = ‘UTF-8‘)

myFormula <- 聚类 ~ 分类+sample+样本类型+time+采样时间+年龄+出生日期+送检医院+孕产史+孕周+体重+身高+受孕方式+B超结果+样本来源+接收时间+接收操作人+任务单号+血浆分离时间+分离操作人+血浆存放位置+DNA提取时间+DNA.血浆体积.ul.+DNA浓度.ng.ul.+DNA提取试剂盒批号+DNA.提取操作人+建库时间+Barcode+文库浓度.ng.ul.+文库构建操作人+文库试剂盒批号+文库存放位置+制备时间+模板制备操作人+OT仪器编号+ES仪器编号+测序时间+测序操作人+测序仪编号+服务器IP+有效数据量+Total_effective_reads_count+Non_zero_bin_fraction+性别

data_ctree <- ctree(myFormula, data = traindata)

table(predict(data_ctree),traindata$聚类)

plot(data_ctree)

 

以上是关于NIPT聚类项目说明的主要内容,如果未能解决你的问题,请参考以下文章

关于机器学习中山峰聚类算法的说明

谷歌标记聚类。如何将此库添加到项目中?迅速

聚类算法学习笔记

聚类简介第四部分:聚类算法

GRG分析组 | 聚类简介第四部分:聚类算法

高斯混合模型GMM的EM算法实现(聚类)