mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
increasing the number of tests in generate_scenarios_data
This commit is contained in:
parent
15bcd46e24
commit
135831febb
1 changed files with 123 additions and 22 deletions
|
|
@ -71,6 +71,18 @@ scenario_properties = [
|
||||||
{},
|
{},
|
||||||
[0],
|
[0],
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation", "suspended_floor_insulation"],
|
||||||
|
"13",
|
||||||
|
{},
|
||||||
|
[0, 1],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["external_wall_insulation", "suspended_floor_insulation"],
|
||||||
|
"13",
|
||||||
|
{},
|
||||||
|
[0, 1],
|
||||||
|
],
|
||||||
[["solar", "windows"], "15", {"photo_supply_ending": 50}, [0, 1]],
|
[["solar", "windows"], "15", {"photo_supply_ending": 50}, [0, 1]],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
@ -85,6 +97,24 @@ scenario_properties = [
|
||||||
{},
|
{},
|
||||||
[0, 1],
|
[0, 1],
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
["loft_insulation"],
|
||||||
|
"2",
|
||||||
|
{},
|
||||||
|
[0],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["cavity_wall_insulation", "loft_insulation", "solid_floor_insulation"],
|
||||||
|
"12",
|
||||||
|
{},
|
||||||
|
[0],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["cavity_wall_insulation", "loft_insulation", "solid_floor_insulation", "low_energy_lighting"],
|
||||||
|
"13",
|
||||||
|
{},
|
||||||
|
[0],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -287,7 +317,19 @@ scenario_properties = [
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["double_glazing", "internal_wall_insulation", "suspended_floor_insulation"],
|
["double_glazing", "internal_wall_insulation", "suspended_floor_insulation"],
|
||||||
"11",
|
"10",
|
||||||
|
{},
|
||||||
|
[0, 1, 2]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation"],
|
||||||
|
"5",
|
||||||
|
{},
|
||||||
|
[0]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation", "suspended_floor_insulation"],
|
||||||
|
"7",
|
||||||
{},
|
{},
|
||||||
[0, 1, 2]
|
[0, 1, 2]
|
||||||
],
|
],
|
||||||
|
|
@ -533,6 +575,18 @@ scenario_properties = [
|
||||||
{},
|
{},
|
||||||
[0, 1, 2]
|
[0, 1, 2]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation"],
|
||||||
|
"5",
|
||||||
|
{},
|
||||||
|
[0]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation", "low_energy_lighting"],
|
||||||
|
"5",
|
||||||
|
{},
|
||||||
|
[0, 1]
|
||||||
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -653,17 +707,35 @@ scenario_properties = [
|
||||||
"measures": [
|
"measures": [
|
||||||
[["secondary_glazing", "low_energy_lighting"], "2", {}, [0, 1]],
|
[["secondary_glazing", "low_energy_lighting"], "2", {}, [0, 1]],
|
||||||
[
|
[
|
||||||
["secondary_glazing", "low_energy_lighting", "internal_wall_insulation", "suspending_floor_insulation"],
|
["secondary_glazing", "low_energy_lighting", "internal_wall_insulation", "suspended_floor_insulation"],
|
||||||
"9",
|
"9",
|
||||||
{},
|
{},
|
||||||
[0, 1, 2, 3]
|
[0, 1, 2, 3]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["double_glazing", "low_energy_lighting", "internal_wall_insulation", "suspending_floor_insulation"],
|
["double_glazing", "low_energy_lighting", "internal_wall_insulation", "suspended_floor_insulation"],
|
||||||
"11",
|
"11",
|
||||||
{},
|
{},
|
||||||
[0, 1, 2, 3]
|
[0, 1, 2, 3]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation"],
|
||||||
|
"6",
|
||||||
|
{},
|
||||||
|
[0]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation", "suspended_floor_insulation"],
|
||||||
|
"7",
|
||||||
|
{},
|
||||||
|
[0, 1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation", "suspended_floor_insulation", "low_energy_lighting"],
|
||||||
|
"8",
|
||||||
|
{},
|
||||||
|
[0, 1, 2]
|
||||||
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -795,6 +867,18 @@ scenario_properties = [
|
||||||
{},
|
{},
|
||||||
[0, 1, 2]
|
[0, 1, 2]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation"],
|
||||||
|
"8",
|
||||||
|
{},
|
||||||
|
[0]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["low_energy_lighting", "internal_wall_insulation"],
|
||||||
|
"10",
|
||||||
|
{},
|
||||||
|
[0, 1, 2]
|
||||||
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -963,6 +1047,18 @@ scenario_properties = [
|
||||||
{},
|
{},
|
||||||
[0, 1, 2]
|
[0, 1, 2]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation"],
|
||||||
|
"6",
|
||||||
|
{},
|
||||||
|
[0, 1, 2]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
["internal_wall_insulation", "low_energy_lighting"],
|
||||||
|
"7",
|
||||||
|
{},
|
||||||
|
[0, 1, 2]
|
||||||
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -1164,7 +1260,6 @@ scenario_properties = [
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
recommendations_scoring_data = []
|
recommendations_scoring_data = []
|
||||||
|
|
||||||
for scenario_property in tqdm(scenario_properties):
|
for scenario_property in tqdm(scenario_properties):
|
||||||
|
|
@ -1230,20 +1325,7 @@ for scenario_property in tqdm(scenario_properties):
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
recommender = Recommendations(property_instance=p, materials=materials, default_u_values=True)
|
|
||||||
property_recommendations = recommender.recommend()
|
|
||||||
|
|
||||||
wall_recommendations = recommender.wall_recomender.recommendations
|
|
||||||
loft_recommendations = recommender.roof_recommender.recommendations
|
|
||||||
floor_recommendations = recommender.floor_recommender.recommendations
|
|
||||||
solar_recommendations = recommender.solar_recommender.recommendation
|
|
||||||
windows_recommendations = recommender.windows_recommender.recommendation
|
|
||||||
led_recommendations = recommender.lighting_recommender.recommendation
|
|
||||||
|
|
||||||
p.create_base_difference_epc_record(cleaned_lookup=cleaned)
|
|
||||||
|
|
||||||
scoring_list = []
|
scoring_list = []
|
||||||
|
|
||||||
# Create the record for each of the different measures
|
# Create the record for each of the different measures
|
||||||
for measure_impact_override in scenario_property["measures"]:
|
for measure_impact_override in scenario_property["measures"]:
|
||||||
|
|
||||||
|
|
@ -1251,6 +1333,20 @@ for scenario_property in tqdm(scenario_properties):
|
||||||
impact = measure_impact_override[1]
|
impact = measure_impact_override[1]
|
||||||
override = measure_impact_override[2]
|
override = measure_impact_override[2]
|
||||||
|
|
||||||
|
recommender = Recommendations(
|
||||||
|
property_instance=p, materials=materials, default_u_values=True, inclusions=measure
|
||||||
|
)
|
||||||
|
property_recommendations = recommender.recommend()
|
||||||
|
|
||||||
|
wall_recommendations = recommender.wall_recomender.recommendations.copy()
|
||||||
|
loft_recommendations = recommender.roof_recommender.recommendations.copy()
|
||||||
|
floor_recommendations = recommender.floor_recommender.recommendations.copy()
|
||||||
|
solar_recommendations = recommender.solar_recommender.recommendation.copy()
|
||||||
|
windows_recommendations = recommender.windows_recommender.recommendation.copy()
|
||||||
|
led_recommendations = recommender.lighting_recommender.recommendation.copy()
|
||||||
|
|
||||||
|
p.create_base_difference_epc_record(cleaned_lookup=cleaned)
|
||||||
|
|
||||||
wall_recs = []
|
wall_recs = []
|
||||||
loft_recs = []
|
loft_recs = []
|
||||||
floor_recs = []
|
floor_recs = []
|
||||||
|
|
@ -1299,7 +1395,12 @@ for scenario_property in tqdm(scenario_properties):
|
||||||
if rec["type"] == "suspended_floor_insulation":
|
if rec["type"] == "suspended_floor_insulation":
|
||||||
floor_recs.append(rec)
|
floor_recs.append(rec)
|
||||||
|
|
||||||
combi_list = [wall_recs, loft_recs, solar_recs, windows_recs, lighting_recs, floor_recs]
|
if "solid_floor_insulation" in measure:
|
||||||
|
for rec in floor_recommendations:
|
||||||
|
if rec["type"] == "solid_floor_insulation":
|
||||||
|
floor_recs.append(rec)
|
||||||
|
|
||||||
|
combi_list = [wall_recs, loft_recs, floor_recs, solar_recs, windows_recs, lighting_recs]
|
||||||
combi_list = [element for element in combi_list if len(element) != 0]
|
combi_list = [element for element in combi_list if len(element) != 0]
|
||||||
|
|
||||||
all_combi_recommendations = list(itertools.product(*combi_list))
|
all_combi_recommendations = list(itertools.product(*combi_list))
|
||||||
|
|
@ -1312,7 +1413,7 @@ for scenario_property in tqdm(scenario_properties):
|
||||||
property_id=i,
|
property_id=i,
|
||||||
primary_recommendation_id=i,
|
primary_recommendation_id=i,
|
||||||
recommendation_record=recommendation_record,
|
recommendation_record=recommendation_record,
|
||||||
recommendations=combi,
|
recommendations=list(combi),
|
||||||
)
|
)
|
||||||
|
|
||||||
if override is not None:
|
if override is not None:
|
||||||
|
|
@ -1372,11 +1473,11 @@ sap_impact = sap_impact[
|
||||||
|
|
||||||
# Get some metrics - MAPE for local testing
|
# Get some metrics - MAPE for local testing
|
||||||
mae = mean_absolute_error(sap_impact["actual_post_sap"], sap_impact["predicted_post_sap"])
|
mae = mean_absolute_error(sap_impact["actual_post_sap"], sap_impact["predicted_post_sap"])
|
||||||
# 2.2958333333333347
|
# 1.6828571428571433
|
||||||
mape = mean_absolute_percentage_error(sap_impact["actual_post_sap"], sap_impact["predicted_post_sap"])
|
mape = mean_absolute_percentage_error(sap_impact["actual_post_sap"], sap_impact["predicted_post_sap"])
|
||||||
# 0.034359867214274246
|
# 0.02510877585853886
|
||||||
mape_impact = mean_absolute_percentage_error(sap_impact["actual_impact"], sap_impact["predicted_impact"])
|
mape_impact = mean_absolute_percentage_error(sap_impact["actual_impact"], sap_impact["predicted_impact"])
|
||||||
# 0.4853675375550377
|
# 0.35805350998208146
|
||||||
|
|
||||||
save_dataframe_to_s3_parquet(
|
save_dataframe_to_s3_parquet(
|
||||||
recommendations_scoring_data,
|
recommendations_scoring_data,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue