diff --git a/config.yaml b/config.yaml index 924b90f6..c40a2e02 100644 --- a/config.yaml +++ b/config.yaml @@ -241,79 +241,3 @@ OVERALL_COMPLIANCE_HEATMAP: MIN_VALID_HOURS_PER_DAY: *min_valid_hours_per_day MIN_VALID_BINS_PER_HOUR: *min_valid_bins_per_hour -### Example Analysis ################################################################ -PARAMS_FOR_ANALYSIS: - COMPUTE: False - GROUNDTRUTH_TABLE: participant_info - TARGET_TABLE: participant_target - SOURCES: &sources ["phone_features", "fitbit_features", "phone_fitbit_features"] - DAY_SEGMENTS: *day_segments - PHONE_FEATURES: [accelerometer, activity_recognition, applications_foreground, battery, bluetooth, calls_incoming, calls_missed, calls_outgoing, conversation, light, location_doryab, messages_received, messages_sent, screen] - FITBIT_FEATURES: [fitbit_heartrate, fitbit_step, fitbit_sleep] - PHONE_FITBIT_FEATURES: "" # This array is merged in the input_merge_features_of_single_participant function in models.snakefile - DEMOGRAPHIC_FEATURES: [age, gender, inpatientdays] - CATEGORICAL_DEMOGRAPHIC_FEATURES: ["gender"] - FEATURES_EXCLUDE_DAY_IDX: False - - # Whether or not to include only days with enough valid sensed hours - # logic can be found in rule phone_valid_sensed_days of rules/preprocessing.snakefile - DROP_VALID_SENSED_DAYS: - ENABLED: True - - # Whether or not to include certain days in the analysis, logic can be found in rule days_to_analyse of rules/mystudy.snakefile - # If you want to include all days downloaded for each participant, set ENABLED to False - DAYS_TO_ANALYSE: - ENABLED: True - DAYS_BEFORE_SURGERY: 15 - DAYS_IN_HOSPITAL: F # T or F - DAYS_AFTER_DISCHARGE: 7 - - # Cleaning Parameters - COLS_NAN_THRESHOLD: [0.1, 0.3, 0.5] - COLS_VAR_THRESHOLD: True - ROWS_NAN_THRESHOLD: [0.1, 0.3, 0.5] - PARTICIPANT_DAYS_BEFORE_THRESHOLD: 7 - PARTICIPANT_DAYS_AFTER_THRESHOLD: 4 - - # Extract summarised features from daily features with any of the following substrings - NUMERICAL_OPERATORS: ["count", "sum", "length", "avg", "restinghr"] - CATEGORICAL_OPERATORS: ["mostcommon"] - - MODEL_NAMES: ["LogReg", "kNN", "SVM", "DT", "RF", "GB", "XGBoost", "LightGBM"] - CV_METHODS: ["LeaveOneOut"] - SUMMARISED: ["summarised"] # "summarised" or "notsummarised" - RESULT_COMPONENTS: ["fold_predictions", "fold_metrics", "overall_results", "fold_feature_importances"] - - MODEL_SCALER: - LogReg: ["notnormalized", "minmaxscaler", "standardscaler", "robustscaler"] - kNN: ["minmaxscaler", "standardscaler", "robustscaler"] - SVM: ["minmaxscaler", "standardscaler", "robustscaler"] - DT: ["notnormalized"] - RF: ["notnormalized"] - GB: ["notnormalized"] - XGBoost: ["notnormalized"] - LightGBM: ["notnormalized"] - - MODEL_HYPERPARAMS: - LogReg: - {"clf__C": [0.01, 0.1, 1, 10, 100], "clf__solver": ["newton-cg", "lbfgs", "liblinear", "saga"], "clf__penalty": ["l2"]} - kNN: - {"clf__n_neighbors": [1, 3, 5], "clf__weights": ["uniform", "distance"], "clf__metric": ["euclidean", "manhattan", "minkowski"]} - SVM: - {"clf__C": [0.01, 0.1, 1, 10, 100], "clf__gamma": ["scale", "auto"], "clf__kernel": ["rbf", "poly", "sigmoid"]} - DT: - {"clf__criterion": ["gini", "entropy"], "clf__max_depth": [null, 3, 5, 7, 9], "clf__max_features": [null, "auto", "sqrt", "log2"]} - RF: - {"clf__n_estimators": [2, 5, 10, 100],"clf__max_depth": [null, 3, 5, 7, 9]} - GB: - {"clf__learning_rate": [0.01, 0.1, 1], "clf__n_estimators": [5, 10, 100, 200], "clf__subsample": [0.5, 0.7, 1.0], "clf__max_depth": [3, 5, 7, 9]} - XGBoost: - {"clf__learning_rate": [0.01, 0.1, 1], "clf__n_estimators": [5, 10, 100, 200], "clf__num_leaves": [5, 16, 31, 62]} - LightGBM: - {"clf__learning_rate": [0.01, 0.1, 1], "clf__n_estimators": [5, 10, 100, 200], "clf__num_leaves": [5, 16, 31, 62]} - - - # Target Settings: - # 1 => TARGETS_RATIO_THRESHOLD (ceiling) or more of available CESD scores were TARGETS_VALUE_THRESHOLD or higher; 0 => otherwise - TARGETS_RATIO_THRESHOLD: 0.5 - TARGETS_VALUE_THRESHOLD: 16