아나콘다에서 Jupyter 노트북과 python 2.7을 사용하고 있습니다. 나는 n 개의 더 낮은 차원으로 압축 할 필요가있는 대략 250,000 차원 데이터 세트를 가지고있다. 나는 scikit TSNE를 사용하고 있습니다. n=5
또는 n=10
에 대한 TSNE를 실행할 때 제대로 작동합니다. 그러나 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이
내가 this 및 this 겪었 글로벌 팬더 데이터 프레임이지만 해결책을 찾을 수 없습니다가
: // man7
그래서 기본적으로 그냥 일반
TSNE
scikit
에서 대신 다음을 수행해야합니다 .org/linux/man-pages/man1/top.1.html). 'scikit'의 tSNE에 대한 문서를 기록해 두는 것이 좋습니다. "차원 수를 합리적인 수준으로 줄이기 위해 다른 차원 감소 방법 (예 : 밀도가 높은 데이터의 경우 PCA 또는 희소 데이터의 경우 TruncatedSVD)을 사용하는 것이 좋습니다 (예 : 50) 특징 수가 많으면 노이즈가 줄어들고 샘플 간의 쌍 거리 계산 속도가 빨라집니다. 자세한 내용은 Laurens van der Maaten의 FAQ [2]를 참조하십시오. – ncfirth