首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >稀疏矩阵的sklearn tsne

稀疏矩阵的sklearn tsne
EN

Stack Overflow用户
提问于 2017-03-01 20:50:23
回答 1查看 1.4K关注 0票数 0

我试图用预先计算的距离值在一个非常稀疏的矩阵上显示tsne,但我遇到了麻烦。

归根结底是这样的:

代码语言:javascript
复制
row = np.array([0, 2, 2, 0, 1, 2])
col = np.array([0, 0, 1, 2, 2, 2])
distances = np.array([.1, .2, .3, .4, .5, .6])
X = csc_matrix((distances, (row, col)), shape=(3, 3))
Y = TSNE(metric='precomputed').fit_transform(X)

但是,我得到了以下错误:

TypeError:传递稀疏矩阵,但method="barnes_hut“需要密集数据。如果数组足够小,足以容纳内存,则使用X.toarray()将其转换为密集的numpy数组。否则,考虑降维技术(如TruncatedSVD)。

我不想执行TruncatedSVD,因为我已经计算了距离。

如果我更改了method='exact',就会得到另一个错误(这有点可疑):

NotImplementedError:>=和<=不适用于0。

注意:我的距离矩阵大约是100 kx100k,大约有1M的非零值。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-01 20:58:13

我认为这能解决你的问题:

代码语言:javascript
复制
X = csr_matrix((distances, (row, col)), shape=(3, 3)).todense()

如果你真的是csr_matrix而不是csc_matrix

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42541788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档