python sklearn中tsne算法降维结果不一致问题的解决方法

 更新时间:2023年10月17日 10:50:57   作者:菠萝哥~  
最近在做一个文本聚类的分析,在对文本数据embedding后,想着看下数据的分布,于是用sklearn的TSNE算法来降维embedding后的数据结果,当在多次执行后,竟发现TSNE的结果竟然变了,而且每次都不一样,所以本文就给大家讲讲如何解决sklearn中tsne算法降维结果不一致的问题

背景

最近在做一个文本聚类的分析,在对文本数据embedding后,想着看下数据的分布,于是用sklearn的TSNE算法来降维embedding后的数据结果。当在多次执行后,竟发现TSNE的结果竟然变了,而且每次都不一样。

主要的逻辑就是用的下面两行函数:

tsne = TSNE(n_components=2)
decomposition_data = tsne.fit_transform(embeddings)

解决流程

之前只是在网上随便找了个做TSNE的博客,粘了这两行代码就跑结果了,出现了这个问题后,决定还是得好好看看sklearn中的官方文档。官网链接:https://scikit-learn.org/0.16/modules/generated/sklearn.manifold.TSNE.html

sklearn的相关参数说明如下图所示:

有一个参数,"random_state", 我用红框标出了。TSNE在运算的时候,会初始化一个随机的种子点,如果没有指定该参数的话,默认该参数为None,同时会使用mumpy.random随机生成一个数作为种子点。这也是导致每次生成的TSE降维结果都是不一致的原因。

所以后面的解决方案就很简单了。将random_states随便赋予一个固定值就好了。我这次就把random_state设置成了0了,将上述代码改为:

tsne = TSNE(n_components=2, random_state=0)
decomposition_data = tsne.fit_transform(embeddings)

问题解决。

以上就是python sklearn中tsne算法降维结果不一致问题的解决方法的详细内容,更多关于python tsne算法降维结果不一致的资料请关注脚本之家其它相关文章!

相关文章

  • python中文编码问题小结

    python中文编码问题小结

    这篇文章主要介绍了python中文编码问题,是Python程序设计中比较常见的一类问题,本文以实例形式对此进行了较为详细的总结,需要的朋友可以参考下
    2014-09-09
  • pycharm使用matplotlib.pyplot不显示图形的解决方法

    pycharm使用matplotlib.pyplot不显示图形的解决方法

    今天小编就为大家分享一篇pycharm使用matplotlib.pyplot不显示图形的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python的Flask框架与数据库连接的教程

    Python的Flask框架与数据库连接的教程

    这篇文章主要介绍了Python的Flask框架与数据库连接的教程,是Flask框架学习当中的基本知识,需要的朋友可以参考下
    2015-04-04
  • Python学习笔记之文件的读写操作实例分析

    Python学习笔记之文件的读写操作实例分析

    这篇文章主要介绍了Python学习笔记之文件的读写操作,结合实例形式详细分析了Python常见的文件读写操作实现技巧及相关注意事项,需要的朋友可以参考下
    2019-08-08
  • 简单示例解析python爬虫IP的使用(小白篇)

    简单示例解析python爬虫IP的使用(小白篇)

    这篇文章主要为大家通过简单示例解析python爬虫IP的使用介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python子类在多继承中使用MRO机制原理

    python子类在多继承中使用MRO机制原理

    这篇文章主要为大家介绍了python子类在多继承中使用MRO机制原理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Pyecharts绘制全球流向图的示例代码

    Pyecharts绘制全球流向图的示例代码

    这篇文章主要介绍了Pyecharts绘制全球流向图的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python PaddleGAN实现照片人物性别反转

    Python PaddleGAN实现照片人物性别反转

    PaddleGAN中的styleganv2editing.py是支持性别编辑的。所以本文将介绍如何通过调整参数,来试着实现一下照片的性别翻转。感兴趣的小伙伴可以学习一下
    2021-12-12
  • Python3实现从排序数组中删除重复项算法分析

    Python3实现从排序数组中删除重复项算法分析

    这篇文章主要介绍了Python3实现从排序数组中删除重复项算法,结合3个完整实例形式分析了Python3针对排序数组的遍历、去重、长度计算等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • softmax及python实现过程解析

    softmax及python实现过程解析

    这篇文章主要介绍了softmax及python实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论