gpt4 book ai didi

python tsne.transform 不存在?

转载 作者:行者123 更新时间:2023-11-30 09:40:16 45 4
gpt4 key购买 nike

我正在尝试使用 tsne 转换两个数据集:x_train 和 x_test。我假设执行此操作的方法是将 tsne 拟合到 x_train,然后转换 x_test 和 x_train。但是,我无法转换任何数据集。

tsne = TSNE(random_state = 420, n_components=2, verbose=1, perplexity=5, n_iter=350).fit(x_train)

我假设 tsne 已安装到 x_train。

但是,当我这样做时:

x_train_tse = tsne.transform(x_subset)

我得到:

AttributeError:“TSNE”对象没有属性“transform”

任何帮助将不胜感激。 (我知道我可以执行 fit_transform,但是我在 x_test 上不会得到同样的错误吗?)

最佳答案

sklearn的文档来看,TSNE根本就没有任何变换方法。

enter image description here

此外,TSNE 是一种用于降维/可视化的无监督方法,因此它实际上不能与 TRAIN 和 TEST 一起使用。您只需获取所有数据并使用 fit_transform 进行转换并绘制它。

编辑 - 实际上不可能学习转换并在不同的数据上重用它(即训练和测试),因为 T-sne 不会学习较低维空间上的映射函数,而是在子空间上运行迭代过程以找到一个平衡点,最大限度地减少某些数据的损失/距离。

因此,如果您想要预处理并降低训练数据集和测试数据集的维数,最好的方法是 PCA/SVD 或自动编码器。 T-Sne 只会帮助您完成无人监督的任务:)

关于python tsne.transform 不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59214232/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com