【嵌牛导读】 t-SNE是一种集降维与可视化于一体的技术,它是基于SNE可视化的改进,解决了SNE在可视化后样本分布拥挤、边界不明显的特点,是目前最好的降维可视化手段。
【嵌牛鼻子】数据降维 可视化工具 t-SNE
【嵌牛提问】如何使用t-SNE进行数据降维与可视化?
【嵌牛正文】
转载地址:https://blog.csdn.net/hustqb/article/details/80628721
t-SNE是一种集降维与可视化于一体的技术,它是基于SNE可视化的改进,解决了SNE在可视化后样本分布拥挤、边界不明显的特点,是目前最好的降维可视化手段。但是它的缺点也很明显,比如:占内存大,运行时间长。但是,当我们想要对高维数据进行分类,又不清楚这个数据集有没有很好的可分性(即同类之间间隔小,异类之间间隔大),可以通过t-SNE投影到2维或者3维的空间中观察一下。如果在低维空间中具有可分性,则数据是可分的;如果在高维空间中不具有可分性,可能是数据不可分,也可能仅仅是因为不能投影到低维空间。关于t-SNE的历史和原理详见:
t-SNE的函数参数表:
在优化t-SNE方面,有很多技巧。下面5个参数会影响t-SNE的可视化效果:
perplexity 混乱度。混乱度越高,t-SNE将考虑越多的邻近点,更关注全局。因此,对于大数据应该使用较高混乱度,较高混乱度也可以帮助t-SNE拜托噪声的影响。相对而言,该参数对可视化效果影响不大。
early exaggeration factor 该值表示你期望的簇间距大小,如果太大的话(大于实际簇的间距),将导致目标函数无法收敛。相对而言,该参数对可视化效果影响较小,默认就行。
learning rate 学习率。关键参数,根据具体问题调节。
maximum number of iterations 迭代次数。迭代次数不能太低,建议1000以上。
angle (not used in exact method) 角度。相对而言,该参数对效果影响不大。
代码一:
代码二: