Federated learning is of great interest for survival analysis: to use the DeepCoxPH model in a FedML experiment we need a couple of features that this PR adds:
Easy access to the PyTorch module -> this allows for clean-code when we need to access the torch module often, as when manipulating state dicts in a federated experiment
PyTorch module init before fit -> this allows injection of a pre-existing state dictionaries into a fresh model, needed for federated training
Time-independent risk prediction + optional Breslow estimator -> The Breslow estimator conserves too much info (e.g. unique event times) about the dataset, it cannot be used as-is in a federated experiment as it could cause privacy issues.
A couple of unrelated QoL improvements have been added to this PR to support its implementations, namely:
datasets.load_dataset now has a return_features kwarg for SUPPORT that returns a dict containing categorical and numerical feature names, allowing for easier preprocessing
Minimal .gitignore to avoid sifting through useless __pycache__ entries when adding changes to git after running tests
Solves #120
Federated learning is of great interest for survival analysis: to use the DeepCoxPH model in a FedML experiment we need a couple of features that this PR adds:
A couple of unrelated QoL improvements have been added to this PR to support its implementations, namely:
datasets.load_dataset
now has areturn_features
kwarg for SUPPORT that returns a dict containing categorical and numerical feature names, allowing for easier preprocessing.gitignore
to avoid sifting through useless__pycache__
entries when adding changes to git after running testsdcph.DeepCoxPH
modeldsm
tests