小编Max*_*ell的帖子

在大数据集的Scipy错误中绘制树形图

我正在使用Scipy进行分层聚类.我确实设法使用fcluster在阈值上获得平面集群.但我需要想象形成的树形图.当我使用树形图方法时,它适用于5-6k用户向量.但我的数据库包含16k用户向量.当我为16k用户运行时,树形图函数会抛出以下错误:

File "/home/enthought/lib/python2.7/site-packages/scipy/cluster/hierarchy.py", line 2333, in _dendrogram_calculate_info
leaf_label_func, i, labels)
File "/home/enthought/lib/python2.7/site-packages/scipy/cluster/hierarchy.py", line 2205, in _append_singleton_leaf_node
ivl.append(str(int(i)))
RuntimeError: maximum recursion depth exceeded while getting the str of an object
Run Code Online (Sandbox Code Playgroud)

关于为更大的数据库可视化树形图的任何想法?

python cluster-analysis dendrogram scipy

13
推荐指数
1
解决办法
3680
查看次数

绘制kmeans的输出(PyCluster impl)

如何在python中对kmeans聚类的绘图输出?我正在使用PyCluster包.allUserVector是一个n×m的向量,基本上是n个具有m个特征的用户.

import Pycluster as pc
import numpy as np

clusterid,error,nfound = pc.kcluster(allUserVector, nclusters=3, transpose=0,npass=1,method='a',dist='e')
  clustermap, _, _ = pc.kcluster( allUserVector, nclusters=3,                                    transpose=0,npass=1,method='a',dist='e', )

centroids, _ = pc.clustercentroids( allUserVector, clusterid=clustermap )
print centroids
print clusterid
print nfound
Run Code Online (Sandbox Code Playgroud)

我想在图表中很好地打印集群,这些图表清楚地显示了哪些用户在哪个集群中.每个用户都是维度向量任何输入?

python cluster-analysis k-means

8
推荐指数
1
解决办法
8152
查看次数

在scipy中计算成对距离时的内存错误

我正在尝试将分层聚类应用于我的数据集,该数据集由14039个用户向量组成.每个向量具有10个特征,其中每个特征基本上是由该用户标记的标签的频率.我正在使用Scipy api进行聚类.现在我需要计算这些14039用户之间的成对距离,并将tis距离矩阵传递给连接函数.

  import scipy.cluster.hierarchy as sch
  Y = sch.distance.pdist( allUserVector,'cosine')
  set_printoptions(threshold='nan')
  print Y
Run Code Online (Sandbox Code Playgroud)

但是我的程序在计算距离矩阵本身时给了我MemoryError

  File "/usr/lib/pymodules/python2.7/numpy/core/numeric.py", line 1424, in array_str
    return array2string(a, max_line_width, precision, suppress_small, ' ', "", str)
  File "/usr/lib/pymodules/python2.7/numpy/core/arrayprint.py", line 306, in array2string
    separator, prefix)
  File "/usr/lib/pymodules/python2.7/numpy/core/arrayprint.py", line 210, in _array2string
    format_function = FloatFormat(data, precision, suppress_small)
  File "/usr/lib/pymodules/python2.7/numpy/core/arrayprint.py", line 392, in __init__
    self.fillFormat(data)
  File "/usr/lib/pymodules/python2.7/numpy/core/arrayprint.py", line 399, in fillFormat
    non_zero = absolute(data.compress(not_equal(data, 0) & ~special))
MemoryError
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?我的数据集太大了吗?但我想集群14k用户不应该太多,它应该导致内存错误.我在i3和4 Gb Ram上运行它.我也需要应用DBScan聚类,但这也需要距离矩阵作为输入.

任何建议赞赏.

编辑:我只有在打印Y时才会收到错误.有什么想法吗?

python numpy cluster-analysis scipy

6
推荐指数
2
解决办法
7829
查看次数

从URL中提取TLD并为每个TLD文件排序域和子域

我有一个百万网址列表.我需要为每个网址提取TLD并为每个TLD创建多个文件.例如,将.com的所有URL收集为tld并将其转储到1个文件中,将另一个文件转储为.edu tld,依此类推.在每个文件中,我必须按域按字母顺序排序,然后按子域等排序.

任何人都可以帮我在perl中实现这个目标吗?

dns url perl tld

1
推荐指数
1
解决办法
2368
查看次数

声明大型常量数组时出现Perl语法错误

我想声明一个巨大的常量数组列表,如:

my @tlds = (ac ad ae aero af ag ai al am an ao aq ar arpa as asia at au aw ax az ba bb bd be bf bg bh bi biz bj bm bn bo br bs bt bv bw by bz ca cat cc cd cf cg ch ci ck cl cm cns
co com coop cr cu cv cw cx cy cz de dj dk dm do dz ec edu ee eg er es et …
Run Code Online (Sandbox Code Playgroud)

perl

0
推荐指数
2
解决办法
990
查看次数

标签 统计

cluster-analysis ×3

python ×3

perl ×2

scipy ×2

dendrogram ×1

dns ×1

k-means ×1

numpy ×1

tld ×1

url ×1