1
我使用Jupyter筆記本和python 2.7從anaconda。我有一個大約250,000的尺寸數據集,我需要壓縮到n個較低的尺寸。我正在使用scikit TSNE。當運行TSNE爲n=5
或n=10
時,它工作正常。但是,當我轉至n=50
或更多時,會顯示以下消息:"The kernel appears to have died."
沒有顯示錯誤消息。問題是什麼?是否由於內存過載?我應該將終端中的代碼作爲腳本而不是Jupyter運行嗎?Jupyter筆記本崩潰爲scikit TSNE降維
我TSNE功能:
def tsne_to_n_dimensions(n):
start=timer()
#tsne
print diff_df.shape
tsne = sklearn.manifold.TSNE(n_components=n,verbose=2)
data_nd_tsne =tsne.fit_transform(diff_df)
calculate stuff from data_nd_tsne
return stuff
而且diff_df是一個全球性的熊貓數據幀
您可以通過使用[頂](HTTP跟蹤過程中使用多少內存:// man7 .ORG/LINUX /人-頁/ MAN1/top.1.html)。可能值得注意scikit的tSNE文檔:「強烈建議使用另一種降維方法(例如PCA用於密集數據或TruncatedSVD用於稀疏數據)以將維數減少到合理的數量(例如, 50)如果特徵數量非常高,這將抑制一些噪聲並加速樣本間成對距離的計算,更多技巧參見Laurens van der Maaten的FAQ [2]。 – ncfirth