Jupyter笔记本崩溃为scikit TSNE降维

时间:2016-12-14 07:15:41

标签: python machine-learning scikit-learn jupyter

我正在使用来自anaconda的Jupyter笔记本和python 2.7。我有一个大约250,000维的数据集,我需要压缩到n个较低的维度。我正在使用scikit TSNE。在为week_v = 7n=5运行TSNE时,它运行正常。但是当我转到n=10或更多时,会显示以下消息:n=50没有显示错误消息。问题是什么?是由于内存过载吗?我应该将终端中的代码作为脚本而不是Jupyter运行吗?

我的TSNE功能:

"The kernel appears to have died."

diff_df是一个全球熊猫数据框

我经历过thisthis但无法找到解决方案

1 个答案:

答案 0 :(得分:4)

我找到了使用python-bhtsne的解决方案,这也是 Barnes-Hut的t-Distributed随机邻居嵌入方法的实现。

它非常容易实现,甚至提供了一个选项,可以在tsne的每次运行中使用相同的参数获得相同的输出 - 这在scikit实现中是不存在的。

它是Laurens van der Maaten最初实现的python包装器。

所以基本上你只需要执行以下操作而不是来自TSNE的常规scikit

from bhtsne import tsne
data_nd_tsne = tsne(diff_df)