首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sklearn.manifold.TSNE TypeError: ufunc 'multiply‘不包含具有签名匹配类型的循环(dtype('<U32'),dtype(’<U32‘)).

sklearn.manifold.TSNE TypeError: ufunc 'multiply‘不包含具有签名匹配类型的循环(dtype('<U32'),dtype(’<U32‘)).
EN

Stack Overflow用户
提问于 2021-10-31 09:41:01
回答 2查看 6.4K关注 0票数 22

我已经从sklearn文档中运行了sklearn.manifold.TSNE示例代码,但是我得到了问题标题中描述的错误。

我已经尝试过将我的sklearn版本更新到最新版本(由!pip install -U scikit-learn编写) (scikit-learn=1.0.1)。然而,问题仍然存在。

有人知道怎么修吗?

3.7.12

  • sklearn= 1.0.1
  • python =

示例代码:

代码语言:javascript
复制
import numpy as np
from sklearn.manifold import TSNE
X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
X_embedded = TSNE(n_components=2, learning_rate='auto',
              init='random').fit_transform(X)
X_embedded.shape

错误行发生在:

代码语言:javascript
复制
X_embedded = TSNE(n_components=2, learning_rate='auto',
              init='random').fit_transform(X)

错误消息:

代码语言:javascript
复制
UFuncTypeError: ufunc 'multiply' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> dtype('<U32')
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-03 12:01:34

删除learning_rate='auto'解决了我的问题。

谢谢@FlaviaGiammarino评论!

票数 29
EN

Stack Overflow用户

发布于 2022-06-25 06:38:31

问题在于学习率的“自动”价值。看起来像这个版本的sklearn中的一个bug,因为所有的字符串值对于这个参数都是不可接受的;使用浮点值(例如learning_rate = 100 ),就没有问题了。

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

https://stackoverflow.com/questions/69785596

复制
相关文章

相似问题

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