python - tsne减少内存消耗

时间:2017-05-12 21:58:53

标签: python scikit-learn tf-idf sklearn-pandas

我有一个非常大的csv文件,我正在尝试进行tf-idf分析。我正在使用tfidvectorizer进行sklearn,然后我想使用tsne减少维度,以便我可以绘制结果。但是,每当我使用tsne时,都会出现内存错误。有没有办法阻止这种情况发生?我读过你可以在实现tsne之前使用svdTruncate。我该怎么做呢(还是有其他建议)?这是我的代码:

tfidf_vectorizer = TfidfVectorizer(max_df=0.95, min_df=2,max_features=n_features,stop_words='english', lowercase = False)

tfidf = tfidf_vectorizer.fit_transform(df['paper_text'])
nmf = NMF(n_components=n_topics, random_state=0,alpha=.1, l1_ratio=.5).fit(tfidf)
nmf_embedding = nmf.transform(tfidf)
nmf_embedding = (nmf_embedding - nmf_embedding.mean(axis=0))/nmf_embedding.std(axis=0)
tsne = TSNE(random_state=3211)
tsne_embedding = tsne.fit_transform(nmf_embedding)
tsne_embedding = pd.DataFrame(tsne_embedding,columns=['x','y'])
tsne_embedding['hue'] = nmf_embedding.argmax(axis=1)

提前致谢!

0 个答案:

没有答案