我正在使用t-SNE python实现来减少X
上的降维,其中包含100个实例,每个实例由cnn可视化的1024个参数描述。
X.shape = [100,1024]
X.dtype = float32
当我跑步时:
Y = tsne.tsne(X)
第一行警告在tsne.py第23行弹出:
RuntimeWarning:在日志中遇到零除零 H = Math.log(sumP)+ beta * Math.sum(D * P)/ sumP
然后在以下几行中还有一些类似警告的警告:
RuntimeWarning:在分数
中遇到无效值
最后,我在处理过程中的每次迭代后都得到了这个结果:
迭代xyz:错误是nan
代码结束时没有"错误"我最后得到一个空的散点图。
修改
- >我用不同的数据集尝试过,它运行得很好。但是我也需要它来处理我的第一组(似乎导致问题的那个)
问题:
有谁知道可能导致这种情况的原因?有解决方法吗?
答案 0 :(得分:3)
sumP = sum(P)+np.finfo(np.double).eps
H = np.log(sumP) + beta * np.sum(D * P) / sumP;
这应解决问题