implementing new prediction process

This commit is contained in:
Khalim Conn-Kowlessar 2023-10-20 16:45:46 +11:00
parent 855d581dbf
commit f6724b5ce9
2 changed files with 6 additions and 22 deletions

View file

@ -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(

View file

@ -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(