Compare commits

..

34 commits

Author SHA1 Message Date
quandanrepo
b8dcf626b2
Merge pull request #117 from Hestia-Homes/sap-dev
Sap dev
2024-05-30 20:18:25 +01:00
Github-Bot
d09c534e0d Update Registry 2024-05-30 11:47:46 +00:00
Github-Bot
9925b54af2 Update Registry 2024-05-30 11:47:04 +00:00
KhalimCK
d307d9e093
Merge pull request #116 from Hestia-Homes/sap-dev-assumed
Sap dev assumed
2024-05-30 12:46:28 +01:00
Michael Duong
1944ea1cf1 Merge branch 'sap-dev' of github.com:Hestia-Homes/ML into sap-dev-assumed 2024-05-28 19:59:07 +01:00
Michael Duong
8399092e20 formatting 2024-05-28 19:58:46 +01:00
Github-Bot
dc260fddd0 Update Registry 2024-05-28 15:58:31 +00:00
Github-Bot
6f00d6afb8 Update Registry 2024-05-28 15:57:55 +00:00
quandanrepo
1f0414a905
Merge pull request #115 from Hestia-Homes/sap-dev-assumed
Sap dev assumed
2024-05-28 16:57:22 +01:00
Michael Duong
5e0118ca0b change deployment - pineed serverless pajkage 2024-05-28 16:55:47 +01:00
Michael Duong
7e3a6f7700 Merge branch 'sap-dev' of github.com:Hestia-Homes/ML into sap-dev-assumed 2024-05-26 10:46:38 +01:00
Github-Bot
396a5ffb08 Update Registry 2024-05-26 09:08:23 +00:00
Github-Bot
a78c5a50b0 Update Registry 2024-05-26 09:07:46 +00:00
quandanrepo
dc70b84626
Merge pull request #113 from Hestia-Homes/sap-dev-gto
Sap dev gto
2024-05-26 10:07:07 +01:00
Michael Duong
e0954b52bc Upgrade dvc packages to fix pygit2 error 2024-05-26 09:56:05 +01:00
Michael Duong
9e23eae27a add testing script 2024-05-26 09:54:22 +01:00
Michael Duong
0768ace947 add testing script 2024-05-26 09:50:39 +01:00
Michael Duong
4ff7cfb271 Merge branch 'sap-dev' of github.com:Hestia-Homes/ML into sap-dev-gto 2024-05-26 09:47:23 +01:00
Michael Duong
a4dffe527a add testing script 2024-05-26 09:47:08 +01:00
quandanrepo
8adfa72036
Merge pull request #111 from Hestia-Homes/sap-dev-package
Sap dev package
2024-05-26 09:31:46 +01:00
Michael Duong
29b350e33b Merge branch 'master' of github.com:Hestia-Homes/ML into sap-dev-assumed 2024-05-26 09:28:16 +01:00
Michael Duong
b985bbf753 new model with is_as_built_ending and is assumed columns 2024-05-26 09:28:00 +01:00
Michael Duong
f43d077479 use previous model with new downstream processes 2024-04-22 19:10:40 +01:00
Michael Duong
52f33239f4 Merge branch 'sap-dev-package' of github.com:Hestia-Homes/ML into sap-dev-package 2024-04-22 19:02:13 +01:00
Michael Duong
874b1db5f3 add ignored file to dockerignore 2024-04-22 19:01:56 +01:00
Michael Duong
7a3477c0e1 change to all packages 2024-04-22 13:30:58 +01:00
Michael Duong
87e3cc391e push files to s3 2024-04-19 17:48:15 +01:00
Michael Duong
380bd6b595 correct the dockerignore files and test model with just tabular 2024-04-19 17:34:10 +01:00
Michael Duong
50a3e2d5be correct the dockerignore files and test model with just tabular 2024-04-19 16:25:26 +01:00
Michael Duong
620c1d10a1 correct the dockerignore files and test model with just tabular 2024-04-19 16:22:06 +01:00
Michael Duong
179c334b6e add switch to turn off scenario data (for carbon and heat for now) 2024-04-19 14:38:57 +01:00
quandanrepo
502621e434
Merge pull request #110 from Hestia-Homes/sap-dev
Sap dev
2024-04-19 14:36:45 +01:00
Github-Bot
e97c01c366 Update Registry 2024-03-28 15:23:18 +00:00
Github-Bot
94a6aaa38f Update Registry 2024-03-28 15:22:33 +00:00
15 changed files with 91 additions and 95 deletions

9
.dockerignore Normal file
View file

