{"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/a-tutorial-on-spectral-clustering","title":"A Tutorial on Spectral Clustering","arxiv_id":"0711.0189","date":"2007-11-01","proceeding":null,"authors":["Ulrike von Luxburg"],"abstract":"In recent years, spectral clustering has become one of the most popular\nmodern clustering algorithms. It is simple to implement, can be solved\nefficiently by standard linear algebra software, and very often outperforms\ntraditional clustering algorithms such as the k-means algorithm. On the first\nglance spectral clustering appears slightly mysterious, and it is not obvious\nto see why it works at all and what it really does. The goal of this tutorial\nis to give some intuition on those questions. We describe different graph\nLaplacians and their basic properties, present the most common spectral\nclustering algorithms, and derive those algorithms from scratch by several\ndifferent approaches. Advantages and disadvantages of the different spectral\nclustering algorithms are discussed.","url_abs":"http://arxiv.org/abs/0711.0189v1","url_pdf":"http://arxiv.org/pdf/0711.0189v1.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":"a-tutorial-on-spectral-clustering","repo_url":"https://github.com/BSAraujo/Spectral-Clustering","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"a-tutorial-on-spectral-clustering","repo_url":"https://github.com/Colflip/spectralClustering","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"a-tutorial-on-spectral-clustering","repo_url":"https://github.com/devpouya/FastSpectralClustering","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"a-tutorial-on-spectral-clustering","repo_url":"https://github.com/fayolle/spectral_clustering","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"a-tutorial-on-spectral-clustering","repo_url":"https://github.com/qinyuenlp/communitydetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"}],"methods":[{"method_slug":"spectral-clustering","method_name":"Spectral Clustering"}],"datasets_introduced":[],"methods_introduced":[{"slug":"spectral-clustering","name":"Spectral Clustering","full_name":"Spectral Clustering"}],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=0711.0189","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"0711.0189"}},"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/fayolle/spectral_clustering","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/qinyuenlp/communitydetection","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Colflip/spectralClustering","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BSAraujo/Spectral-Clustering","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/devpouya/FastSpectralClustering","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":4,"unverified":2},"by_repo_kind":{"listed":{"samples":6,"ran":4,"repositories":2}},"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":4,"samples":[{"code_sha256_prefix":"3bfcb74fcc5fe97b","entry":"NMI","repo":"qinyuenlp/communitydetection","repo_kind":"listed","path":"evaluation.py","file_url":"https://github.com/qinyuenlp/communitydetection/blob/HEAD/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3bfcb74fcc5fe97b"}},{"code_sha256_prefix":"539a7426b4f4b0a8","entry":"degree_matrix","repo":"qinyuenlp/communitydetection","repo_kind":"listed","path":"algorithm/SpectralClustering.py","file_url":"https://github.com/qinyuenlp/communitydetection/blob/HEAD/algorithm/SpectralClustering.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"539a7426b4f4b0a8"}},{"code_sha256_prefix":"e1579d6950cd9aba","entry":"modularity","repo":"qinyuenlp/communitydetection","repo_kind":"listed","path":"evaluation.py","file_url":"https://github.com/qinyuenlp/communitydetection/blob/HEAD/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e1579d6950cd9aba"}},{"code_sha256_prefix":"6cda740a215213cb","entry":"partition","repo":"qinyuenlp/communitydetection","repo_kind":"listed","path":"algorithm/SpectralClustering.py","file_url":"https://github.com/qinyuenlp/communitydetection/blob/HEAD/algorithm/SpectralClustering.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6cda740a215213cb"}},{"code_sha256_prefix":"871fce50098dd39b","entry":"getDegreeMatrix","repo":"Colflip/spectralClustering","repo_kind":"listed","path":"Algorithms1.py","file_url":"https://github.com/Colflip/spectralClustering/blob/HEAD/Algorithms1.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"871fce50098dd39b"}},{"code_sha256_prefix":"8985fd906b40d920","entry":"getDegreeMatrix","repo":"Colflip/spectralClustering","repo_kind":"listed","path":"Algorithms2.py","file_url":"https://github.com/Colflip/spectralClustering/blob/HEAD/Algorithms2.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8985fd906b40d920"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}