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如何实现复制目录到指定目录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • Django权限设置及验证方式

    Django权限设置及验证方式

    这篇文章主要介绍了Django权限设置及验证方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 关于python的缩进规则的知识点详解

    关于python的缩进规则的知识点详解

    在本篇文章里小编给大家整理了关于python的缩进规则的知识点详解,有兴趣的朋友们可以学习下。
    2020-06-06
  • Python+Pygame绘制小球的实例详解

    Python+Pygame绘制小球的实例详解

    这篇文章主要为大家详细介绍了如何利用Python Pygame绘制小球(渐变大的小球、自由下落的小球、循环上下反弹的小球),感兴趣的小伙伴可以了解一下
    2022-10-10
  • PowerBI和Python关于数据分析的对比

    PowerBI和Python关于数据分析的对比

    这篇文章主要介绍了PowerBI和Python关于数据分析的对比,很多经常会用到数据分析的伙伴会问有没有一款便捷好用的工具!肯定有啊,Python的出现和普及,很容易就能改变这些窘境,需要的朋友可以参考下
    2019-07-07
  • Python中函数的参数类型详解

    Python中函数的参数类型详解

    这篇文章主要介绍了Python中函数的参数类型详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 解决Python3 控制台输出InsecureRequestWarning问题

    解决Python3 控制台输出InsecureRequestWarning问题

    这篇文章主要介绍了解决Python3 控制台输出InsecureRequestWarning的问题 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python使用fastAPI如何实现一个流式传输接口

    Python使用fastAPI如何实现一个流式传输接口

    这篇文章主要介绍了Python使用fastAPI如何实现一个流式传输接口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • OpenCV+Python识别车牌和字符分割的实现

    OpenCV+Python识别车牌和字符分割的实现

    这篇文章主要介绍了OpenCV+Python识别车牌和字符分割的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • python实现自动重启本程序的方法

    python实现自动重启本程序的方法

    这篇文章主要介绍了python实现自动重启本程序的方法,涉及Python进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论