首页 > 解决方案 > 在 python 上运行变色龙集群并遇到“分段错误(核心转储)”,并提供详细的故障处理程序信息。需要帮助请~

问题描述

我是python和编程的新手。最近在研究变色龙聚类算法。运行示例代码后:

python -i main.py

它可以构建 kNN 图,但是当聚类开始时,它会给出错误:

Building kNN graph (k = 20)...
100%|████████████████████████████████████████| 788/788 [00:03<00:00, 214.07it/s]
Begin clustering...
Segmentation fault (core dumped)

然后我在 main.py 中导入 faulthandler。它给:

Building kNN graph (k = 20)...
100%|████████████████████████████████████████| 788/788 [00:03<00:00, 217.10it/s]
Begin clustering...
Fatal Python error: Segmentation fault

Thread 0x00007f5b5d4f4700 (most recent call first):
  File "/home/alex/anaconda3/lib/python3.8/threading.py", line 306 in wait
  File "/home/alex/anaconda3/lib/python3.8/threading.py", line 558 in wait
  File "/home/alex/anaconda3/lib/python3.8/site-packages/tqdm/_monitor.py", line 60 in run
  File "/home/alex/anaconda3/lib/python3.8/threading.py", line 932 in _bootstrap_inner
  File "/home/alex/anaconda3/lib/python3.8/threading.py", line 890 in _bootstrap

Current thread 0x00007f5b7cee9740 (most recent call first):
  File "/home/alex/anaconda3/lib/python3.8/site-packages/metis.py", line 676 in _METIS_PartGraphKway
  File "/home/alex/anaconda3/lib/python3.8/site-packages/metis.py", line 800 in part_graph
  File "/home/alex/Downloads/chameleon_cluster-master/graphtools.py", line 63 in pre_part_graph
  File "/home/alex/Downloads/chameleon_cluster-master/chameleon.py", line 82 in cluster
  File "main.py", line 16 in <module>
Segmentation fault (core dumped)

我检查了graphtool.py 和chameleon.py,但无法解决问题。用于在具有相同版本 Ubuntu 20.04.3 LTS,64 位的另一台计算机上运行良好的代码。

原始代码可以在https://github.com/Moonpuck/chameleon_cluster找到。

一些帮助将不胜感激~

标签: pythoncluster-analysis

解决方案


我遇到了同样的问题。我认为这个 github repo 使用边缘的权重为 1 / 距离。如果您的数据集值很大(我使用的是 5000 行的二维数据集并且值太大),经过几次迭代,边权重可能会变得太小。在开始聚类之前,我已经通过对数据集的平均归一化解决了这个问题。我可以建议尝试相同的解决方案。


推荐阅读