{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/fuzzy-c-means-clustering-for-persistence","title":"Fuzzy c-Means Clustering for Persistence Diagrams","arxiv_id":"2006.02796","date":"2020-06-04","proceeding":null,"authors":["Thomas Davies","Jack Aspinall","Bryan Wilder","Long Tran-Thanh"],"abstract":"Persistence diagrams concisely represent the topology of a point cloud whilst having strong theoretical guarantees, but the question of how to best integrate this information into machine learning workflows remains open. In this paper we extend the ubiquitous Fuzzy c-Means (FCM) clustering algorithm to the space of persistence diagrams, enabling unsupervised learning that automatically captures the topological structure of data without the topological prior knowledge or additional processing of persistence diagrams that many other techniques require. We give theoretical convergence guarantees that correspond to the Euclidean case, and empirically demonstrate the capability of our algorithm to capture topological information via the fuzzy RAND index. We end with experiments on two datasets that utilise both the topological and fuzzy nature of our algorithm: pre-trained model selection in machine learning and lattices structures from materials science. As pre-trained models can perform well on multiple tasks, selecting the best model is a naturally fuzzy problem; we show that fuzzy clustering persistence diagrams allows for model selection using the topology of decision boundaries. In materials science, we classify transformed lattice structure datasets for the first time, whilst the probabilistic membership values let us rank candidate lattices in a scenario where further investigation requires expensive laboratory time and expertise.","url_abs":"https://arxiv.org/abs/2006.02796v5","url_pdf":"https://arxiv.org/pdf/2006.02796v5.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"fuzzy-c-means-clustering-for-persistence","repo_url":"https://github.com/tomogwen/fpdcluster","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"model-selection","task_name":"Model Selection"},{"task_slug":"topological-data-analysis","task_name":"Topological Data Analysis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.02796","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.02796"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tomogwen/fpdcluster","reach":null}],"summary":{"ran_fixture":1,"ran_violates":1,"ran_honours":2},"by_repo_kind":{"official":{"samples":4,"ran":4,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"334d445a3048bde8","entry":"calc_W","repo":"tomogwen/fpdcluster","repo_kind":"official","path":"src/clustering.py","file_url":"https://github.com/tomogwen/fpdcluster/blob/HEAD/src/clustering.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"334d445a3048bde8"}},{"code_sha256_prefix":"b8bdb7ca3673bc91","entry":"calc_r","repo":"tomogwen/fpdcluster","repo_kind":"official","path":"src/clustering.py","file_url":"https://github.com/tomogwen/fpdcluster/blob/HEAD/src/clustering.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b8bdb7ca3673bc91"}},{"code_sha256_prefix":"489bca8eff673095","entry":"gen_data","repo":"tomogwen/fpdcluster","repo_kind":"official","path":"src/synthetic_data.py","file_url":"https://github.com/tomogwen/fpdcluster/blob/HEAD/src/synthetic_data.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"489bca8eff673095"}},{"code_sha256_prefix":"4dc9b2bab540890c","entry":"gen_data2","repo":"tomogwen/fpdcluster","repo_kind":"official","path":"src/synthetic_data.py","file_url":"https://github.com/tomogwen/fpdcluster/blob/HEAD/src/synthetic_data.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4dc9b2bab540890c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}