python实现TSNE检验 TSNE降维代码
Posted _刘文凯_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现TSNE检验 TSNE降维代码相关的知识,希望对你有一定的参考价值。
python如何实现TSNE检验并绘图
一般而言TSNE就是一种数据可视化的工具,能够将高维数据降到2-3维(降维),然后画成图。现在也有蛮多可以直接使用的套件,如sklearn.manifold(具体可看:Sklearn TSNE官网)。
代码实现
import numpy as np
import pandas as pd
from sklearn import preprocessing
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
x_tsne = TSNE(n_components=2, learning_rate=100, random_state=501).fit_transform(x_train) # 降至2维
解释:
n_components=2, 降至的维数(一般为2)
learning_rate=100, 学习率
random_state=501,随机种子
fit_transform(x_train), 要降维的数据
代码以及画图
import numpy as np
import pandas as pd
from sklearn import preprocessing
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
def plt_tsne(x_train, y_train, name):
x_train = np.array(pd.read_csv(x_train,index_col=None,header=None))
y_ = np.array(pd.read_csv(y_train, index_col=None, header=None))
x_tsne = TSNE(n_components=2, learning_rate=100, random_state=501).fit_transform(x_train)
plt.figure(figsize=(6, 6))
r = 2 # 4ls
area = np.pi * r ** 2 # 点面积
plt.scatter(x_tsne[y_ == 0, 0], x_tsne[y_ == 0, 1], s=area, c='g', alpha=0.4, label='m5C')
plt.scatter(x_tsne[y_ == 1, 0], x_tsne[y_ == 1, 1], s=area, c='b', alpha=0.4, label='non m5C')
plt.legend()
plt.savefig(name)
return plt
if __name__ == '__main__':
x = pd.read_csv('...')
y = pd.read_csv('...')
title = 'my_title'
plt_tsne(x, y, title)
效果展示
图片来源:https://blog.csdn.net/qq_45714906/article/details/118568358
以上是关于python实现TSNE检验 TSNE降维代码的主要内容,如果未能解决你的问题,请参考以下文章
python使用TSNE为影像组学(radiomics)数据进行降维可视化分析
R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中可视化tsne降维的结果并圈定降维后不匹配的数据簇(tSNE identifying mismatch)