我尝试在T-sne中使用R
我想使用dtw而不是欧几里得距离。
如何更改R中的规范?

对精选数据执行算法

library(Rtsne)

tsne <- Rtsne(train[,-1], dims = 2, perplexity=30, verbose=TRUE, max_iter = 500)
tSNE
exeTimeTsne<- system.time(Rtsne(train[,-1], dims = 2, perplexity=30, verbose=TRUE, max_iter = 500))

最佳答案

您可以使用自己选择的方法,并将Rtsne标志设置为is_distance,将任何距离矩阵提供给TRUE。有关更多信息,请参见?Rtsne的“提供预先计算的距离”部分。

library(Rtsne)
library(vegan)

df = data.frame(A = c(4, 11, 17, 0, 2, 4, 8, 10, 2, 4),
                B = c(6, 10, 7, 2, 21, 3, 3, 0, 2, 17),
                C = c(5, 2, 3, 12, 12, 14, 0, 7, 8, 2),
                D = c(7, 16, 24, 18, 31, 8, 2, 21, 3, 13))


bc <- vegdist(df, method = "bray")
tSNE <- Rtsne(bc, is_distance = TRUE, dims = 2, perplexity = 2, verbose = TRUE, max_iter = 500)

08-24 12:17