From 7bf7153286d2b9382ad316883a7f5fd573f98f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Tue, 17 Sep 2024 14:20:53 +0200 Subject: [PATCH 01/11] create catalog of country-month level models --- documentation/catalogs/cm_model_catalog.md | 36 +++++ .../catalogs/generate_links_to_querysets.py | 146 ++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 documentation/catalogs/cm_model_catalog.md create mode 100755 documentation/catalogs/generate_links_to_querysets.py diff --git a/documentation/catalogs/cm_model_catalog.md b/documentation/catalogs/cm_model_catalog.md new file mode 100644 index 00000000..8a9f3188 --- /dev/null +++ b/documentation/catalogs/cm_model_catalog.md @@ -0,0 +1,36 @@ +| Model Name | Algorithm | Target | Input Features | Non-default Hyperparameters | Forecasting Type | Implementation Status | Implementation Date | Author | +| ---------- | --------- | ------ | -------------- | --------------------------- | ---------------- | --------------------- | ------------------- | ------ | +| fatalities002_baseline_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_baseline](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L16) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_rf | XGBRFRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_gbm | GradientBoostingRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=200 | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | fatalities002_conflict_history | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_long_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_conflict_history_long | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_vdem_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_vdem_short](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1205) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_wdi_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_wdi_short](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1627) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L74) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_xgb | XGBRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L74) | n_estimators=80, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L74) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2090) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_hurdle_rf | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2090) | clf_name="RFClassifier", reg_name="RFRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_xgb | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_all_pca3_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_all_features | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_aquastat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_aquastat](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L639) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faostat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faostat](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2697) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faoprices_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faoprices](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2947) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_imfweo_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_imfweo](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L3013) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_Markov_glm | rf | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | +| fatalities002_Markov_rf | glm | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_baseline_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_baseline](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L28) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_history_xgb | xgb_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_history](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L764) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_treelag_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_treelag](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L1012) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_sptime_dist_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_sptime_dist](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L1055) | None | Direct multi-step | no | NA | NA | diff --git a/documentation/catalogs/generate_links_to_querysets.py b/documentation/catalogs/generate_links_to_querysets.py new file mode 100755 index 00000000..ea6d2a8c --- /dev/null +++ b/documentation/catalogs/generate_links_to_querysets.py @@ -0,0 +1,146 @@ +import re +import ast + +# Define the path to the model definition file in the cloned viewsforecasting repo +model_def_path = '../../../viewsforecasting/SystemUpdates/ModelDefinitions.py' + +# Define the path to the cm and pgm querysets file in the cloned viewsforecasting repo +cm_querysets_path = '../../../viewsforecasting/Tools/cm_querysets.py' +pgm_querysets_path = '../../../viewsforecasting/Tools/pgm_querysets.py' + +# The GitHub repo link +GITHUB_URL = 'https://github.com/prio-data/viewsforecasting/blob/main/' + + + +def convert_to_dict(input_str): + """ + It converts the string of every model from ModelDefinitions.py to a dict. + """ + # Adjusted regex pattern to match 'algorithm' value that might contain parentheses or function calls + input_str = input_str.replace("'", "\"") + alg_pattern = r'"algorithm":\s*(.*?),\s*(?=\n)' + + # Convert 'algorithm' value to string if it isn't already a string + dict_str = re.sub( + alg_pattern, + lambda m: f'"algorithm": \'{m.group(1)}\',' if not m.group(1).startswith('"') and not m.group(1).endswith('"') else f'"algorithm": {m.group(1)},' , + input_str + ) + + # Evaluate the dictionary string using ast.literal_eval + try: + dictionary = ast.literal_eval(dict_str) + except Exception as e: + print(f"Error converting string to dict: {e}") + print(dict_str) + return None + + return dictionary + + + +def extract_models(model_def_path): + """ + It creates a list of dictionaries containing every model from ModelDefinitions.py. + """ + with open(model_def_path, 'r') as file: + content = file.read() + + models_dict = [] + model_dicts_str = re.finditer('model = {', content) + + for model_str in model_dicts_str: + start_index = model_str.end(0) - 1 + end_index = content.find("}", start_index) + 1 + model_dict_str = content[start_index:end_index] + model_dict = convert_to_dict(model_dict_str) + models_dict.append(model_dict) + return models_dict + + +def find_querysets(queryfilepath, model): + """ + Parse cm_querysets.py and find the queryset for every model and return a markdown link with the github link pointing to the right line number. + """ + + with open(queryfilepath, 'r') as f: + # Loop through each line in the file + for i, line in enumerate(f, start=1): + + # Search for the pattern in the line + match = re.search(r'Queryset\("' + re.escape(model['queryset']) , line) + + if match: + #print(f"Match found: {match.group(0)} on line {i}") + markers = { + 'marker' : match.group(0), + 'line' : i, + 'file' : queryfilepath.split('viewsforecasting/')[1]} + link_template = '- [{marker}]({url}{file}#L{line})' + new_links = link_template.format(marker=markers['marker'], + url=GITHUB_URL, + file=markers['file'], + line=markers['line']) + break # Stop after finding the first match + else: + new_links = model['queryset'] + + return new_links + + + + + + + +def generate_markdown_table(models): + """ + Function to generate markdown table from the model dictionaries. + """ + headers = ['Model Name', 'Algorithm', 'Target', 'Input Features', 'Non-default Hyperparameters', 'Forecasting Type', 'Implementation Status', 'Implementation Date', 'Author'] + + markdown_table = '| ' + ' '.join([f"{header} |" for header in headers]) + '\n' + markdown_table += '| ' + ' '.join(['-' * len(header) + ' |' for header in headers]) + '\n' + + + for model in models: + if 'pgm' in model.get('queryset', ''): + querysetname = find_querysets(pgm_querysets_path, model) + else: + querysetname = find_querysets(cm_querysets_path, model) + + + row = [ + model.get('modelname', ''), + str(model.get('algorithm', '')).split('(')[0], + model.get('depvar', ''), + #model.get('data_train', ''), + querysetname , #model.get('queryset', ''), + #model.get('preprocessing', ''), + re.search(r'\((.*?)\)', model.get('algorithm','')).group(1) if re.search(r'\((.*?)\)', model.get('algorithm','')) else 'None', + 'Direct multi-step', + #model.get('level', ''), + #model.get('description', ''), + #model.get('long_description', '').replace('\n', ' ')[:100] + '...' + 'no', + 'NA', + 'NA' + ] + markdown_table += '| ' + ' | '.join(row) + ' |\n' + + return markdown_table + +models_dict = extract_models(model_def_path) +markdown_table = generate_markdown_table(models_dict) + +with open('cm_model_catalog.md', 'w') as f: + f.write(markdown_table) + + + + + + + + From 2d2b0f305f3610316878328a0616ac4052c8445a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Thu, 19 Sep 2024 11:54:33 +0200 Subject: [PATCH 02/11] workflow to update cm_model_catalog.md when triggered by dispatch event in viewforecasting --- ...enerate_links_to_querysets_on_dispatch.yml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/run_generate_links_to_querysets_on_dispatch.yml diff --git a/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml b/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml new file mode 100644 index 00000000..eeafea49 --- /dev/null +++ b/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml @@ -0,0 +1,23 @@ +name: run generate_links_to_querysets.py on dispatch event + +# Listen for the dispatch event from viewsforecasting +on: + repository_dispatch: + types: [trigger-generate_links_to_querysets] + +jobs: + run-script: + runs-on: ubuntu-latest + + steps: + - name: Checkout views_pipeline + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Run Python script + run: | + python documentation/catalogs/generate_links_to_querysets.py From fa4898cf193652e9199bf65846c3378c053bdd85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Thu, 19 Sep 2024 12:18:06 +0200 Subject: [PATCH 03/11] workflow checkout to create_cm_catalog_01 branch --- .../workflows/run_generate_links_to_querysets_on_dispatch.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml b/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml index eeafea49..4f85aa4c 100644 --- a/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml +++ b/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml @@ -12,6 +12,8 @@ jobs: steps: - name: Checkout views_pipeline uses: actions/checkout@v3 + with: + ref: create_cm_catalog_01 - name: Set up Python uses: actions/setup-python@v4 From ebda36ca912d663486c58c1d081a7097311095a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Thu, 19 Sep 2024 14:15:50 +0200 Subject: [PATCH 04/11] workflow can be triggered manually --- .../workflows/run_generate_links_to_querysets_on_dispatch.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml b/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml index 4f85aa4c..a0d403d3 100644 --- a/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml +++ b/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml @@ -2,6 +2,7 @@ name: run generate_links_to_querysets.py on dispatch event # Listen for the dispatch event from viewsforecasting on: + workflow_dispatch: repository_dispatch: types: [trigger-generate_links_to_querysets] From ba27764fdc8cd6507a0adbfc712f8fa967e0a9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Thu, 19 Sep 2024 15:28:40 +0200 Subject: [PATCH 05/11] cm_model_catalog.md points to github querysets on github_workflows branch --- documentation/catalogs/generate_links_to_querysets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/catalogs/generate_links_to_querysets.py b/documentation/catalogs/generate_links_to_querysets.py index ea6d2a8c..7d38bb4a 100755 --- a/documentation/catalogs/generate_links_to_querysets.py +++ b/documentation/catalogs/generate_links_to_querysets.py @@ -9,7 +9,7 @@ pgm_querysets_path = '../../../viewsforecasting/Tools/pgm_querysets.py' # The GitHub repo link -GITHUB_URL = 'https://github.com/prio-data/viewsforecasting/blob/main/' +GITHUB_URL = 'https://github.com/prio-data/viewsforecasting/blob/github_workflows/' From 2f25f1173208855753e426c921c4e0ea71b419f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Fri, 20 Sep 2024 09:28:57 +0200 Subject: [PATCH 06/11] changing path in generate_links_to_querysets.py --- documentation/catalogs/generate_links_to_querysets.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/catalogs/generate_links_to_querysets.py b/documentation/catalogs/generate_links_to_querysets.py index 7d38bb4a..e351cc88 100755 --- a/documentation/catalogs/generate_links_to_querysets.py +++ b/documentation/catalogs/generate_links_to_querysets.py @@ -2,11 +2,11 @@ import ast # Define the path to the model definition file in the cloned viewsforecasting repo -model_def_path = '../../../viewsforecasting/SystemUpdates/ModelDefinitions.py' +model_def_path = '../viewsforecasting/SystemUpdates/ModelDefinitions.py' # Define the path to the cm and pgm querysets file in the cloned viewsforecasting repo -cm_querysets_path = '../../../viewsforecasting/Tools/cm_querysets.py' -pgm_querysets_path = '../../../viewsforecasting/Tools/pgm_querysets.py' +cm_querysets_path = '../viewsforecasting/Tools/cm_querysets.py' +pgm_querysets_path = '../viewsforecasting/Tools/pgm_querysets.py' # The GitHub repo link GITHUB_URL = 'https://github.com/prio-data/viewsforecasting/blob/github_workflows/' @@ -85,7 +85,7 @@ def find_querysets(queryfilepath, model): break # Stop after finding the first match else: new_links = model['queryset'] - + return new_links From c5cad4c7f560846cac7571e54832c507ed2dc21e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Fri, 20 Sep 2024 10:35:46 +0200 Subject: [PATCH 07/11] change relative path of cm_model_catalog.md --- documentation/catalogs/generate_links_to_querysets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/catalogs/generate_links_to_querysets.py b/documentation/catalogs/generate_links_to_querysets.py index e351cc88..0a2e61de 100755 --- a/documentation/catalogs/generate_links_to_querysets.py +++ b/documentation/catalogs/generate_links_to_querysets.py @@ -134,7 +134,7 @@ def generate_markdown_table(models): models_dict = extract_models(model_def_path) markdown_table = generate_markdown_table(models_dict) -with open('cm_model_catalog.md', 'w') as f: +with open('documentation/catalogs/cm_model_catalog.md', 'w') as f: f.write(markdown_table) From 9a6feadfb9b07fb6a20353996785b45dde94b009 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 20 Sep 2024 08:44:06 +0000 Subject: [PATCH 08/11] Automated changes by GitHub Actions --- documentation/catalogs/cm_model_catalog.md | 58 +++++++++++----------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/documentation/catalogs/cm_model_catalog.md b/documentation/catalogs/cm_model_catalog.md index 8a9f3188..2c9d82c5 100644 --- a/documentation/catalogs/cm_model_catalog.md +++ b/documentation/catalogs/cm_model_catalog.md @@ -1,36 +1,36 @@ | Model Name | Algorithm | Target | Input Features | Non-default Hyperparameters | Forecasting Type | Implementation Status | Implementation Date | Author | | ---------- | --------- | ------ | -------------- | --------------------------- | ---------------- | --------------------- | ------------------- | ------ | -| fatalities002_baseline_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_baseline](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L16) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_baseline_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L16) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_rf | XGBRFRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_gbm | GradientBoostingRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=200 | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | fatalities002_conflict_history | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_long_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_conflict_history_long | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_vdem_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_vdem_short](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1205) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_wdi_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_wdi_short](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1627) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L74) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_xgb | XGBRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L74) | n_estimators=80, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L74) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_broad_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2090) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_joint_broad_hurdle_rf | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2090) | clf_name="RFClassifier", reg_name="RFRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_xgb | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_vdem_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_vdem_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1205) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_wdi_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_wdi_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1627) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L74) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_xgb | XGBRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L74) | n_estimators=80, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L74) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2090) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_hurdle_rf | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2090) | clf_name="RFClassifier", reg_name="RFRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_xgb | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | | fatalities002_all_pca3_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_all_features | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_aquastat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_aquastat](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L639) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_faostat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faostat](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2697) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_faoprices_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faoprices](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L2947) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_imfweo_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_imfweo](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L3013) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_Markov_glm | rf | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | -| fatalities002_Markov_rf | glm | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/main/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_baseline_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_baseline](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L28) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflictlong_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflictlong_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_escwa_drought_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_escwa_drought_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_natsoc_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_natsoc_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_broad_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_broad_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_history_xgb | xgb_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_history](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L764) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_treelag_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_treelag](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L1012) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_sptime_dist_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_sptime_dist](https://github.com/prio-data/viewsforecasting/blob/main/Tools/pgm_querysets.py#L1055) | None | Direct multi-step | no | NA | NA | +| fatalities002_aquastat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_aquastat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L639) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faostat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faostat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2697) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faoprices_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faoprices](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2947) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_imfweo_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_imfweo](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3013) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_Markov_glm | rf | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | +| fatalities002_Markov_rf | glm | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_baseline_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L28) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_history_xgb | xgb_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L764) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_treelag_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_treelag](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1012) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_sptime_dist_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_sptime_dist](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1055) | None | Direct multi-step | no | NA | NA | From 6ea307413d9f14f3b756cc9b035cd1cafae7d0d8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 20 Sep 2024 09:21:51 +0000 Subject: [PATCH 09/11] Automated changes by GitHub Actions --- documentation/catalogs/cm_model_catalog.md | 58 +++++++++++----------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/documentation/catalogs/cm_model_catalog.md b/documentation/catalogs/cm_model_catalog.md index 2c9d82c5..e89cb8ec 100644 --- a/documentation/catalogs/cm_model_catalog.md +++ b/documentation/catalogs/cm_model_catalog.md @@ -1,36 +1,36 @@ | Model Name | Algorithm | Target | Input Features | Non-default Hyperparameters | Forecasting Type | Implementation Status | Implementation Date | Author | | ---------- | --------- | ------ | -------------- | --------------------------- | ---------------- | --------------------- | ------------------- | ------ | -| fatalities002_baseline_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L16) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_baseline_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L30) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_rf | XGBRFRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_gbm | GradientBoostingRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=200 | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | fatalities002_conflict_history | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | | fatalities002_conflicthistory_long_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_conflict_history_long | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_vdem_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_vdem_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1205) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_wdi_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_wdi_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1627) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L74) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_xgb | XGBRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L74) | n_estimators=80, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L74) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_broad_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2090) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_joint_broad_hurdle_rf | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2090) | clf_name="RFClassifier", reg_name="RFRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_xgb | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_vdem_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_vdem_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1219) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_wdi_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_wdi_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1641) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L88) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_xgb | XGBRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L88) | n_estimators=80, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L88) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2104) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_hurdle_rf | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2104) | clf_name="RFClassifier", reg_name="RFRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_xgb | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | | fatalities002_all_pca3_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_all_features | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_aquastat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_aquastat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L639) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_faostat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faostat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2697) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_faoprices_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faoprices](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2947) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_imfweo_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_imfweo](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3013) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_Markov_glm | rf | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | -| fatalities002_Markov_rf | glm | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1853) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_baseline_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L28) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflictlong_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflictlong_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L104) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_escwa_drought_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_escwa_drought_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L277) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_natsoc_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_natsoc_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L445) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_broad_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_broad_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L608) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_history_xgb | xgb_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L764) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_treelag_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_treelag](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1012) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_sptime_dist_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_sptime_dist](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1055) | None | Direct multi-step | no | NA | NA | +| fatalities002_aquastat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_aquastat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L653) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faostat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faostat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2711) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faoprices_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faoprices](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2961) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_imfweo_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_imfweo](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3027) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_Markov_glm | rf | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | None | Direct multi-step | no | NA | NA | +| fatalities002_Markov_rf | glm | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_baseline_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L32) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L108) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L108) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L281) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L281) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L449) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L449) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L612) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L612) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_history_xgb | xgb_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L768) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_treelag_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_treelag](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1016) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_sptime_dist_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_sptime_dist](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1059) | None | Direct multi-step | no | NA | NA | From 012c2b5f7125fb513122c944424f2312cd2e050f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borb=C3=A1la=20Farkas?= Date: Fri, 20 Sep 2024 14:21:46 +0200 Subject: [PATCH 10/11] add links to every queryset, remove unused workflow --- ...enerate_links_to_querysets_on_dispatch.yml | 26 ---------- .../catalogs/generate_links_to_querysets.py | 52 +++++++++++-------- 2 files changed, 29 insertions(+), 49 deletions(-) delete mode 100644 .github/workflows/run_generate_links_to_querysets_on_dispatch.yml diff --git a/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml b/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml deleted file mode 100644 index a0d403d3..00000000 --- a/.github/workflows/run_generate_links_to_querysets_on_dispatch.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: run generate_links_to_querysets.py on dispatch event - -# Listen for the dispatch event from viewsforecasting -on: - workflow_dispatch: - repository_dispatch: - types: [trigger-generate_links_to_querysets] - -jobs: - run-script: - runs-on: ubuntu-latest - - steps: - - name: Checkout views_pipeline - uses: actions/checkout@v3 - with: - ref: create_cm_catalog_01 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - - name: Run Python script - run: | - python documentation/catalogs/generate_links_to_querysets.py diff --git a/documentation/catalogs/generate_links_to_querysets.py b/documentation/catalogs/generate_links_to_querysets.py index 0a2e61de..a6713053 100755 --- a/documentation/catalogs/generate_links_to_querysets.py +++ b/documentation/catalogs/generate_links_to_querysets.py @@ -8,8 +8,9 @@ cm_querysets_path = '../viewsforecasting/Tools/cm_querysets.py' pgm_querysets_path = '../viewsforecasting/Tools/pgm_querysets.py' -# The GitHub repo link -GITHUB_URL = 'https://github.com/prio-data/viewsforecasting/blob/github_workflows/' +# The GitHub repo link +# TODO: github_workflows should be changed to main when merged +GITHUB_URL = 'https://github.com/prio-data/viewsforecasting/blob/github_workflows/' @@ -17,7 +18,7 @@ def convert_to_dict(input_str): """ It converts the string of every model from ModelDefinitions.py to a dict. """ - # Adjusted regex pattern to match 'algorithm' value that might contain parentheses or function calls + # Regex pattern to match 'algorithm' value that might contain parentheses or function calls input_str = input_str.replace("'", "\"") alg_pattern = r'"algorithm":\s*(.*?),\s*(?=\n)' @@ -33,7 +34,6 @@ def convert_to_dict(input_str): dictionary = ast.literal_eval(dict_str) except Exception as e: print(f"Error converting string to dict: {e}") - print(dict_str) return None return dictionary @@ -59,33 +59,44 @@ def extract_models(model_def_path): return models_dict +def create_link(marker, line, queryfilepath): + """ + Create a markdown link pointing to the line where the queryset starts. + """ + file = queryfilepath.split('viewsforecasting/')[1] + link_template = '- [{marker}]({url}{file}#L{line})' + return link_template.format(marker=marker, url=GITHUB_URL, file=file, line=line) + + + def find_querysets(queryfilepath, model): """ Parse cm_querysets.py and find the queryset for every model and return a markdown link with the github link pointing to the right line number. """ with open(queryfilepath, 'r') as f: + markers = {'file' : queryfilepath.split('viewsforecasting/')[1]} # Loop through each line in the file for i, line in enumerate(f, start=1): - + # Search for the pattern in the line - match = re.search(r'Queryset\("' + re.escape(model['queryset']) , line) + match = re.search(r'Queryset\("' + re.escape(model['queryset']), line) if match: - #print(f"Match found: {match.group(0)} on line {i}") - markers = { - 'marker' : match.group(0), - 'line' : i, - 'file' : queryfilepath.split('viewsforecasting/')[1]} - link_template = '- [{marker}]({url}{file}#L{line})' - new_links = link_template.format(marker=markers['marker'], - url=GITHUB_URL, - file=markers['file'], - line=markers['line']) + new_links = create_link(model['queryset'], i, queryfilepath) break # Stop after finding the first match + elif model['queryset'] == 'fatalities002_all_features' and 'qs_all_features = Queryset.from_merger' in line: + new_links = create_link('fatalities002_all_features', i, queryfilepath) + break + elif model['queryset'] == 'fatalities002_conflict_history' and 'qs_conflict = Queryset.from_merger' in line: + new_links = create_link('fatalities002_conflict_history', i, queryfilepath) + break + elif model['queryset'] == 'fatalities002_conflict_history_long' and 'qs_conflict_long = Queryset.from_merger' in line: + new_links = create_link('fatalities002_conflict_history_long', i, queryfilepath) + break else: new_links = model['queryset'] - + return new_links @@ -115,14 +126,9 @@ def generate_markdown_table(models): model.get('modelname', ''), str(model.get('algorithm', '')).split('(')[0], model.get('depvar', ''), - #model.get('data_train', ''), - querysetname , #model.get('queryset', ''), - #model.get('preprocessing', ''), + querysetname, re.search(r'\((.*?)\)', model.get('algorithm','')).group(1) if re.search(r'\((.*?)\)', model.get('algorithm','')) else 'None', 'Direct multi-step', - #model.get('level', ''), - #model.get('description', ''), - #model.get('long_description', '').replace('\n', ' ')[:100] + '...' 'no', 'NA', 'NA' From 008a2f2a1ef4d50047aa47c9a9b4a683d333ca8e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 20 Sep 2024 12:28:53 +0000 Subject: [PATCH 11/11] Automated changes by GitHub Actions --- documentation/catalogs/cm_model_catalog.md | 68 +++++++++++----------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/documentation/catalogs/cm_model_catalog.md b/documentation/catalogs/cm_model_catalog.md index e89cb8ec..66c6e40e 100644 --- a/documentation/catalogs/cm_model_catalog.md +++ b/documentation/catalogs/cm_model_catalog.md @@ -1,36 +1,36 @@ | Model Name | Algorithm | Target | Input Features | Non-default Hyperparameters | Forecasting Type | Implementation Status | Implementation Date | Author | | ---------- | --------- | ------ | -------------- | --------------------------- | ---------------- | --------------------- | ------------------- | ------ | -| fatalities002_baseline_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L30) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_conflicthistory_rf | XGBRFRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_conflicthistory_gbm | GradientBoostingRegressor | ln_ged_sb_dep | fatalities002_conflict_history | n_estimators=200 | Direct multi-step | no | NA | NA | -| fatalities002_conflicthistory_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | fatalities002_conflict_history | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_conflicthistory_long_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_conflict_history_long | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_vdem_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_vdem_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1219) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_wdi_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_wdi_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1641) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L88) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_xgb | XGBRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L88) | n_estimators=80, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_topics_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L88) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_broad_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2104) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_joint_broad_hurdle_rf | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2104) | clf_name="RFClassifier", reg_name="RFRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_xgb | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_joint_narrow_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | -| fatalities002_all_pca3_xgb | XGBRegressor | ln_ged_sb_dep | fatalities002_all_features | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_aquastat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_aquastat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L653) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_faostat_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faostat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2711) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_faoprices_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_faoprices](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2961) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_imfweo_rf | XGBRFRegressor | ln_ged_sb_dep | - [Queryset("fatalities002_imfweo](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3027) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | -| fatalities002_Markov_glm | rf | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | None | Direct multi-step | no | NA | NA | -| fatalities002_Markov_rf | glm | ln_ged_sb_dep | - [Queryset("fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1867) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_baseline_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L32) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflictlong_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L108) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflictlong_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L108) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_escwa_drought_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L281) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_escwa_drought_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L281) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_natsoc_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L449) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_natsoc_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L449) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_broad_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L612) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_broad_lgbm | lgbm_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L612) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_history_xgb | xgb_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L768) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_treelag_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_treelag](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1016) | None | Direct multi-step | no | NA | NA | -| fatalities002_pgm_conflict_sptime_dist_hurdle | hur_regressor | ln_ged_sb_dep | - [Queryset("fatalities002_pgm_conflict_sptime_dist](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1059) | None | Direct multi-step | no | NA | NA | +| fatalities002_baseline_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L24) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3087) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_gbm | GradientBoostingRegressor | ln_ged_sb_dep | - [fatalities002_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3087) | n_estimators=200 | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [fatalities002_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3087) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_conflicthistory_long_xgb | XGBRegressor | ln_ged_sb_dep | - [fatalities002_conflict_history_long](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3101) | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_vdem_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [fatalities002_vdem_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1213) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_wdi_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_wdi_short](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1635) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L82) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_xgb | XGBRegressor | ln_ged_sb_dep | - [fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L82) | n_estimators=80, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_topics_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [fatalities002_topics](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L82) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2098) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_broad_hurdle_rf | HurdleRegression | ln_ged_sb_dep | - [fatalities002_joint_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2098) | clf_name="RFClassifier", reg_name="RFRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_xgb | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1861) | n_estimators=250, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_xgb | HurdleRegression | ln_ged_sb_dep | - [fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1861) | clf_name="XGBClassifier", reg_name="XGBRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_joint_narrow_hurdle_lgb | HurdleRegression | ln_ged_sb_dep | - [fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1861) | clf_name="LGBMClassifier", reg_name="LGBMRegressor" | Direct multi-step | no | NA | NA | +| fatalities002_all_pca3_xgb | XGBRegressor | ln_ged_sb_dep | - [fatalities002_all_features](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3199) | n_estimators=100, learning_rate=0.05, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_aquastat_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_aquastat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L647) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faostat_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_faostat](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2705) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_faoprices_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_faoprices](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L2955) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_imfweo_rf | XGBRFRegressor | ln_ged_sb_dep | - [fatalities002_imfweo](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L3021) | n_estimators=300, n_jobs=nj | Direct multi-step | no | NA | NA | +| fatalities002_Markov_glm | rf | ln_ged_sb_dep | - [fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1861) | None | Direct multi-step | no | NA | NA | +| fatalities002_Markov_rf | glm | ln_ged_sb_dep | - [fatalities002_joint_narrow](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/cm_querysets.py#L1861) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_baseline_lgbm | lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_baseline](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L34) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_lgbm | lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L110) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflictlong_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_conflictlong](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L110) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L283) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_escwa_drought_lgbm | lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_escwa_drought](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L283) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L451) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_natsoc_lgbm | lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_natsoc](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L451) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_hurdle_lgbm | hur_lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L614) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_broad_lgbm | lgbm_regressor | ln_ged_sb_dep | - [fatalities002_pgm_broad](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L614) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_history_xgb | xgb_regressor | ln_ged_sb_dep | - [fatalities002_pgm_conflict_history](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L770) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_treelag_hurdle | hur_regressor | ln_ged_sb_dep | - [fatalities002_pgm_conflict_treelag](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1018) | None | Direct multi-step | no | NA | NA | +| fatalities002_pgm_conflict_sptime_dist_hurdle | hur_regressor | ln_ged_sb_dep | - [fatalities002_pgm_conflict_sptime_dist](https://github.com/prio-data/viewsforecasting/blob/github_workflows/Tools/pgm_querysets.py#L1061) | None | Direct multi-step | no | NA | NA |