R/RunPlp.R
runPlp.Rd
This provides a general framework for training patient level prediction models. The user can select various default feature selection methods or incorporate their own, The user can also select from a range of default classifiers or incorporate their own. There are three types of evaluations for the model patient (randomly splits people into train/validation sets) or year (randomly splits data into train/validation sets based on index year - older in training, newer in validation) or both (same as year spliting but checks there are no overlaps in patients within training set and validaiton set - any overlaps are removed from validation set)
runPlp(
plpData,
outcomeId = plpData$metaData$call$outcomeIds[1],
analysisId = paste(Sys.Date(), plpData$metaData$call$outcomeIds[1], sep = "-"),
analysisName = "Study details",
populationSettings = createStudyPopulationSettings(),
splitSettings = createDefaultSplitSetting(type = "stratified", testFraction = 0.25,
trainFraction = 0.75, splitSeed = 123, nfold = 3),
sampleSettings = createSampleSettings(type = "none"),
featureEngineeringSettings = createFeatureEngineeringSettings(type = "none"),
preprocessSettings = createPreprocessSettings(minFraction = 0.001, normalize = T),
modelSettings = setLassoLogisticRegression(),
logSettings = createLogSettings(verbosity = "DEBUG", timeStamp = T, logName =
"runPlp Log"),
executeSettings = createDefaultExecuteSettings(),
saveDirectory = getwd()
)
An object of type plpData
- the patient level prediction
data extracted from the CDM. Can also include an initial population as
plpData$popualtion.
(integer) The ID of the outcome.
(integer) Identifier for the analysis. It is used to create, e.g., the result folder. Default is a timestamp.
(character) Name for the analysis
An object of type populationSettings
created using createStudyPopulationSettings
that
specifies how the data class labels are defined and addition any exclusions to apply to the
plpData cohort
An object of type splitSettings
that specifies how to split the data into train/validation/test.
The default settings can be created using createDefaultSplitSetting
.
An object of type sampleSettings
that specifies any under/over sampling to be done.
The default is none.
An object of featureEngineeringSettings
specifying any feature engineering to be learned (using the train data)
An object of preprocessSettings
. This setting specifies the minimum fraction of
target population who must have a covariate for it to be included in the model training
and whether to normalise the covariates before training
An object of class modelSettings
created using one of the function:
setLassoLogisticRegression() A lasso logistic regression model
setGradientBoostingMachine() A gradient boosting machine
setAdaBoost() An ada boost model
setRandomForest() A random forest model
setDecisionTree() A decision tree model
setKNN() A KNN model
An object of logSettings
created using createLogSettings
specifying how the logging is done
An object of executeSettings
specifying which parts of the analysis to run
The path to the directory where the results will be saved (if NULL uses working directory)
An object containing the following:
model The developed model of class plpModel
executionSummary A list containing the hardward details, R package details and execution time
performanceEvaluation Various internal performance metrics in sparse format
prediction The plpData cohort table with the predicted risks added as a column (named value)
covariateSummary A characterization of the features for patients with and without the outcome during the time at risk
analysisRef A list with details about the analysis
This function takes as input the plpData extracted from an OMOP CDM database and follows the specified settings to develop and internally validate a model for the specified outcomeId.