西电数据挖掘实验二 聚类技术

您所在的位置:网站首页 技术指标类型聚类 西电数据挖掘实验二 聚类技术

西电数据挖掘实验二 聚类技术

2024-02-26 15:21| 来源: 网络整理| 查看: 265

文章目录 实验二 聚类技术---细胞聚类一、分析及设计二、详细实现1. 数据的读取及预处理2. 对数据进行降维3. 使用K-means聚类算法进行聚类4. 可视化聚类结果5. 将聚类结果与金标结果进行对比 三、实验结果1. Klein数据2. Lake数据3. Romanov数据4. Xin数据5. Zeisel数据 总结

实验二 聚类技术—细胞聚类

随着单细胞数据的出现,一个重要的问题是如何对不同的细胞进行聚类,可以使用不同的聚类算法对细胞聚类。 1、单细胞数据如表1 所示; 2、由于单细胞数据的高维度,使用降维方法进行降维; 3、 将聚类结果与金标结果进行对比,计算ARI/NMI指标; 4、可视化聚类结果。

表1 数据集列表 单细胞数据细胞数基因数类型数Klein2717241754Lake30422512316Romanov24341241757Xin1600398518Zeisel3005199729

注:  .rds后缀为数据文件,里面行表示基因,列表示细胞。  .rds_leave为细胞类型(金标结果)。

一、分析及设计

  先使用PCA对数据进行预处理,再用K-means聚类算法对数据进行聚类。

二、详细实现 1. 数据的读取及预处理

  本实验的第一个难点可能在于.rds文件的读取,但其实,直接使用pd.read就可读入。

#读入数据 #data = pd.read_csv('klein.rds',sep = '\t') #data = pd.read_csv('lake.rds',sep = '\t') #data = pd.read_csv('romanov.rds',sep = '\t') #data = pd.read_csv('xin.rds',sep = '\t') data = pd.read_csv('zeisel.rds',sep = '\t') data_T = data.T 2. 对数据进行降维 from sklearn.decomposition import PCA pca = PCA(0.95) pca.fit(data.T) X = pca.transform(data.T) 3. 使用K-means聚类算法进行聚类 from sklearn.cluster import KMeans km = KMeans(n_clusters=9,random_state=1) km.fit(X) y_predict = km.predict(X) # 预测 4. 可视化聚类结果 plt.scatter(X[:,0],X[:,1],c=y_predict) # 预测为同一簇的样本同颜色 plt.show() 5. 将聚类结果与金标结果进行对比 from sklearn.metrics.cluster import normalized_mutual_info_score,adjusted_mutual_info_score NMI = lambda x, y: normalized_mutual_info_score(x, y, average_method='arithmetic') AMI = lambda x, y: adjusted_mutual_info_score(x, y, average_method='arithmetic') #label = pd.read_csv('klein.rds_label',sep = '\t') #label = pd.read_csv('lake.rds_label',sep = '\t') #label = pd.read_csv('romanov.rds_label',sep = '\t') #label = pd.read_csv('xin.rds_label',sep = '\t') label = pd.read_csv('zeisel.rds_label',sep = '\t') label_1 = np.asarray(label) label_true = label_1[:,0] NMI(label_true,y_predict) AMI(label_true,y_predict) 三、实验结果 1. Klein数据

 (1)降维后的数据量 在这里插入图片描述  (2)聚类结果 在这里插入图片描述  (3)聚类结果与金标结果对比(NMI&ARI指标) 在这里插入图片描述

2. Lake数据

 (1)降维后的数据量 在这里插入图片描述  (2)聚类结果 在这里插入图片描述  (3)聚类结果与金标结果对比(NMI&ARI指标) 在这里插入图片描述

3. Romanov数据

 (1)降维后的数据量 在这里插入图片描述  (2)聚类结果 在这里插入图片描述  (3)聚类结果与金标结果对比(NMI&ARI指标) 在这里插入图片描述

4. Xin数据

 (1)降维后的数据量 在这里插入图片描述

 (2)聚类结果 在这里插入图片描述

 (3)聚类结果与金标结果对比(NMI&ARI指标) 在这里插入图片描述

5. Zeisel数据

 (1)降维后的数据量 在这里插入图片描述

 (2)聚类结果 在这里插入图片描述

 (3)聚类结果与金标结果对比(NMI&ARI指标) 在这里插入图片描述

总结

  虽然完成了这次实验,但是从NMI和ARI指标值可以看出,K均值聚类算法在这次实验的效果并不是很理想,应当继续探索其他更适合这个数据的聚类算法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3