From f6724b5ce9a79ba20a96ab0928b358514ab0e2e8 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Fri, 20 Oct 2023 16:45:46 +1100 Subject: [PATCH] implementing new prediction process --- backend/app/plan/router.py | 26 ++++---------------------- backend/app/plan/utils.py | 2 ++ 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/backend/app/plan/router.py b/backend/app/plan/router.py index 8a7591d8..fdbf155d 100644 --- a/backend/app/plan/router.py +++ b/backend/app/plan/router.py @@ -228,30 +228,12 @@ async def trigger_plan(body: PlanTriggerRequest): ).drop(columns=["LOCAL_AUTHORITY"]) recommendations_scoring_data = DataProcessor.clean_missings_after_description_process( - recommendations_scoring_data, [ - c for c in recommendations_scoring_data.columns if - ("thermal_transmittance" in c) or ("insulation_thickness" in c) - ] + recommendations_scoring_data, + ignore_cols=[c for c in recommendations_scoring_data.columns if ("thermal_transmittance" in c) or ( + "insulation_thickness" in c) or ("ENERGY_EFF" in c)] ) - for c in new_sap_dataset.columns: - if c in ["UPRN", "RDSAP_CHANGE", "HEAT_DEMAND_CHANGE", "CARBON_CHANGE", "SAP_STARTING"]: - continue - - if (new_sap_dataset[c].dtype.name in ["int64", "float64"]) & ( - recommendations_scoring_data[c].dtype.name in ["int64", "float64"] - ): - continue - - if c == "CONSTITUENCY": - if c not in recommendations_scoring_data: - raise Exception("wtf") - continue - - unique_vals = new_sap_dataset[c].unique() - scoring_unique_vals = recommendations_scoring_data[c].unique() - if not all(x in unique_vals for x in scoring_unique_vals): - raise Exception("") + recommendations_scoring_data = DataProcessor.clean_efficiency_variables(recommendations_scoring_data) sap_change_model_api = SAPChangeModelAPI(portfolio_id=body.portfolio_id, timestamp=created_at) file_location = sap_change_model_api.upload_scoring_data( diff --git a/backend/app/plan/utils.py b/backend/app/plan/utils.py index 2d9659e1..c06d9293 100644 --- a/backend/app/plan/utils.py +++ b/backend/app/plan/utils.py @@ -130,6 +130,7 @@ def create_recommendation_scoring_data( # insulation thickness scoring_dict["walls_thermal_transmittance_ENDING"] = recommendation["new_u_value"] scoring_dict["walls_insulation_thickness_ENDING"] = "above average" + scoring_dict["WALLS_ENERGY_EFF_ENDING"] = "Good" else: if scoring_dict["walls_thermal_transmittance_ENDING"] is None: scoring_dict["walls_thermal_transmittance_ENDING"] = get_wall_u_value( @@ -151,6 +152,7 @@ def create_recommendation_scoring_data( scoring_dict["floor_thermal_transmittance_ENDING"] = recommendation["new_u_value"] # We don't really see above average for this in the training data scoring_dict["floor_insulation_thickness_ENDING"] = "average" + scoring_dict["FLOOR_ENERGY_EFF_ENDING"] = "Good" else: if scoring_dict["floor_thermal_transmittance_ENDING"] is None: scoring_dict["floor_thermal_transmittance_ENDING"] = get_floor_u_value(