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降维代码的主要内容,如果未能解决你的问题,请参考以下文章

【R>>tSNE】tSNE高效降维

sklearn 特征降维利器 —— PCA TSNE

TSNE算法是什么?该算法有什么缺陷?

sklearn 笔记 TSNE

python使用TSNE为影像组学(radiomics)数据进行降维可视化分析

R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中可视化tsne降维的结果并圈定降维后不匹配的数据簇(tSNE identifying mismatch)