python 模糊聚类,聚类分析matlab编程

  python 模糊聚类,聚类分析matlab编程

  我尝试使用scikit-learn提供的谱聚类方法聚合我的数据集行(只有16,000行)。

  我的问题发生在预先计算亲和矩阵(1600x16000浮点矩阵)后,这个矩阵或多或少分配了3gb。我最多能达到8gb。如果用argpack求解器调用矩阵,这种方法需要更多的内存,cpu在试图改变内存中的东西时会浪费太多的时间,导致计算速度变慢,死机。

  我也试着在方法之前调用垃圾收集器,但是不起作用:导入gc

  gc.collect().

  我怎么知道事情发生的确切计划?

  这是一个已知问题吗?有没有其他方法可以在python上立即执行谱聚类?在

  如有必要,可以公开最小的工作实例。在

  更新

  我对lobbcg解算器的看法是错的。一开始好像占了所有内存,后来稳定在5Gb左右。这个过程还在继续,但是其他问题也出现了。

  计算中会有一些数值误差,最后好像还会有NaN之类的误差。如果亲和矩阵稍有变化,产生的误差也会发生变化。请参考以下内容。

  ^{pr2}$

  我的亲和度测量是振动EXP(-)((x1-x2)2/2 * sigma 2)的基准。如果尝试不同的sigma值,结果会有很大的变化。可以理解,如果几个条目接近于零,可能会出现一些不准确,但如果使用更大的sigma值=5.0),情况就会不同,但接近于1.0。在

  现在,我将假设我忽略了一点,或者在这个过程中做错了什么,并用一个新的目标更新这个问题。在

  作为参考,我如何计算亲和矩阵:pairwise_dists=\

  scipy . spatial . distance . square form(

  scipy . spatial . distance . PD ist(data _ slice, sqeuclidean ))

  similarity _ matrix=scipy . exp(-pairwise _ dists/(2 * self。_ sigm a* *2))

  其中data_slice是numpy数组,这行是我的例子,还有self。_sigma是存储振动的基准参数。在

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: