我正在使用来自anaconda的Jupyter笔记本和python 2.7。我有一个大约250,000维的数据集,我需要压缩到n个较低的维度。我正在使用scikit TSNE。在为week_v = 7
或n=5
运行TSNE时,它运行正常。但是当我转到n=10
或更多时,会显示以下消息:n=50
没有显示错误消息。问题是什么?是由于内存过载吗?我应该将终端中的代码作为脚本而不是Jupyter运行吗?
我的TSNE功能:
"The kernel appears to have died."
diff_df是一个全球熊猫数据框
答案 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)