首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sklearn.manifold.TSNE fit_transform实际上在空的numpy数组上返回了一些东西。

sklearn.manifold.TSNE fit_transform实际上在空的numpy数组上返回了一些东西。
EN

Stack Overflow用户
提问于 2015-01-20 20:54:44
回答 2查看 2.9K关注 0票数 2

为什么tsne.fit_transform([[]])实际上会返回一些东西?

代码语言:javascript
复制
from sklearn.manifold import TSNE
import numpy

tsne = TSNE(n_components=2,
    early_exaggeration=4.0,
    learning_rate=1000.0,
    metric='euclidean',
    init='random',
    random_state=42)

# returns [[  4.96714153e-05  -1.38264301e-05]]
print tsne.fit_transform(numpy.array([[]]))

但是将initrandom更改为pca会引发例外:ValueError: failed to create intent(cache|hide)|optional array-- must have defined dimensions but got (0,)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-21 03:00:25

当您使用init='random'嵌入X_embedded None和以后的随机权重时,下面是相关的代码:

scikit-学习/学习/多种/t_运动鞋.

代码语言:javascript
复制
if X_embedded is None:
    # Initialize embedding randomly
    X_embedded = 1e-4 * random_state.randn(n_samples, self.n_components)

使用init='pca',通过PCA转换初始化嵌入:

代码语言:javascript
复制
if self.init == 'pca':
    pca = RandomizedPCA(n_components=self.n_components,
                            random_state=random_state)
    X_embedded = pca.fit_transform(X)

对于空数组,此操作失败。

票数 2
EN

Stack Overflow用户

发布于 2015-04-20 06:39:23

这是个窃听器。它已经在此承诺中得到了修正,并且应该包括在0.16.x版之后。

例如,您可以使用pip安装当前的sklearn版本:

代码语言:javascript
复制
(sudo) pip install scikit-learn

现在,sklearn将引发一个错误:

代码语言:javascript
复制
In [1]: from sklearn.manifold import TSNE

In [2]: TSNE().fit_transform([[]])
---------------------------------------------------------------------------
ValueError
Traceback (most recent call last)
<ipython-input-2-39cfca09a0bd> in <module>()
----> 1 TSNE().fit_transform([[]])

...

/usr/local/lib/python2.7/dist-packages/sklearn/utils/validation.pyc in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features)
    365             raise ValueError("Found array with %d feature(s) (shape=%s) while"
    366                              " a minimum of %d is required."
--> 367                              % (n_features, shape_repr, ensure_min_features))
    368     return array
    369 

ValueError: Found array with 0 feature(s) (shape=(1, 0)) while a minimum of 1 is required.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28054958

复制
相关文章

相似问题

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