前景提要
昨天发了一个旅行家问题的算法贴,V 友一致认为不能算算法贴,本身属于 NP 困难问题没什么确切算法可言。
最后想了想,因为本质需要完成的是分类任务,既然无法求得理论上最完美的分类解,那只能用其他办法尝试逼近了,目前想到比较简单的做法是把高维特征向量用 TSNE 降维,然后跑 kmeans 分类。
对机器学习算法大部分不求甚解,于是做了调包侠,用 sklearn 里写好的 tsne 跑。但是刚才跑了几个测试数据感觉都不太对,有没有机器学习算法大佬来指点一下
====================================================一个简单的示例代码 from sklearn.manifold import TSNE import numpy as np X = [ [10, 56, 12 , 10, 56, 12], [10, 56, 12 , 10, 56, 12], [80, 21, 92 , 80, 21, 92], [21, 30, 53 , 21, 30, 53], [11, 81, 15 , 11, 81, 15], [11, 81, 15 , 11, 81, 14] ] model = TSNE(n_components=3 ,learning_rate = 1000 , n_iter = 1000 , init = 'pca') Y = model.fit_transform(X)
====================================================得到结果 [[-199.75327 -165.53574 -241.92471 ] [ 171.09433 -41.500977 117.659996] [ 362.16272 397.58792 34.34646 ] [-256.5073 -221.04861 304.41156 ] [ -26.240019 322.07495 -296.1156 ] [-339.0215 261.51828 109.22412 ]]
====================================================
如题,我尝试将模拟的六维数据降到三维,数据完全是随机生成的,并没有什么实际意义,但是数据中一个关键点是,第一和第二组数据完全一致,倒数第一和倒数第二组数据只有极微弱差距。
所以按照理论上,我希望得到的降维数据中,第一和第二个结果应该是完全一致,或者说是非常相似的。 但是跑了几次得到的结果都是相差非常远。想问问带佬们这是为什么,这个结果是正常的吗还是我写错了。