癌症基因图谱( TCGA)数据库(四)数据降维

5 篇文章 3 订阅
4 篇文章 0 订阅

K-means聚类

k-means聚类算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。

(1)簇个数 k 的选择;
(2)计算各个样本点到“簇中心”的距离,将其归入最近的簇;
(3)根据新划分的簇,更新“簇中心”;
(4)重复上述2、3过程,直至"簇中心"没有移动。

Python可以调用sklearn库,from sklearn.cluster import KMeans,实现k聚类。

y_pred=KMeans(n_clusters=5).fit_transform(data)#分成5类

这个KMeans()函数的参数及用法可以参考这篇文章

这篇文章讲的很详细,可以参考。

PCA

数据降维的一种方法是通过特征提取实现,主成分分析PCA就是一种无监督数据压缩技术,广泛应用于特征提取和降维。

    pca = PCA(n_components=64)
    pca.fit(data)
    PCA_S=pca.transform(data)

可以调库实现PCA降维;

参数:

n_components: PCA算法中所要保留的主成分个数n。
copy:bool,True或者False,缺省时默认为True。
whiten:bool:缺省时默认为False,白化。

方法:

fit(X):表示用数据X来训练PCA模型。
fit_transform(X):用X来训练PCA模型,同时返回降维后的数据。

降维的时候,data传入的数据必须是每一行代表一个样本,一行里面包含样本所有的属性维度。

t-SNE

t-SNE的计算复杂度很高,在数百万个样本数据集中可能需要几个小时,而PCA可以在几秒钟或几分钟内完成。
Barnes-Hut t-SNE主要是对传统t-SNE在速度上做了优化,是现在最流行的t-SNE方法,同时它与传统t-SNE还有一些不同:
Barnes-Hut t-SNE方法(下面讲)仅限于二维或三维嵌入。
Barnes-Hut仅在目标维度为3或更小时才起作用。以2D可视化为主。
Barnes-Hut可用于嵌入数十万个数据点。

t-sne=tsne(X, labels, no_dims, init_dims, perplexity)

参数:

n_components :int, 默认为2,嵌入空间的维度(即要降到的维度);
perplexity: float, 默认为30,数据集越大,需要参数值越大,建议值位5-50;
init:string or numpy array, default:”random”, 可以是’random’, ‘pca’或者一个numpy数组(shape=(n_samples, n_components);

方法:

fit :将X投影到一个嵌入空间
fit_transform:将X投影到一个嵌入空间并返回转换结果

 tsne = TSNE(n_components=2, init='pca', random_state=0)
 X_tsne=tsne.fit_transform(data)
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值