You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sklearn.manifold.TSNE运行报multiply ufunc类型匹配错误如何解决?

sklearn 1.0.1运行TSNE示例报UFuncTypeError的修复方案

问题根因

你当前使用的scikit-learn 1.0.1版本不支持TSNE类的learning_rate参数传入'auto'字符串值。该参数的'auto'可选值是在scikit-learn 1.2版本才正式新增的,1.2之前的版本中learning_rate仅接受数值类型输入。你传入字符串后,代码内部执行乘法运算时就会触发字符串类型相乘的类型错误,和你收到的报错信息完全匹配。

修复方案

你可以选择以下任意一种方案解决问题:

  • 方案1:升级scikit-learn到1.2及以上版本
    执行升级命令即可,升级完成后原示例代码可直接运行:
    pip install -U scikit-learn>=1.2
    
  • 方案2:不升级版本,直接修改代码参数
    将learning_rate参数替换为数值类型即可,官方默认推荐值为200,修改后的代码如下:
    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=200,
                  init='random').fit_transform(X)
    X_embedded.shape
    

内容的提问来源于stack exchange,提问作者wen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:15:08