美文网首页
TSNE的使用

TSNE的使用

作者: 吐舌小狗 | 来源:发表于2018-04-16 22:31 被阅读2287次

    t-SNE(t-distributed stochastic neighbor embedding)是用于降维的一种机器学习算法,是由 Laurens van der Maaten 和 Geoffrey Hinton在08年提出来。此外,t-SNE 是一种非线性降维算法,非常适用于高维数据降维到2维或者3维,进行可视化。

    # _*_ coding:utf-8 -*-
    from sklearn.manifold import TSNE
    from sklearn.datasets import load_iris
    from sklearn.decomposition import PCA
    import matplotlib.pyplot as plt
    
    class data():
        def __init__(self, data, target):
            self.data = data
            self.target = target
    
    # 加载数据集
    iris = load_iris()
    # 共有150个例子, 数据的类型是numpy.ndarray
    print(iris.data.shape)
    # 对应的标签有0,1,2三种
    print(iris.target.shape)
    # 使用TSNE进行降维处理
    tsne = TSNE(n_components=2, learning_rate=100).fit_transform(iris.data)
    # 使用PCA 进行降维处理
    pca = PCA().fit_transform(iris.data)
    # 设置画布的大小
    plt.figure(figsize=(12, 6))
    plt.subplot(121)
    plt.scatter(tsne[:, 0], tsne[:, 1], c=iris.target)
    plt.subplot(122)
    plt.scatter(pca[:, 0], pca[:, 1], c=iris.target)
    plt.colorbar()
    plt.show()
    
    图片

    相关文章

      网友评论

          本文标题:TSNE的使用

          本文链接:https://www.haomeiwen.com/subject/alsykftx.html