{"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/federated-survival-forests","title":"Federated Survival Forests","arxiv_id":"2302.02807","date":"2023-02-06","proceeding":null,"authors":["Alberto Archetti","Matteo Matteucci"],"abstract":"Survival analysis is a subfield of statistics concerned with modeling the occurrence time of a particular event of interest for a population. Survival analysis found widespread applications in healthcare, engineering, and social sciences. However, real-world applications involve survival datasets that are distributed, incomplete, censored, and confidential. In this context, federated learning can tremendously improve the performance of survival analysis applications. Federated learning provides a set of privacy-preserving techniques to jointly train machine learning models on multiple datasets without compromising user privacy, leading to a better generalization performance. However, despite the widespread development of federated learning in recent AI research, few studies focus on federated survival analysis. In this work, we present a novel federated algorithm for survival analysis based on one of the most successful survival models, the random survival forest. We call the proposed method Federated Survival Forest (FedSurF). With a single communication round, FedSurF obtains a discriminative power comparable to deep-learning-based federated models trained over hundreds of federated iterations. Moreover, FedSurF retains all the advantages of random forests, namely low computational cost and natural handling of missing values and incomplete datasets. These advantages are especially desirable in real-world federated environments with multiple small datasets stored on devices with low computational capabilities. Numerical experiments compare FedSurF with state-of-the-art survival models in federated networks, showing how FedSurF outperforms deep-learning-based federated algorithms in realistic environments with non-identically distributed data.","url_abs":"https://arxiv.org/abs/2302.02807v2","url_pdf":"https://arxiv.org/pdf/2302.02807v2.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":"federated-survival-forests","repo_url":"https://github.com/archettialberto/federated_survival_forests","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"missing-values","task_name":"Missing Values"},{"task_slug":"privacy-preserving","task_name":"Privacy Preserving"},{"task_slug":"survival-analysis","task_name":"Survival Analysis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2302.02807","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2302.02807"}},"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/archettialberto/federated_survival_forests","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"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":"9b13c88ff5cc9398","entry":"get_parameters","repo":"archettialberto/federated_survival_forests","repo_kind":"official","path":"utils.py","file_url":"https://github.com/archettialberto/federated_survival_forests/blob/HEAD/utils.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":"9b13c88ff5cc9398"}},{"code_sha256_prefix":"31659aaa6d05b026","entry":"legal_split","repo":"archettialberto/federated_survival_forests","repo_kind":"official","path":"splits.py","file_url":"https://github.com/archettialberto/federated_survival_forests/blob/HEAD/splits.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":"31659aaa6d05b026"}},{"code_sha256_prefix":"eb5f95d3913490cd","entry":"quantity_skew_split","repo":"archettialberto/federated_survival_forests","repo_kind":"official","path":"splits.py","file_url":"https://github.com/archettialberto/federated_survival_forests/blob/HEAD/splits.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":"eb5f95d3913490cd"}},{"code_sha256_prefix":"b39b0b39e4067d10","entry":"to_pycox_labels","repo":"archettialberto/federated_survival_forests","repo_kind":"official","path":"utils.py","file_url":"https://github.com/archettialberto/federated_survival_forests/blob/HEAD/utils.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":"b39b0b39e4067d10"}},{"code_sha256_prefix":"07298ea61261ba7a","entry":"uniform_split","repo":"archettialberto/federated_survival_forests","repo_kind":"official","path":"splits.py","file_url":"https://github.com/archettialberto/federated_survival_forests/blob/HEAD/splits.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":"07298ea61261ba7a"}},{"code_sha256_prefix":"0684146bcac06bbf","entry":"unpack_metrics","repo":"archettialberto/federated_survival_forests","repo_kind":"official","path":"utils.py","file_url":"https://github.com/archettialberto/federated_survival_forests/blob/HEAD/utils.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":"0684146bcac06bbf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}