我尝试在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)