Python实现无监督基因表达量患者聚类分析
使用Python进行无监督基因表达量患者聚类分析
本项目使用Python实现K-means聚类算法,根据基因表达量对患者进行聚类,并将聚类结果及每个聚类簇的基因表达量平均值输出到Excel文件。
数据读取
- 读取Excel表格,数据路径为'C:\Users\lenovo\Desktop\HIV\DNN神经网络测试\HIV数据 - 副本.xlsx'。
- 第0行为'name'样本名称和基因名称,第0列为患者名称,其余各列为基因表达量,每一行代表一个样本。
K-means聚类
- 实现K-means聚类算法,其中K=3,聚类加入随机种子内容,迭代次数为100次。
结果输出
- 将聚类结果输出为Excel文件,文件名为'HIV_cluster_result.xlsx',第0列为患者名称,第1列为聚类结果(1,2,3表示三个聚类簇中的哪一个簇)。
- 计算每个聚类簇中的基因表达量的平均值,将结果输出为Excel文件,文件名为'HIV_cluster_mean.xlsx',第0行为聚类簇的编号(1,2,3),第0列为基因名称,其余各列为对应聚类簇中该基因表达量的平均值。
代码示例
# 导入必要的库
import pandas as pd
from sklearn.cluster import KMeans
# 读取数据
data = pd.read_excel('C:\Users\lenovo\Desktop\HIV\DNN神经网络测试\HIV数据 - 副本.xlsx', index_col=0)
# 进行K-means聚类
kmeans = KMeans(n_clusters=3, random_state=0, max_iter=100)
kmeans.fit(data.T)
# 输出聚类结果
result = pd.DataFrame({'患者名称': data.index, '聚类结果': kmeans.labels_})
result.to_excel('HIV_cluster_result.xlsx', index=False)
# 计算每个聚类簇中的基因表达量的平均值
cluster_mean = pd.DataFrame(kmeans.cluster_centers_, columns=data.columns)
cluster_mean.index = [1, 2, 3]
cluster_mean.to_excel('HIV_cluster_mean.xlsx')
总结
本项目通过Python实现了根据基因表达量对患者进行无监督聚类分析,并将结果输出到Excel文件,方便后续的分析和研究。
原文地址: https://www.cveoy.top/t/topic/nfBF 著作权归作者所有。请勿转载和采集!