@ -0,0 +1,9 @@
modules/ml-pipeline/src/pipeline/data/predictions
modules/ml-pipeline/src/pipeline/data/fit_predictions
modules/ml-pipeline/src/pipeline/data/prepared_data
modules/ml-pipeline/src/pipeline/data/model/allmodels
modules/ml-pipeline/src/pipeline/metrics
modules/ml-pipeline/src/pipeline/__pycache__
modules/ml-pipeline/src/pipeline/.dvc
modules/ml-pipeline/src/pipeline/analysis
modules/ml-pipeline/src/pipeline/metrics

View file

@ -19,8 +19,8 @@ jobs:
- name: Install Serverless and plugins
run: |
npm install -g serverless
npm install -g serverless-domain-manager
npm install -g serverless@^3.38.0
npm install -g serverless-domain-manager@^7.3.8
- name: Install DVC
run: |

View file

@ -8,25 +8,25 @@
"active": true
},
"sap": {
"version": "v0.10.1",
"version": "v0.14.0",
"stage": {
"dev": "v0.10.1"
"dev": "v0.14.0"
},
"registered": true,
"active": true
},
"heat": {
"version": "v0.4.0",
"version": "v0.5.0",
"stage": {
"dev": "v0.4.0"
"dev": "v0.5.0"
},
"registered": true,
"active": true
},
"carbon": {
"version": "v0.4.0",
"version": "v0.5.0",
"stage": {
"dev": "v0.4.0"
"dev": "v0.5.0"
},
"registered": true,
"active": true

View file

@ -1,4 +1,9 @@
modules/ml-pipeline/src/pipeline/data/predictions*
modules/ml-pipeline/src/pipeline/data/prepared_data*
modules/ml-pipeline/src/pipeline/data/model/allmodels*
modules/ml-pipeline/src/pipeline/metrics*
modules/ml-pipeline/src/pipeline/data/predictions
modules/ml-pipeline/src/pipeline/data/fit_predictions
modules/ml-pipeline/src/pipeline/data/prepared_data
modules/ml-pipeline/src/pipeline/data/model/allmodels
modules/ml-pipeline/src/pipeline/metrics
modules/ml-pipeline/src/__pycache__
modules/ml-pipeline/src/.dvc
modules/ml-pipeline/src/analysis
modules/ml-pipeline/src/metrics

View file

@ -1,4 +1,8 @@
pipeline/data/predictions*
pipeline/data/prepared_data/train.parquet*
pipeline/data/model/allmodels*
pipeline/metrics*
pipeline/data/predictions
pipeline/data/fit_predictions
pipeline/data/prepared_data/train.parquet
pipeline/data/fit_predictions
pipeline/data/model/allmodels
pipeline/metrics
pipeline/.dvc
pipeline/analysis

View file

@ -1,7 +1,7 @@
# Dockerfile that can be used to test loading a model to generate a prediction (part of CI/CD flow)
FROM python:3.10.12-slim
RUN apt-get update && apt-get install -y libgomp1
RUN apt-get update && apt-get install -y libgomp1 gcc python3-dev
COPY pipeline/requirements/predictions/requirements.txt requirements.txt

View file

@ -78,6 +78,18 @@ def generate_scenario_predictions(
scenario_data = pd.DataFrame()
# If we have no scenario data, we can save empty dataframes
if scenario_data_filepaths is None:
logger.info("No scenario data filepaths provided")
output_dataclient.save_data(
obj=scenario_data, location=comparison_output_filepath, save_config=None
)
output_dataclient.save_data(
obj=scenario_data, location=metrics_output_filepath, save_config=None
)
return
# Can have multiple scenario data files
for scenario_data_filepath in scenario_data_filepaths:
scenario_data = pd.concat(

View file

@ -5,6 +5,9 @@ default:
scenario_data_filepaths:
# - s3://retrofit-data-dev/scenario_data/22-03-2024-19-20-09/recommendations_scoring_data.parquet
# - s3://retrofit-data-dev/scenario_data/24-03-2024-20-23-25/recommendations_scoring_data.parquet
- s3://retrofit-data-dev/scenario_data/27-03-2024-11-38-15/recommendations_scoring_data.parquet
# - s3://retrofit-data-dev/scenario_data/27-03-2024-11-38-15/recommendations_scoring_data.parquet
# - s3://retrofit-data-dev/scenario_data/26-05-2024-08-47-45/recommendations_scoring_data.parquet
# - s3://retrofit-data-dev/scenario_data/26-05-2024-10-44-53/recommendations_scoring_data.parquet
- s3://retrofit-data-dev/scenario_data/28-05-2024-19-22-41/recommendations_scoring_data.parquet
comparison_output_filepath: ./metrics/scenario_table.md
metrics_output_filepath: ./metrics/scenario_metrics.md

View file

@ -18,7 +18,10 @@ default:
prepare_data:
input_dataclient_type: aws-s3
output_dataclient_type: local
data_filepath: s3://retrofit-data-dev/sap_change_model/2024-03-22-18-56-53/dataset_rooms.parquet
# data_filepath: s3://retrofit-data-dev/sap_change_model/2024-03-22-18-56-53/dataset_rooms.parquet
# data_filepath: s3://retrofit-data-dev/sap_change_model/2024-05-25-08-36-36/dataset_rooms.parquet
# data_filepath: s3://retrofit-data-dev/sap_change_model/2024-05-26-10-31-39/dataset_rooms.parquet
data_filepath: s3://retrofit-data-dev/sap_change_model/2024-05-28-19-08-25/dataset_rooms.parquet
train_proportion: 0.9
output_train_filepath: ./data/prepared_data/train.parquet
output_test_filepath: ./data/prepared_data/test.parquet

View file

@ -35,52 +35,12 @@ stages:
- number_habitable_rooms
- number_heated_rooms
default.feature_processor.feature_processor_config.retain_features:
- uprn
- sap_starting
- hot_water_energy_eff_ending
- mainheat_energy_eff_ending
- constituency
- roof_energy_eff_ending
- walls_energy_eff_ending
- secondheat_description_ending
- property_type
- mainheatc_energy_eff_ending
- built_form
- walls_insulation_thickness_ending
- potential_energy_efficiency
- transaction_type_ending
- floor_thermal_transmittance_ending
- low_energy_lighting_ending
- heat_demand_starting
- photo_supply_ending
- carbon_starting
- walls_thermal_transmittance_ending
- roof_insulation_thickness_ending
- total_floor_area_ending
- number_open_fireplaces_ending
- windows_energy_eff_ending
- floor_height_ending
- extension_count_ending
- has_air_source_heat_pump_ending
- charging_system_ending
- construction_age_band
- glazed_type_ending
- roof_thermal_transmittance_ending
- floor_insulation_thickness_ending
- has_mains_gas_ending
- estimated_perimeter_starting
- energy_consumption_potential
- environment_impact_potential
- heater_type_ending
- multi_glaze_proportion_ending
- lighting_energy_eff_ending
- fixed_lighting_outlets_count
default.feature_processor.feature_processor_config.subsample_amount:
default.feature_processor.feature_processor_config.subsample_seed: 0
default.feature_processor.feature_processor_config.target: sap_ending
default.feature_processor.feature_processor_type: dataframe
default.prepare_data.data_filepath:
s3://retrofit-data-dev/sap_change_model/2024-03-22-18-56-53/dataset_rooms.parquet
s3://retrofit-data-dev/sap_change_model/2024-05-28-19-08-25/dataset_rooms.parquet
default.prepare_data.input_dataclient_type: aws-s3
default.prepare_data.output_dataclient_type: local
default.prepare_data.output_test_filepath: ./data/prepared_data/test.parquet
@ -89,8 +49,8 @@ stages:
outs:
- path: data/prepared_data/
hash: md5
md5: efa416abea618ae6220a0c3d597603cf.dir
size: 44750997
md5: 80c9e138146a1d96b9d16091c207e2e8.dir
size: 45056059
nfiles: 2
build_model:
cmd: python 2_build_model.py
@ -101,8 +61,8 @@ stages:
size: 4820
- path: data/prepared_data
hash: md5
md5: efa416abea618ae6220a0c3d597603cf.dir
size: 44750997
md5: 80c9e138146a1d96b9d16091c207e2e8.dir
size: 45056059
nfiles: 2
params:
configs/build_model.yaml:
@ -134,17 +94,17 @@ stages:
outs:
- path: data/fit_predictions/
hash: md5
md5: de46250d454c4d713ab580b10ff3fd31.dir
size: 3349318
md5: d9c9afc05e8780db47c0548b19bf7d19.dir
size: 3349989
nfiles: 1
- path: data/model/
hash: md5
md5: 18bd7a93ece75a65d3a950b7dfdab4fb.dir
size: 735951861
nfiles: 35
md5: 13c3100e1486c27a83a8a47491077842.dir
size: 773523079
nfiles: 36
- path: metrics/fit_metrics.json
hash: md5
md5: 8a952a5e884c268e6059357a627b9251
md5: 2ff70a2a45813e1bcdf2ea3aa8e07d4a
size: 224
generate_predictions:
cmd: python 3_generate_predictions.py
@ -155,13 +115,13 @@ stages:
size: 2464
- path: data/model
hash: md5
md5: 18bd7a93ece75a65d3a950b7dfdab4fb.dir
size: 735951861
nfiles: 35
md5: 13c3100e1486c27a83a8a47491077842.dir
size: 773523079
nfiles: 36
- path: data/prepared_data
hash: md5
md5: efa416abea618ae6220a0c3d597603cf.dir
size: 44750997
md5: 80c9e138146a1d96b9d16091c207e2e8.dir
size: 45056059
nfiles: 2
params:
configs/settings.yaml:
@ -173,8 +133,8 @@ stages:
outs:
- path: data/predictions/
hash: md5
md5: 07ef721a0dc94a52e3ba7a70ac45b8ff.dir
size: 463563
md5: 5d07bcebf3160a72bb18dfd79106e85c.dir
size: 463197
nfiles: 1
generate_metrics:
cmd: python 4_generate_metrics.py
@ -185,13 +145,13 @@ stages:
size: 3484
- path: data/predictions
hash: md5
md5: 07ef721a0dc94a52e3ba7a70ac45b8ff.dir
size: 463563
md5: 5d07bcebf3160a72bb18dfd79106e85c.dir
size: 463197
nfiles: 1
- path: data/prepared_data
hash: md5
md5: efa416abea618ae6220a0c3d597603cf.dir
size: 44750997
md5: 80c9e138146a1d96b9d16091c207e2e8.dir
size: 45056059
nfiles: 2
params:
configs/settings.yaml:
@ -201,30 +161,30 @@ stages:
outs:
- path: metrics/metrics.json
hash: md5
md5: 9f863f47799d42c101eba3b03a179455
size: 224
md5: 3e08df02fd5c5d094bcf936e1338d596
size: 223
generate_scenerio_metrics:
cmd: python 5_generate_scenarios.py
deps:
- path: 5_generate_scenarios.py
hash: md5
md5: a18f6c6ae2082f038df47386cf3e418e
size: 4896
md5: 40506749fefd926d47c60ff5b16db307
size: 5337
params:
configs/scenarios.yaml:
default.scenarios:
input_dataclient_type: aws-s3
output_dataclient_type: local
scenario_data_filepaths:
- s3://retrofit-data-dev/scenario_data/27-03-2024-11-38-15/recommendations_scoring_data.parquet
- s3://retrofit-data-dev/scenario_data/28-05-2024-19-22-41/recommendations_scoring_data.parquet
comparison_output_filepath: ./metrics/scenario_table.md
metrics_output_filepath: ./metrics/scenario_metrics.md
outs:
- path: metrics/scenario_metrics.md
hash: md5
md5: 64e7db945ff655ae03c20c9845f19106
md5: fa4d6d7bbd7818613800da5f8f37ea96
size: 363
- path: metrics/scenario_table.md
hash: md5
md5: d4f8afe07b774374aeaa48f1b7b8a5fc
md5: d6baf100a1623cc2467c2f8221d314c9
size: 2133

View file

@ -1,7 +1,7 @@
joblib==1.3.2
boto3==1.28.17
pandas==2.1.4
autogluon==1.0.0
autogluon.tabular[all]==1.0.0
dynaconf==3.2.1
pyarrow==13.0.0
pre-commit==3.3.3

View file

@ -1,7 +1,7 @@
joblib==1.3.2
boto3==1.28.17
pandas==2.1.4
autogluon==1.0.0
autogluon.tabular[all]==1.0.0
dynaconf==3.2.1
pyarrow==13.0.0
PyYAML==6.0.1

View file

@ -1,7 +1,7 @@
joblib==1.3.2
boto3==1.28.17
pandas==2.1.4
autogluon==1.0.0
autogluon.tabular[all]==1.0.0
ray==2.6.3
dynaconf==3.2.1
alibi==0.9.5

View file

@ -1,4 +1,4 @@
boto3==1.28.41
pandas==2.1.4
autogluon==1.0.0
autogluon.tabular[all]==1.0.0
dynaconf==3.2.1

View file

@ -1,4 +1,4 @@
dvc==3.36.0
dvc-s3==3.0.1
gto==1.6.1
dvc==3.51.0
dvc-s3==3.2.0
gto==1.7.1
pyOpenSSL==23.3.0