Bhuvesh09 commited on
Commit
fe14f7b
·
verified ·
1 Parent(s): 66d49d2

Upload Hybrid ensemble + XAI artifacts

Browse files
artifacts/baseline_model_metrics_test.csv ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ Model,RMSE,MAE,MAPE_%,R2
2
+ XGBoost,97419.8202586981,82900.17320288831,12.381141067984453,0.7727399733098566
3
+ RandomForest,102866.03222167933,84145.62120420895,12.436963268871496,0.7466199705495759
4
+ LightGBM,96835.72852753119,83357.36032899778,12.489386840967049,0.77545693113205
5
+ Ridge,119658.87124135582,93412.82460751964,13.392654253043993,0.6571389040922377
artifacts/hybrid_cluster_bundle.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b63b3d6af8683533524d1693c773dad42a227ced99cd8c8dd7c0c88085b2ec2
3
+ size 271015261
artifacts/hybrid_cluster_feature_columns.json ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ "transaction_year",
3
+ "level_mid",
4
+ "lease_remaining_years",
5
+ "floor_area_sqm",
6
+ "room_count",
7
+ "dist_to_mrt_m",
8
+ "orientation_score",
9
+ "dist_to_highway_m",
10
+ "dist_to_foodcourt_m",
11
+ "dist_to_nearest_mall_m",
12
+ "mall_count_3km",
13
+ "mall_weighted_access_3km",
14
+ "dist_to_nearest_school_m",
15
+ "school_count_1km",
16
+ "primary_school_quality_1km_weighted",
17
+ "primary_school_top_quality_1km",
18
+ "primary_school_count_1km",
19
+ "trans_sold_count",
20
+ "trans_rented_count",
21
+ "trans_total_count",
22
+ "trans_rental_ratio",
23
+ "market_activity_score",
24
+ "yoy_volume_change",
25
+ "town_ANG MO KIO",
26
+ "town_BEDOK",
27
+ "town_BISHAN",
28
+ "town_BUKIT BATOK",
29
+ "town_BUKIT MERAH",
30
+ "town_BUKIT PANJANG",
31
+ "town_BUKIT TIMAH",
32
+ "town_CENTRAL AREA",
33
+ "town_CHOA CHU KANG",
34
+ "town_CLEMENTI",
35
+ "town_GEYLANG",
36
+ "town_HOUGANG",
37
+ "town_JURONG EAST",
38
+ "town_JURONG WEST",
39
+ "town_KALLANG/WHAMPOA",
40
+ "town_MARINE PARADE",
41
+ "town_PASIR RIS",
42
+ "town_PUNGGOL",
43
+ "town_QUEENSTOWN",
44
+ "town_SEMBAWANG",
45
+ "town_SENGKANG",
46
+ "town_SERANGOON",
47
+ "town_TAMPINES",
48
+ "town_TOA PAYOH",
49
+ "town_WOODLANDS",
50
+ "town_YISHUN",
51
+ "flat_type_1 ROOM",
52
+ "flat_type_2 ROOM",
53
+ "flat_type_3 ROOM",
54
+ "flat_type_4 ROOM",
55
+ "flat_type_5 ROOM",
56
+ "flat_type_EXECUTIVE",
57
+ "flat_type_MULTI-GENERATION",
58
+ "flat_model_2-room",
59
+ "flat_model_3Gen",
60
+ "flat_model_Adjoined flat",
61
+ "flat_model_Apartment",
62
+ "flat_model_DBSS",
63
+ "flat_model_Improved",
64
+ "flat_model_Improved-Maisonette",
65
+ "flat_model_Maisonette",
66
+ "flat_model_Model A",
67
+ "flat_model_Model A-Maisonette",
68
+ "flat_model_Model A2",
69
+ "flat_model_Multi Generation",
70
+ "flat_model_New Generation",
71
+ "flat_model_Premium Apartment",
72
+ "flat_model_Premium Apartment Loft",
73
+ "flat_model_Premium Maisonette",
74
+ "flat_model_Simplified",
75
+ "flat_model_Standard",
76
+ "flat_model_Terrace",
77
+ "flat_model_Type S1",
78
+ "flat_model_Type S2"
79
+ ]
artifacts/hybrid_cluster_kmeans.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:45d65fcf72c6717eba01944a479a91e7795fc591876305c70bcc4bfbcc0f9e2a
3
+ size 818922
artifacts/hybrid_cluster_meta.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_name": "Hybrid Cluster Ensemble",
3
+ "model_type": "cluster_routed_meta_stack",
4
+ "base_models": ["Ridge", "XGBoost", "LightGBM", "RandomForest"],
5
+ "meta_learner": "Ridge",
6
+ "n_clusters": 3,
7
+ "min_cluster_train": 5000,
8
+ "n_features": 77,
9
+ "test_metrics": {
10
+ "rmse": 37791,
11
+ "mae": 26534,
12
+ "mape_pct": 4.01,
13
+ "r2": 0.9658
14
+ },
15
+ "train_size": 204066,
16
+ "val_size": 27585,
17
+ "test_size": 29048,
18
+ "cluster_counts_train": {
19
+ "0": 75038,
20
+ "1": 109549,
21
+ "2": 19479
22
+ },
23
+ "cluster_counts_val": {
24
+ "0": 11523,
25
+ "1": 13546,
26
+ "2": 2516
27
+ },
28
+ "cluster_counts_test": {
29
+ "0": 12605,
30
+ "1": 13690,
31
+ "2": 2753
32
+ },
33
+ "n_test_rows_using_global_fallback": 0
34
+ }
artifacts/hybrid_cluster_models.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9d1a295d7eed5a7be021632c17d1ae2df491e1b5903fff9f93cd72002cb64c01
3
+ size 138769155
artifacts/hybrid_xai/cbr_features.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ "floor_area_sqm",
3
+ "level_mid",
4
+ "lease_remaining_years",
5
+ "dist_to_mrt_m",
6
+ "dist_to_nearest_mall_m",
7
+ "room_count",
8
+ "market_activity_score"
9
+ ]
artifacts/hybrid_xai/cbr_index.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5857cf031e0e3f96c8aa9acfc5e3934ad7a7365e90e9feff6b6b5f56eea8089e
3
+ size 13781929
artifacts/hybrid_xai/cbr_scaler.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:284210a60783e410de3ad9779ead97a22feba6c7656cf018428ba6ff6ba8074c
3
+ size 1343
artifacts/hybrid_xai/cbr_training_data.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:935c383c77a81cfd43147afca1e77a77f17c4f4e5d76e7e5d85a1b6935ca702e
3
+ size 3665247
artifacts/hybrid_xai/cluster_profiles.json ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "n_clusters": 4,
3
+ "_note": "Derived from current hybrid_cluster_bundle.joblib. Regenerate when retraining via notebook 04_xai_layer/07_composite_treeshap.ipynb (cluster-profile cell).",
4
+ "clusters": {
5
+ "0": {
6
+ "label": "Newer suburban larger flats",
7
+ "summary": "~110 sqm · ~80yr lease · close to MRT · NE corridor",
8
+ "top_towns": ["SENGKANG", "PUNGGOL", "TAMPINES", "CHOA CHU KANG", "HOUGANG"],
9
+ "share": 0.419,
10
+ "n_rows": 110266,
11
+ "stats": {
12
+ "floor_area_sqm": 110.5,
13
+ "lease_remaining_years": 79.5,
14
+ "level_mid": 9.5,
15
+ "room_count": 4.5,
16
+ "dist_to_mrt_m": 864.5,
17
+ "resale_price_mean": 592833
18
+ }
19
+ },
20
+ "1": {
21
+ "label": "Older compact mature-estate flats",
22
+ "summary": "~75 sqm · ~65yr lease · 3-room · mature estates",
23
+ "top_towns": ["BEDOK", "ANG MO KIO", "BUKIT BATOK", "TAMPINES", "GEYLANG"],
24
+ "share": 0.291,
25
+ "n_rows": 76607,
26
+ "stats": {
27
+ "floor_area_sqm": 75.4,
28
+ "lease_remaining_years": 65.3,
29
+ "level_mid": 7.3,
30
+ "room_count": 3.3,
31
+ "dist_to_mrt_m": 1636.6,
32
+ "resale_price_mean": 400200
33
+ }
34
+ },
35
+ "2": {
36
+ "label": "Central high-floor premium flats",
37
+ "summary": "~87 sqm · high floor (~12) · central towns · highest avg price",
38
+ "top_towns": ["KALLANG/WHAMPOA", "BUKIT MERAH", "TOA PAYOH", "QUEENSTOWN", "CENTRAL AREA"],
39
+ "share": 0.082,
40
+ "n_rows": 21585,
41
+ "stats": {
42
+ "floor_area_sqm": 87.4,
43
+ "lease_remaining_years": 71.4,
44
+ "level_mid": 12.7,
45
+ "room_count": 3.8,
46
+ "dist_to_mrt_m": 1375.5,
47
+ "resale_price_mean": 641724
48
+ }
49
+ },
50
+ "3": {
51
+ "label": "Outlying larger flats far from MRT",
52
+ "summary": "~103 sqm · 5km+ from MRT · NW/W towns",
53
+ "top_towns": ["WOODLANDS", "YISHUN", "JURONG WEST", "SEMBAWANG", "CHOA CHU KANG"],
54
+ "share": 0.207,
55
+ "n_rows": 54546,
56
+ "stats": {
57
+ "floor_area_sqm": 103.0,
58
+ "lease_remaining_years": 77.1,
59
+ "level_mid": 7.5,
60
+ "room_count": 4.3,
61
+ "dist_to_mrt_m": 5465.3,
62
+ "resale_price_mean": 465287
63
+ }
64
+ }
65
+ }
66
+ }
artifacts/hybrid_xai/composite_treeshap_global_importance.json ADDED
@@ -0,0 +1,367 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "CompositeTreeSHAP",
3
+ "model": "full_hybrid_ensemble",
4
+ "n_samples": 500,
5
+ "global_feature_importance": {
6
+ "transaction_year": 114565.65395882534,
7
+ "floor_area_sqm": 52950.6955668894,
8
+ "lease_remaining_years": 36568.73197184684,
9
+ "room_count": 24371.08683673357,
10
+ "dist_to_highway_m": 18825.565321647155,
11
+ "level_mid": 17986.712417237624,
12
+ "mall_weighted_access_3km": 7607.4946363432655,
13
+ "dist_to_foodcourt_m": 7216.825923578426,
14
+ "dist_to_nearest_mall_m": 5052.983667539013,
15
+ "dist_to_mrt_m": 4528.57672186154,
16
+ "flat_model_Model A": 3526.4272328581724,
17
+ "mall_count_3km": 3443.409308192778,
18
+ "town_TAMPINES": 3106.3474859019225,
19
+ "flat_type_5 ROOM": 2715.611605983542,
20
+ "school_count_1km": 2402.9928401873517,
21
+ "flat_model_Improved": 2381.1427685918375,
22
+ "dist_to_nearest_school_m": 2363.171904555099,
23
+ "primary_school_quality_1km_weighted": 2344.877905766234,
24
+ "town_BEDOK": 2229.031936189275,
25
+ "flat_type_EXECUTIVE": 2149.7397739398816,
26
+ "town_SENGKANG": 2116.5462718466206,
27
+ "flat_type_4 ROOM": 1963.8452743410478,
28
+ "flat_model_DBSS": 1872.1881817227265,
29
+ "town_BISHAN": 1730.2908150294913,
30
+ "primary_school_count_1km": 1278.8311109580802,
31
+ "town_CLEMENTI": 1203.2474518999145,
32
+ "town_BUKIT TIMAH": 1185.2901071393098,
33
+ "town_HOUGANG": 1129.6490068892645,
34
+ "flat_model_Premium Apartment": 1113.4733841740524,
35
+ "flat_type_3 ROOM": 910.3962918999434,
36
+ "town_QUEENSTOWN": 858.106692762371,
37
+ "town_BUKIT BATOK": 796.5089283579179,
38
+ "town_CHOA CHU KANG": 739.0852470267575,
39
+ "town_JURONG WEST": 702.0107554235525,
40
+ "orientation_score": 677.7582992610726,
41
+ "flat_model_Maisonette": 590.5713574445858,
42
+ "town_GEYLANG": 581.2603279909771,
43
+ "town_BUKIT PANJANG": 549.991873959814,
44
+ "town_MARINE PARADE": 527.7804158007729,
45
+ "town_WOODLANDS": 499.4584743645946,
46
+ "flat_type_2 ROOM": 476.47565106206105,
47
+ "flat_model_New Generation": 452.1392636541091,
48
+ "town_PASIR RIS": 421.0270900470708,
49
+ "town_BUKIT MERAH": 416.55422658875347,
50
+ "town_JURONG EAST": 367.52685197764964,
51
+ "town_TOA PAYOH": 348.1945370264955,
52
+ "flat_model_Standard": 293.74099995336064,
53
+ "town_ANG MO KIO": 212.02797185731345,
54
+ "town_YISHUN": 170.20755611408723,
55
+ "flat_model_Simplified": 166.20710351423165,
56
+ "town_CENTRAL AREA": 163.7116131861112,
57
+ "town_SERANGOON": 124.28836307580414,
58
+ "flat_model_Terrace": 115.45988035950818,
59
+ "town_PUNGGOL": 100.36037959098279,
60
+ "town_KALLANG/WHAMPOA": 95.99703079504461,
61
+ "flat_model_Apartment": 86.4716781767981,
62
+ "town_SEMBAWANG": 75.79587043680088,
63
+ "flat_model_Model A2": 31.50601051515874,
64
+ "flat_model_Adjoined flat": 31.25013268392036,
65
+ "flat_model_Type S1": 31.05550778784552,
66
+ "flat_model_Model A-Maisonette": 29.4699058663272,
67
+ "flat_model_Type S2": 20.72626932625699,
68
+ "flat_model_Premium Apartment Loft": 12.039959569933865,
69
+ "flat_model_Improved-Maisonette": 9.351014804565228,
70
+ "flat_model_3Gen": 5.937165760856512,
71
+ "flat_model_2-room": 4.982462620067771,
72
+ "flat_model_Premium Maisonette": 2.4165099629786395,
73
+ "flat_type_MULTI-GENERATION": 0.9669421941439564,
74
+ "flat_model_Multi Generation": 0.26077841557982584,
75
+ "flat_type_1 ROOM": 0.13910256636490848
76
+ },
77
+ "per_cluster_importance": {
78
+ "0": {
79
+ "transaction_year": 133476.54214936358,
80
+ "floor_area_sqm": 43758.60142728383,
81
+ "lease_remaining_years": 34980.92907468425,
82
+ "dist_to_highway_m": 29524.553614998822,
83
+ "room_count": 26439.00014079088,
84
+ "level_mid": 22293.682269957706,
85
+ "dist_to_foodcourt_m": 12615.87830628311,
86
+ "mall_count_3km": 6105.699200670329,
87
+ "mall_weighted_access_3km": 6077.397266117208,
88
+ "town_TAMPINES": 5927.457345308871,
89
+ "dist_to_mrt_m": 5193.151971493091,
90
+ "town_SENGKANG": 4177.53843981445,
91
+ "town_BEDOK": 4085.8696609280323,
92
+ "flat_model_DBSS": 3879.9721001856856,
93
+ "flat_type_5 ROOM": 3705.548864035195,
94
+ "dist_to_nearest_mall_m": 3538.2378927124146,
95
+ "flat_type_EXECUTIVE": 3534.1678917457884,
96
+ "flat_model_Model A": 3309.335461956726,
97
+ "primary_school_quality_1km_weighted": 2961.7418321051728,
98
+ "town_CLEMENTI": 2842.9578114815545,
99
+ "flat_model_Improved": 2770.7122970481396,
100
+ "town_BISHAN": 2657.9311729488345,
101
+ "dist_to_nearest_school_m": 2549.9543811521808,
102
+ "school_count_1km": 2401.881398668886,
103
+ "flat_type_4 ROOM": 2158.229861833726,
104
+ "town_BUKIT TIMAH": 1999.8393483976777,
105
+ "town_BUKIT BATOK": 1984.2146415108177,
106
+ "primary_school_count_1km": 1950.3820874013845,
107
+ "town_CHOA CHU KANG": 1854.2638631013965,
108
+ "flat_model_Premium Apartment": 1311.724780996905,
109
+ "flat_model_Maisonette": 1261.8449082949865,
110
+ "town_HOUGANG": 1094.0260591995523,
111
+ "town_PASIR RIS": 1011.7813470949817,
112
+ "town_BUKIT PANJANG": 973.5630475925076,
113
+ "town_QUEENSTOWN": 744.2098670907219,
114
+ "orientation_score": 736.4264577376991,
115
+ "town_JURONG WEST": 612.7947561817674,
116
+ "town_TOA PAYOH": 604.840796039828,
117
+ "town_JURONG EAST": 429.29421143974577,
118
+ "town_ANG MO KIO": 381.36266895834166,
119
+ "town_BUKIT MERAH": 364.6382098842976,
120
+ "town_MARINE PARADE": 336.6630970708714,
121
+ "town_YISHUN": 294.40090797862695,
122
+ "town_PUNGGOL": 228.64988839643823,
123
+ "town_GEYLANG": 217.80117787771385,
124
+ "flat_model_Apartment": 168.76700053046721,
125
+ "flat_type_3 ROOM": 155.56260408751538,
126
+ "flat_model_New Generation": 155.12465199157614,
127
+ "flat_model_Standard": 98.14935745368078,
128
+ "flat_model_Simplified": 60.63543652763644,
129
+ "flat_model_Model A-Maisonette": 60.04094304828928,
130
+ "flat_model_Adjoined flat": 56.68199422355661,
131
+ "town_SERANGOON": 50.03002364528882,
132
+ "flat_model_Improved-Maisonette": 23.733540113109715,
133
+ "flat_model_Premium Apartment Loft": 9.227551964331475,
134
+ "flat_model_3Gen": 8.828981543304202,
135
+ "flat_model_Model A2": 7.491447461214558,
136
+ "town_KALLANG/WHAMPOA": 6.498117919746562,
137
+ "flat_model_Premium Maisonette": 6.133274017712283,
138
+ "flat_type_MULTI-GENERATION": 2.4541680054415136,
139
+ "flat_model_Multi Generation": 0.6618741512178321,
140
+ "town_CENTRAL AREA": 0.0,
141
+ "town_SEMBAWANG": 0.0,
142
+ "town_WOODLANDS": 0.0,
143
+ "flat_type_1 ROOM": 0.0,
144
+ "flat_type_2 ROOM": 0.0,
145
+ "flat_model_2-room": 0.0,
146
+ "flat_model_Terrace": 0.0,
147
+ "flat_model_Type S1": 0.0,
148
+ "flat_model_Type S2": 0.0
149
+ },
150
+ "1": {
151
+ "transaction_year": 95979.74318733765,
152
+ "floor_area_sqm": 55593.68255804794,
153
+ "lease_remaining_years": 40141.60813125302,
154
+ "room_count": 20741.97831783114,
155
+ "dist_to_highway_m": 14301.477151311572,
156
+ "level_mid": 13588.780680182419,
157
+ "mall_weighted_access_3km": 12978.890166595871,
158
+ "flat_model_Model A": 5169.489627611527,
159
+ "dist_to_foodcourt_m": 4265.029576687586,
160
+ "dist_to_nearest_mall_m": 3801.624863518736,
161
+ "dist_to_mrt_m": 3069.980804503035,
162
+ "town_TAMPINES": 2379.411394599465,
163
+ "flat_model_Improved": 2332.1079344806963,
164
+ "flat_type_4 ROOM": 2330.89015832171,
165
+ "primary_school_quality_1km_weighted": 2256.680726575579,
166
+ "school_count_1km": 2207.735017781231,
167
+ "town_HOUGANG": 2156.1812949525993,
168
+ "town_BISHAN": 2108.228187924845,
169
+ "dist_to_nearest_school_m": 2020.774498537054,
170
+ "mall_count_3km": 2016.1844962824018,
171
+ "town_BEDOK": 1911.1089190852838,
172
+ "town_QUEENSTOWN": 1673.6961119876783,
173
+ "town_GEYLANG": 1526.035364204508,
174
+ "town_SENGKANG": 1452.4571807399009,
175
+ "town_JURONG WEST": 1332.1774851031862,
176
+ "town_BUKIT TIMAH": 1226.3993946624198,
177
+ "town_MARINE PARADE": 1219.5529492433618,
178
+ "flat_type_2 ROOM": 1169.4845262180938,
179
+ "flat_type_3 ROOM": 991.9193711610819,
180
+ "town_BUKIT MERAH": 785.9019189685237,
181
+ "flat_model_New Generation": 743.5691050217588,
182
+ "flat_model_DBSS": 673.0799046873605,
183
+ "town_JURONG EAST": 612.2991749086113,
184
+ "primary_school_count_1km": 592.2896212334225,
185
+ "town_BUKIT PANJANG": 513.6050407665606,
186
+ "flat_model_Premium Apartment": 490.30032227120313,
187
+ "flat_model_Standard": 470.2781086398528,
188
+ "town_SERANGOON": 322.7670795048155,
189
+ "flat_model_Simplified": 321.5207643538634,
190
+ "town_TOA PAYOH": 303.22546564284056,
191
+ "town_CLEMENTI": 256.5496116548793,
192
+ "town_ANG MO KIO": 190.6514823695272,
193
+ "flat_model_Terrace": 161.2533327472492,
194
+ "orientation_score": 156.13493408603443,
195
+ "town_KALLANG/WHAMPOA": 143.74095861726778,
196
+ "flat_type_5 ROOM": 138.10843347588457,
197
+ "town_YISHUN": 132.45698272255257,
198
+ "town_PASIR RIS": 69.09024472730992,
199
+ "town_BUKIT BATOK": 45.45790000819661,
200
+ "town_PUNGGOL": 31.704702354278332,
201
+ "town_CHOA CHU KANG": 25.081717213022095,
202
+ "flat_model_2-room": 15.374073204834028,
203
+ "town_SEMBAWANG": 12.974143879260795,
204
+ "town_CENTRAL AREA": 8.393524427467407,
205
+ "flat_model_Model A2": 4.374284965397558,
206
+ "flat_model_Adjoined flat": 2.249189784724181,
207
+ "flat_type_1 ROOM": 0.4293289085336682,
208
+ "flat_type_EXECUTIVE": 0.3769690496082023,
209
+ "town_WOODLANDS": 0.0,
210
+ "flat_type_MULTI-GENERATION": 0.0,
211
+ "flat_model_3Gen": 0.0,
212
+ "flat_model_Apartment": 0.0,
213
+ "flat_model_Improved-Maisonette": 0.0,
214
+ "flat_model_Maisonette": 0.0,
215
+ "flat_model_Model A-Maisonette": 0.0,
216
+ "flat_model_Multi Generation": 0.0,
217
+ "flat_model_Premium Apartment Loft": 0.0,
218
+ "flat_model_Premium Maisonette": 0.0,
219
+ "flat_model_Type S1": 0.0,
220
+ "flat_model_Type S2": 0.0
221
+ },
222
+ "2": {
223
+ "floor_area_sqm": 122488.61627924259,
224
+ "transaction_year": 104709.22133441837,
225
+ "lease_remaining_years": 81509.88327579417,
226
+ "level_mid": 29992.638969126554,
227
+ "room_count": 22889.31376425136,
228
+ "dist_to_nearest_mall_m": 14170.440008366515,
229
+ "dist_to_mrt_m": 8182.898231390653,
230
+ "dist_to_foodcourt_m": 7944.222162584043,
231
+ "dist_to_highway_m": 6577.171556590938,
232
+ "mall_weighted_access_3km": 6017.662346867734,
233
+ "flat_model_Improved": 5833.5549740574415,
234
+ "flat_model_Model A": 5815.4781540552995,
235
+ "flat_type_3 ROOM": 5779.139495351039,
236
+ "mall_count_3km": 4177.5974246918695,
237
+ "flat_type_4 ROOM": 3726.9845278950743,
238
+ "primary_school_quality_1km_weighted": 2378.6233684120148,
239
+ "town_CENTRAL AREA": 2175.5690712379974,
240
+ "dist_to_nearest_school_m": 1667.5419849442437,
241
+ "school_count_1km": 1370.2134540339907,
242
+ "flat_model_Standard": 1188.97186437494,
243
+ "flat_type_2 ROOM": 1160.6743719580313,
244
+ "primary_school_count_1km": 1058.1927204279846,
245
+ "flat_model_Terrace": 854.2405479648561,
246
+ "town_KALLANG/WHAMPOA": 633.3067803063484,
247
+ "flat_model_New Generation": 630.2612416704816,
248
+ "flat_model_Premium Apartment": 604.777997075904,
249
+ "flat_type_5 ROOM": 525.9838850111661,
250
+ "flat_model_Type S1": 419.66902416007457,
251
+ "town_QUEENSTOWN": 305.5468222245716,
252
+ "flat_model_Type S2": 280.08472062509446,
253
+ "town_BUKIT MERAH": 246.6831101153781,
254
+ "town_TOA PAYOH": 157.32719619625928,
255
+ "flat_model_Premium Apartment Loft": 113.57167697280076,
256
+ "flat_model_Adjoined flat": 91.6014602034399,
257
+ "orientation_score": 82.63593010506739,
258
+ "flat_model_DBSS": 59.49548815187261,
259
+ "flat_model_Model A-Maisonette": 59.38351219514561,
260
+ "flat_type_EXECUTIVE": 44.24856998417739,
261
+ "flat_model_Maisonette": 41.23837619719348,
262
+ "flat_model_Simplified": 32.90512620010761,
263
+ "town_GEYLANG": 13.664944660770491,
264
+ "flat_model_Apartment": 12.335464109975032,
265
+ "town_ANG MO KIO": 0.0,
266
+ "town_BEDOK": 0.0,
267
+ "town_BISHAN": 0.0,
268
+ "town_BUKIT BATOK": 0.0,
269
+ "town_BUKIT PANJANG": 0.0,
270
+ "town_BUKIT TIMAH": 0.0,
271
+ "town_CHOA CHU KANG": 0.0,
272
+ "town_CLEMENTI": 0.0,
273
+ "town_HOUGANG": 0.0,
274
+ "town_JURONG EAST": 0.0,
275
+ "town_JURONG WEST": 0.0,
276
+ "town_MARINE PARADE": 0.0,
277
+ "town_PASIR RIS": 0.0,
278
+ "town_PUNGGOL": 0.0,
279
+ "town_SEMBAWANG": 0.0,
280
+ "town_SENGKANG": 0.0,
281
+ "town_SERANGOON": 0.0,
282
+ "town_TAMPINES": 0.0,
283
+ "town_WOODLANDS": 0.0,
284
+ "town_YISHUN": 0.0,
285
+ "flat_type_1 ROOM": 0.0,
286
+ "flat_type_MULTI-GENERATION": 0.0,
287
+ "flat_model_2-room": 0.0,
288
+ "flat_model_3Gen": 0.0,
289
+ "flat_model_Improved-Maisonette": 0.0,
290
+ "flat_model_Model A2": 0.0,
291
+ "flat_model_Multi Generation": 0.0,
292
+ "flat_model_Premium Maisonette": 0.0
293
+ },
294
+ "3": {
295
+ "transaction_year": 111201.81336794164,
296
+ "floor_area_sqm": 41506.23005321198,
297
+ "room_count": 26634.185517933187,
298
+ "lease_remaining_years": 18022.2765359927,
299
+ "level_mid": 12407.602782595208,
300
+ "dist_to_highway_m": 9963.951466946863,
301
+ "dist_to_nearest_mall_m": 6627.783276015044,
302
+ "flat_type_5 ROOM": 5634.401027003189,
303
+ "dist_to_mrt_m": 4241.666323612353,
304
+ "flat_type_EXECUTIVE": 3624.428329043939,
305
+ "school_count_1km": 3076.6809026546866,
306
+ "dist_to_nearest_school_m": 2790.196317159889,
307
+ "mall_weighted_access_3km": 2704.484066576003,
308
+ "town_WOODLANDS": 2401.242665214397,
309
+ "flat_model_Premium Apartment": 1889.6295397201166,
310
+ "orientation_score": 1590.882199234465,
311
+ "dist_to_foodcourt_m": 1328.980038581146,
312
+ "primary_school_quality_1km_weighted": 1301.7737463645192,
313
+ "primary_school_count_1km": 1154.6753362049753,
314
+ "flat_model_DBSS": 581.7241298443398,
315
+ "flat_model_Model A": 563.8896062547781,
316
+ "flat_model_New Generation": 497.425138744052,
317
+ "flat_model_Improved": 491.32733030228763,
318
+ "flat_type_3 ROOM": 481.0885912369969,
319
+ "flat_model_Maisonette": 434.38857566235004,
320
+ "flat_type_4 ROOM": 396.62231931773863,
321
+ "mall_count_3km": 362.39344666332624,
322
+ "town_SEMBAWANG": 344.1934991342325,
323
+ "flat_model_Simplified": 171.6780506388623,
324
+ "town_JURONG WEST": 139.1544053581921,
325
+ "flat_model_Model A2": 130.46688407043945,
326
+ "flat_model_Apartment": 91.65699819065327,
327
+ "flat_model_Standard": 70.75061516130987,
328
+ "flat_type_2 ROOM": 56.11904347357761,
329
+ "town_YISHUN": 54.31507677115922,
330
+ "flat_model_3Gen": 11.819937657666612,
331
+ "flat_model_Model A-Maisonette": 6.824011552213757,
332
+ "flat_model_Adjoined flat": 6.7797183391050515,
333
+ "town_CHOA CHU KANG": 1.8211951335989107,
334
+ "flat_model_2-room": 0.006071642795890029,
335
+ "town_ANG MO KIO": 0.0,
336
+ "town_BEDOK": 0.0,
337
+ "town_BISHAN": 0.0,
338
+ "town_BUKIT BATOK": 0.0,
339
+ "town_BUKIT MERAH": 0.0,
340
+ "town_BUKIT PANJANG": 0.0,
341
+ "town_BUKIT TIMAH": 0.0,
342
+ "town_CENTRAL AREA": 0.0,
343
+ "town_CLEMENTI": 0.0,
344
+ "town_GEYLANG": 0.0,
345
+ "town_HOUGANG": 0.0,
346
+ "town_JURONG EAST": 0.0,
347
+ "town_KALLANG/WHAMPOA": 0.0,
348
+ "town_MARINE PARADE": 0.0,
349
+ "town_PASIR RIS": 0.0,
350
+ "town_PUNGGOL": 0.0,
351
+ "town_QUEENSTOWN": 0.0,
352
+ "town_SENGKANG": 0.0,
353
+ "town_SERANGOON": 0.0,
354
+ "town_TAMPINES": 0.0,
355
+ "town_TOA PAYOH": 0.0,
356
+ "flat_type_1 ROOM": 0.0,
357
+ "flat_type_MULTI-GENERATION": 0.0,
358
+ "flat_model_Improved-Maisonette": 0.0,
359
+ "flat_model_Multi Generation": 0.0,
360
+ "flat_model_Premium Apartment Loft": 0.0,
361
+ "flat_model_Premium Maisonette": 0.0,
362
+ "flat_model_Terrace": 0.0,
363
+ "flat_model_Type S1": 0.0,
364
+ "flat_model_Type S2": 0.0
365
+ }
366
+ }
367
+ }
artifacts/hybrid_xai/global_shap_cache.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "transaction_year": 114626.39107421874,
3
+ "floor_area_sqm": 60854.491364097594,
4
+ "lease_remaining_years": 39477.06160440445,
5
+ "room_count": 30223.13173110962,
6
+ "dist_to_highway_m": 20610.631701645852,
7
+ "level_mid": 17976.375652942657,
8
+ "mall_weighted_access_3km": 10102.640716127753,
9
+ "dist_to_foodcourt_m": 6585.683174498975,
10
+ "dist_to_mrt_m": 6107.952041177154,
11
+ "dist_to_nearest_mall_m": 4954.312548091411,
12
+ "mall_count_3km": 4817.696900648847,
13
+ "flat_type_5 ROOM": 4089.088046491146,
14
+ "town_TAMPINES": 3841.7168785858153,
15
+ "flat_model_Model A": 3581.7044554662702,
16
+ "school_count_1km": 2351.209508499503,
17
+ "flat_model_DBSS": 2316.060581519008,
18
+ "flat_model_Improved": 2066.9743199789523,
19
+ "dist_to_nearest_school_m": 1847.5196939516068,
20
+ "town_BEDOK": 1814.041011428833,
21
+ "town_BISHAN": 1664.3609250259399,
22
+ "flat_type_4 ROOM": 1641.7856108401156,
23
+ "flat_type_3 ROOM": 1523.7317342815177,
24
+ "town_SENGKANG": 1486.1115910844878,
25
+ "flat_type_EXECUTIVE": 1311.3880127239227,
26
+ "town_CLEMENTI": 1224.44772733517,
27
+ "flat_model_New Generation": 1084.157389754057,
28
+ "primary_school_count_1km": 959.408180488944,
29
+ "town_JURONG WEST": 900.2255884556472,
30
+ "primary_school_quality_1km_weighted": 799.855357773304,
31
+ "flat_model_Premium Apartment": 786.7874137474969,
32
+ "town_HOUGANG": 719.2769161337615,
33
+ "town_QUEENSTOWN": 717.426115692854,
34
+ "town_WOODLANDS": 531.8970392274856,
35
+ "flat_model_Maisonette": 467.85710472814736,
36
+ "town_CHOA CHU KANG": 461.44263718366625,
37
+ "flat_type_2 ROOM": 457.60196229908615,
38
+ "orientation_score": 443.3371827945113,
39
+ "town_BUKIT BATOK": 433.6309716858715,
40
+ "town_GEYLANG": 420.2297292036377,
41
+ "town_PASIR RIS": 393.2119512515375
42
+ }
artifacts/hybrid_xai/hybrid_xai_meta.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "bundle_path": "artifacts/hybrid_cluster_bundle.joblib",
3
+ "out_dir": "artifacts/hybrid_xai",
4
+ "feature_count": 77,
5
+ "fallback_cluster_ids": []
6
+ }
artifacts/hybrid_xai/lime_training_data.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d2fbd5d2ca12233aa822fe22773a5b45314f6e964e39f506f8897a13161711b3
3
+ size 6161916
artifacts/hybrid_xai/rules.json ADDED
@@ -0,0 +1,1355 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "apriori": [
3
+ {
4
+ "source": "apriori",
5
+ "if_conditions": [
6
+ "area=small(<70sqm)",
7
+ "lease=medium(55-80yr)",
8
+ "mature_estate=no"
9
+ ],
10
+ "then": [
11
+ "price=budget(<500k)"
12
+ ],
13
+ "support": 0.0289,
14
+ "confidence": 0.9997,
15
+ "lift": 3.0908
16
+ },
17
+ {
18
+ "source": "apriori",
19
+ "if_conditions": [
20
+ "area=small(<70sqm)",
21
+ "lease=medium(55-80yr)",
22
+ "mature_estate=no",
23
+ "rooms=2-3"
24
+ ],
25
+ "then": [
26
+ "price=budget(<500k)"
27
+ ],
28
+ "support": 0.0289,
29
+ "confidence": 0.9997,
30
+ "lift": 3.0908
31
+ },
32
+ {
33
+ "source": "apriori",
34
+ "if_conditions": [
35
+ "area=small(<70sqm)",
36
+ "lease=medium(55-80yr)",
37
+ "mature_estate=no",
38
+ "mrt=far(>0.8km)"
39
+ ],
40
+ "then": [
41
+ "price=budget(<500k)"
42
+ ],
43
+ "support": 0.0228,
44
+ "confidence": 0.9996,
45
+ "lift": 3.0906
46
+ },
47
+ {
48
+ "source": "apriori",
49
+ "if_conditions": [
50
+ "area=small(<70sqm)",
51
+ "lease=medium(55-80yr)",
52
+ "mature_estate=no",
53
+ "mrt=far(>0.8km)",
54
+ "rooms=2-3"
55
+ ],
56
+ "then": [
57
+ "price=budget(<500k)"
58
+ ],
59
+ "support": 0.0228,
60
+ "confidence": 0.9996,
61
+ "lift": 3.0906
62
+ },
63
+ {
64
+ "source": "apriori",
65
+ "if_conditions": [
66
+ "lease=medium(55-80yr)",
67
+ "mature_estate=no",
68
+ "rooms=2-3",
69
+ "storey=mid(6-12)"
70
+ ],
71
+ "then": [
72
+ "price=budget(<500k)"
73
+ ],
74
+ "support": 0.0213,
75
+ "confidence": 0.9983,
76
+ "lift": 3.0865
77
+ },
78
+ {
79
+ "source": "apriori",
80
+ "if_conditions": [
81
+ "lease=medium(55-80yr)",
82
+ "mature_estate=no",
83
+ "rooms=2-3"
84
+ ],
85
+ "then": [
86
+ "price=budget(<500k)"
87
+ ],
88
+ "support": 0.0499,
89
+ "confidence": 0.9982,
90
+ "lift": 3.0861
91
+ },
92
+ {
93
+ "source": "apriori",
94
+ "if_conditions": [
95
+ "lease=medium(55-80yr)",
96
+ "mature_estate=no",
97
+ "rooms=2-3",
98
+ "storey=low(1-5)"
99
+ ],
100
+ "then": [
101
+ "price=budget(<500k)"
102
+ ],
103
+ "support": 0.0278,
104
+ "confidence": 0.998,
105
+ "lift": 3.0857
106
+ },
107
+ {
108
+ "source": "apriori",
109
+ "if_conditions": [
110
+ "lease=medium(55-80yr)",
111
+ "mature_estate=no",
112
+ "mrt=far(>0.8km)",
113
+ "rooms=2-3"
114
+ ],
115
+ "then": [
116
+ "price=budget(<500k)"
117
+ ],
118
+ "support": 0.0385,
119
+ "confidence": 0.9976,
120
+ "lift": 3.0845
121
+ },
122
+ {
123
+ "source": "apriori",
124
+ "if_conditions": [
125
+ "lease=medium(55-80yr)",
126
+ "mature_estate=no",
127
+ "mrt=far(>0.8km)",
128
+ "rooms=2-3",
129
+ "storey=low(1-5)"
130
+ ],
131
+ "then": [
132
+ "price=budget(<500k)"
133
+ ],
134
+ "support": 0.0215,
135
+ "confidence": 0.9975,
136
+ "lift": 3.0839
137
+ },
138
+ {
139
+ "source": "apriori",
140
+ "if_conditions": [
141
+ "area=medium(70-100sqm)",
142
+ "lease=medium(55-80yr)",
143
+ "mature_estate=no",
144
+ "rooms=2-3"
145
+ ],
146
+ "then": [
147
+ "price=budget(<500k)"
148
+ ],
149
+ "support": 0.021,
150
+ "confidence": 0.9961,
151
+ "lift": 3.0798
152
+ },
153
+ {
154
+ "source": "apriori",
155
+ "if_conditions": [
156
+ "area=small(<70sqm)",
157
+ "lease=short(<55yr)",
158
+ "mrt=far(>0.8km)",
159
+ "storey=low(1-5)"
160
+ ],
161
+ "then": [
162
+ "price=budget(<500k)"
163
+ ],
164
+ "support": 0.0266,
165
+ "confidence": 0.9949,
166
+ "lift": 3.076
167
+ },
168
+ {
169
+ "source": "apriori",
170
+ "if_conditions": [
171
+ "area=small(<70sqm)",
172
+ "lease=short(<55yr)",
173
+ "mrt=far(>0.8km)",
174
+ "rooms=2-3",
175
+ "storey=low(1-5)"
176
+ ],
177
+ "then": [
178
+ "price=budget(<500k)"
179
+ ],
180
+ "support": 0.0266,
181
+ "confidence": 0.9949,
182
+ "lift": 3.076
183
+ },
184
+ {
185
+ "source": "apriori",
186
+ "if_conditions": [
187
+ "area=small(<70sqm)",
188
+ "lease=short(<55yr)",
189
+ "mature_estate=yes",
190
+ "mrt=far(>0.8km)",
191
+ "storey=low(1-5)"
192
+ ],
193
+ "then": [
194
+ "price=budget(<500k)"
195
+ ],
196
+ "support": 0.0237,
197
+ "confidence": 0.9943,
198
+ "lift": 3.074
199
+ },
200
+ {
201
+ "source": "apriori",
202
+ "if_conditions": [
203
+ "area=small(<70sqm)",
204
+ "lease=short(<55yr)",
205
+ "mature_estate=yes",
206
+ "mrt=far(>0.8km)",
207
+ "rooms=2-3",
208
+ "storey=low(1-5)"
209
+ ],
210
+ "then": [
211
+ "price=budget(<500k)"
212
+ ],
213
+ "support": 0.0237,
214
+ "confidence": 0.9943,
215
+ "lift": 3.074
216
+ },
217
+ {
218
+ "source": "apriori",
219
+ "if_conditions": [
220
+ "area=small(<70sqm)",
221
+ "lease=short(<55yr)",
222
+ "storey=low(1-5)"
223
+ ],
224
+ "then": [
225
+ "price=budget(<500k)"
226
+ ],
227
+ "support": 0.0306,
228
+ "confidence": 0.9941,
229
+ "lift": 3.0735
230
+ },
231
+ {
232
+ "source": "apriori",
233
+ "if_conditions": [
234
+ "area=small(<70sqm)",
235
+ "lease=short(<55yr)",
236
+ "rooms=2-3",
237
+ "storey=low(1-5)"
238
+ ],
239
+ "then": [
240
+ "price=budget(<500k)"
241
+ ],
242
+ "support": 0.0306,
243
+ "confidence": 0.9941,
244
+ "lift": 3.0735
245
+ },
246
+ {
247
+ "source": "apriori",
248
+ "if_conditions": [
249
+ "lease=long(>=80yr)",
250
+ "mature_estate=yes",
251
+ "mrt=far(>0.8km)",
252
+ "rooms=4",
253
+ "storey=high(>12)"
254
+ ],
255
+ "then": [
256
+ "price=premium(>=650k)"
257
+ ],
258
+ "support": 0.0241,
259
+ "confidence": 0.994,
260
+ "lift": 2.9756
261
+ },
262
+ {
263
+ "source": "apriori",
264
+ "if_conditions": [
265
+ "area=medium(70-100sqm)",
266
+ "lease=long(>=80yr)",
267
+ "mature_estate=yes",
268
+ "mrt=far(>0.8km)",
269
+ "rooms=4",
270
+ "storey=high(>12)"
271
+ ],
272
+ "then": [
273
+ "price=premium(>=650k)"
274
+ ],
275
+ "support": 0.0233,
276
+ "confidence": 0.9938,
277
+ "lift": 2.9749
278
+ },
279
+ {
280
+ "source": "apriori",
281
+ "if_conditions": [
282
+ "lease=long(>=80yr)",
283
+ "mature_estate=yes",
284
+ "rooms=4",
285
+ "storey=high(>12)"
286
+ ],
287
+ "then": [
288
+ "price=premium(>=650k)"
289
+ ],
290
+ "support": 0.0291,
291
+ "confidence": 0.9938,
292
+ "lift": 2.9749
293
+ },
294
+ {
295
+ "source": "apriori",
296
+ "if_conditions": [
297
+ "area=medium(70-100sqm)",
298
+ "lease=long(>=80yr)",
299
+ "mature_estate=yes",
300
+ "rooms=4",
301
+ "storey=high(>12)"
302
+ ],
303
+ "then": [
304
+ "price=premium(>=650k)"
305
+ ],
306
+ "support": 0.0283,
307
+ "confidence": 0.9936,
308
+ "lift": 2.9744
309
+ },
310
+ {
311
+ "source": "apriori",
312
+ "if_conditions": [
313
+ "area=small(<70sqm)",
314
+ "lease=short(<55yr)",
315
+ "mature_estate=yes",
316
+ "storey=low(1-5)"
317
+ ],
318
+ "then": [
319
+ "price=budget(<500k)"
320
+ ],
321
+ "support": 0.0274,
322
+ "confidence": 0.9934,
323
+ "lift": 3.0713
324
+ },
325
+ {
326
+ "source": "apriori",
327
+ "if_conditions": [
328
+ "area=small(<70sqm)",
329
+ "lease=short(<55yr)",
330
+ "mature_estate=yes",
331
+ "rooms=2-3",
332
+ "storey=low(1-5)"
333
+ ],
334
+ "then": [
335
+ "price=budget(<500k)"
336
+ ],
337
+ "support": 0.0274,
338
+ "confidence": 0.9934,
339
+ "lift": 3.0713
340
+ },
341
+ {
342
+ "source": "apriori",
343
+ "if_conditions": [
344
+ "area=small(<70sqm)",
345
+ "lease=short(<55yr)",
346
+ "mrt=far(>0.8km)",
347
+ "storey=mid(6-12)"
348
+ ],
349
+ "then": [
350
+ "price=budget(<500k)"
351
+ ],
352
+ "support": 0.0241,
353
+ "confidence": 0.9914,
354
+ "lift": 3.0651
355
+ },
356
+ {
357
+ "source": "apriori",
358
+ "if_conditions": [
359
+ "area=small(<70sqm)",
360
+ "lease=short(<55yr)",
361
+ "mrt=far(>0.8km)",
362
+ "rooms=2-3",
363
+ "storey=mid(6-12)"
364
+ ],
365
+ "then": [
366
+ "price=budget(<500k)"
367
+ ],
368
+ "support": 0.0241,
369
+ "confidence": 0.9914,
370
+ "lift": 3.0651
371
+ },
372
+ {
373
+ "source": "apriori",
374
+ "if_conditions": [
375
+ "area=small(<70sqm)",
376
+ "lease=short(<55yr)",
377
+ "mature_estate=yes",
378
+ "mrt=far(>0.8km)",
379
+ "storey=mid(6-12)"
380
+ ],
381
+ "then": [
382
+ "price=budget(<500k)"
383
+ ],
384
+ "support": 0.0219,
385
+ "confidence": 0.9905,
386
+ "lift": 3.0624
387
+ },
388
+ {
389
+ "source": "apriori",
390
+ "if_conditions": [
391
+ "area=small(<70sqm)",
392
+ "lease=short(<55yr)",
393
+ "mature_estate=yes",
394
+ "mrt=far(>0.8km)",
395
+ "rooms=2-3",
396
+ "storey=mid(6-12)"
397
+ ],
398
+ "then": [
399
+ "price=budget(<500k)"
400
+ ],
401
+ "support": 0.0219,
402
+ "confidence": 0.9905,
403
+ "lift": 3.0624
404
+ },
405
+ {
406
+ "source": "apriori",
407
+ "if_conditions": [
408
+ "area=small(<70sqm)",
409
+ "lease=short(<55yr)",
410
+ "storey=mid(6-12)"
411
+ ],
412
+ "then": [
413
+ "price=budget(<500k)"
414
+ ],
415
+ "support": 0.0277,
416
+ "confidence": 0.9886,
417
+ "lift": 3.0565
418
+ },
419
+ {
420
+ "source": "apriori",
421
+ "if_conditions": [
422
+ "area=small(<70sqm)",
423
+ "lease=short(<55yr)",
424
+ "rooms=2-3",
425
+ "storey=mid(6-12)"
426
+ ],
427
+ "then": [
428
+ "price=budget(<500k)"
429
+ ],
430
+ "support": 0.0277,
431
+ "confidence": 0.9886,
432
+ "lift": 3.0565
433
+ },
434
+ {
435
+ "source": "apriori",
436
+ "if_conditions": [
437
+ "area=small(<70sqm)",
438
+ "lease=short(<55yr)",
439
+ "mature_estate=yes",
440
+ "storey=mid(6-12)"
441
+ ],
442
+ "then": [
443
+ "price=budget(<500k)"
444
+ ],
445
+ "support": 0.0252,
446
+ "confidence": 0.9875,
447
+ "lift": 3.053
448
+ },
449
+ {
450
+ "source": "apriori",
451
+ "if_conditions": [
452
+ "area=small(<70sqm)",
453
+ "lease=short(<55yr)",
454
+ "mature_estate=yes",
455
+ "rooms=2-3",
456
+ "storey=mid(6-12)"
457
+ ],
458
+ "then": [
459
+ "price=budget(<500k)"
460
+ ],
461
+ "support": 0.0252,
462
+ "confidence": 0.9875,
463
+ "lift": 3.053
464
+ },
465
+ {
466
+ "source": "apriori",
467
+ "if_conditions": [
468
+ "area=small(<70sqm)",
469
+ "lease=short(<55yr)",
470
+ "mrt=far(>0.8km)"
471
+ ],
472
+ "then": [
473
+ "price=budget(<500k)"
474
+ ],
475
+ "support": 0.0556,
476
+ "confidence": 0.9866,
477
+ "lift": 3.0502
478
+ },
479
+ {
480
+ "source": "apriori",
481
+ "if_conditions": [
482
+ "area=small(<70sqm)",
483
+ "lease=short(<55yr)",
484
+ "mrt=far(>0.8km)",
485
+ "rooms=2-3"
486
+ ],
487
+ "then": [
488
+ "price=budget(<500k)"
489
+ ],
490
+ "support": 0.0556,
491
+ "confidence": 0.9866,
492
+ "lift": 3.0502
493
+ },
494
+ {
495
+ "source": "apriori",
496
+ "if_conditions": [
497
+ "area=small(<70sqm)",
498
+ "lease=short(<55yr)",
499
+ "mature_estate=yes",
500
+ "mrt=far(>0.8km)"
501
+ ],
502
+ "then": [
503
+ "price=budget(<500k)"
504
+ ],
505
+ "support": 0.0492,
506
+ "confidence": 0.9848,
507
+ "lift": 3.0449
508
+ },
509
+ {
510
+ "source": "apriori",
511
+ "if_conditions": [
512
+ "area=small(<70sqm)",
513
+ "lease=short(<55yr)",
514
+ "mature_estate=yes",
515
+ "mrt=far(>0.8km)",
516
+ "rooms=2-3"
517
+ ],
518
+ "then": [
519
+ "price=budget(<500k)"
520
+ ],
521
+ "support": 0.0492,
522
+ "confidence": 0.9848,
523
+ "lift": 3.0449
524
+ },
525
+ {
526
+ "source": "apriori",
527
+ "if_conditions": [
528
+ "area=medium(70-100sqm)",
529
+ "lease=long(>=80yr)",
530
+ "mature_estate=yes",
531
+ "storey=high(>12)"
532
+ ],
533
+ "then": [
534
+ "price=premium(>=650k)"
535
+ ],
536
+ "support": 0.0287,
537
+ "confidence": 0.9837,
538
+ "lift": 2.9449
539
+ },
540
+ {
541
+ "source": "apriori",
542
+ "if_conditions": [
543
+ "area=medium(70-100sqm)",
544
+ "lease=long(>=80yr)",
545
+ "mature_estate=yes",
546
+ "mrt=far(>0.8km)",
547
+ "storey=high(>12)"
548
+ ],
549
+ "then": [
550
+ "price=premium(>=650k)"
551
+ ],
552
+ "support": 0.0236,
553
+ "confidence": 0.9822,
554
+ "lift": 2.9402
555
+ },
556
+ {
557
+ "source": "apriori",
558
+ "if_conditions": [
559
+ "area=medium(70-100sqm)",
560
+ "mature_estate=no",
561
+ "rooms=2-3"
562
+ ],
563
+ "then": [
564
+ "price=budget(<500k)"
565
+ ],
566
+ "support": 0.0241,
567
+ "confidence": 0.9822,
568
+ "lift": 3.0366
569
+ },
570
+ {
571
+ "source": "apriori",
572
+ "if_conditions": [
573
+ "area=small(<70sqm)",
574
+ "lease=short(<55yr)"
575
+ ],
576
+ "then": [
577
+ "price=budget(<500k)"
578
+ ],
579
+ "support": 0.0644,
580
+ "confidence": 0.9819,
581
+ "lift": 3.0359
582
+ },
583
+ {
584
+ "source": "apriori",
585
+ "if_conditions": [
586
+ "area=small(<70sqm)",
587
+ "lease=short(<55yr)",
588
+ "rooms=2-3"
589
+ ],
590
+ "then": [
591
+ "price=budget(<500k)"
592
+ ],
593
+ "support": 0.0644,
594
+ "confidence": 0.9819,
595
+ "lift": 3.0359
596
+ },
597
+ {
598
+ "source": "apriori",
599
+ "if_conditions": [
600
+ "area=small(<70sqm)",
601
+ "lease=short(<55yr)",
602
+ "mature_estate=yes"
603
+ ],
604
+ "then": [
605
+ "price=budget(<500k)"
606
+ ],
607
+ "support": 0.0573,
608
+ "confidence": 0.9797,
609
+ "lift": 3.0291
610
+ },
611
+ {
612
+ "source": "apriori",
613
+ "if_conditions": [
614
+ "area=small(<70sqm)",
615
+ "lease=short(<55yr)",
616
+ "mature_estate=yes",
617
+ "rooms=2-3"
618
+ ],
619
+ "then": [
620
+ "price=budget(<500k)"
621
+ ],
622
+ "support": 0.0573,
623
+ "confidence": 0.9797,
624
+ "lift": 3.0291
625
+ },
626
+ {
627
+ "source": "apriori",
628
+ "if_conditions": [
629
+ "area=small(<70sqm)",
630
+ "lease=medium(55-80yr)",
631
+ "mrt=far(>0.8km)",
632
+ "storey=low(1-5)"
633
+ ],
634
+ "then": [
635
+ "price=budget(<500k)"
636
+ ],
637
+ "support": 0.0276,
638
+ "confidence": 0.9768,
639
+ "lift": 3.0199
640
+ },
641
+ {
642
+ "source": "apriori",
643
+ "if_conditions": [
644
+ "area=small(<70sqm)",
645
+ "lease=medium(55-80yr)",
646
+ "mrt=far(>0.8km)",
647
+ "rooms=2-3",
648
+ "storey=low(1-5)"
649
+ ],
650
+ "then": [
651
+ "price=budget(<500k)"
652
+ ],
653
+ "support": 0.0276,
654
+ "confidence": 0.9768,
655
+ "lift": 3.0199
656
+ },
657
+ {
658
+ "source": "apriori",
659
+ "if_conditions": [
660
+ "area=small(<70sqm)",
661
+ "lease=medium(55-80yr)",
662
+ "storey=low(1-5)"
663
+ ],
664
+ "then": [
665
+ "price=budget(<500k)"
666
+ ],
667
+ "support": 0.0345,
668
+ "confidence": 0.9724,
669
+ "lift": 3.0066
670
+ },
671
+ {
672
+ "source": "apriori",
673
+ "if_conditions": [
674
+ "area=small(<70sqm)",
675
+ "lease=medium(55-80yr)",
676
+ "rooms=2-3",
677
+ "storey=low(1-5)"
678
+ ],
679
+ "then": [
680
+ "price=budget(<500k)"
681
+ ],
682
+ "support": 0.0345,
683
+ "confidence": 0.9724,
684
+ "lift": 3.0066
685
+ },
686
+ {
687
+ "source": "apriori",
688
+ "if_conditions": [
689
+ "area=small(<70sqm)",
690
+ "lease=medium(55-80yr)",
691
+ "mrt=far(>0.8km)"
692
+ ],
693
+ "then": [
694
+ "price=budget(<500k)"
695
+ ],
696
+ "support": 0.0513,
697
+ "confidence": 0.9695,
698
+ "lift": 2.9974
699
+ },
700
+ {
701
+ "source": "apriori",
702
+ "if_conditions": [
703
+ "area=small(<70sqm)",
704
+ "lease=medium(55-80yr)",
705
+ "mrt=far(>0.8km)",
706
+ "rooms=2-3"
707
+ ],
708
+ "then": [
709
+ "price=budget(<500k)"
710
+ ],
711
+ "support": 0.0513,
712
+ "confidence": 0.9695,
713
+ "lift": 2.9974
714
+ },
715
+ {
716
+ "source": "apriori",
717
+ "if_conditions": [
718
+ "lease=long(>=80yr)",
719
+ "mature_estate=yes",
720
+ "mrt=far(>0.8km)",
721
+ "rooms=4"
722
+ ],
723
+ "then": [
724
+ "price=premium(>=650k)"
725
+ ],
726
+ "support": 0.0456,
727
+ "confidence": 0.9685,
728
+ "lift": 2.8994
729
+ },
730
+ {
731
+ "source": "apriori",
732
+ "if_conditions": [
733
+ "area=small(<70sqm)",
734
+ "lease=medium(55-80yr)",
735
+ "mrt=far(>0.8km)",
736
+ "storey=mid(6-12)"
737
+ ],
738
+ "then": [
739
+ "price=budget(<500k)"
740
+ ],
741
+ "support": 0.0221,
742
+ "confidence": 0.9676,
743
+ "lift": 2.9915
744
+ },
745
+ {
746
+ "source": "apriori",
747
+ "if_conditions": [
748
+ "area=small(<70sqm)",
749
+ "lease=medium(55-80yr)",
750
+ "mrt=far(>0.8km)",
751
+ "rooms=2-3",
752
+ "storey=mid(6-12)"
753
+ ],
754
+ "then": [
755
+ "price=budget(<500k)"
756
+ ],
757
+ "support": 0.0221,
758
+ "confidence": 0.9676,
759
+ "lift": 2.9915
760
+ },
761
+ {
762
+ "source": "apriori",
763
+ "if_conditions": [
764
+ "area=medium(70-100sqm)",
765
+ "lease=long(>=80yr)",
766
+ "mature_estate=yes",
767
+ "mrt=far(>0.8km)",
768
+ "rooms=4"
769
+ ],
770
+ "then": [
771
+ "price=premium(>=650k)"
772
+ ],
773
+ "support": 0.0441,
774
+ "confidence": 0.9676,
775
+ "lift": 2.8965
776
+ },
777
+ {
778
+ "source": "apriori",
779
+ "if_conditions": [
780
+ "lease=medium(55-80yr)",
781
+ "mrt=far(>0.8km)",
782
+ "rooms=2-3",
783
+ "storey=low(1-5)"
784
+ ],
785
+ "then": [
786
+ "price=budget(<500k)"
787
+ ],
788
+ "support": 0.0418,
789
+ "confidence": 0.965,
790
+ "lift": 2.9836
791
+ },
792
+ {
793
+ "source": "apriori",
794
+ "if_conditions": [
795
+ "lease=long(>=80yr)",
796
+ "mature_estate=yes",
797
+ "rooms=4"
798
+ ],
799
+ "then": [
800
+ "price=premium(>=650k)"
801
+ ],
802
+ "support": 0.0539,
803
+ "confidence": 0.9649,
804
+ "lift": 2.8884
805
+ },
806
+ {
807
+ "source": "apriori",
808
+ "if_conditions": [
809
+ "area=medium(70-100sqm)",
810
+ "lease=long(>=80yr)",
811
+ "mature_estate=yes",
812
+ "rooms=4"
813
+ ],
814
+ "then": [
815
+ "price=premium(>=650k)"
816
+ ],
817
+ "support": 0.0525,
818
+ "confidence": 0.964,
819
+ "lift": 2.8857
820
+ },
821
+ {
822
+ "source": "apriori",
823
+ "if_conditions": [
824
+ "mature_estate=no",
825
+ "mrt=far(>0.8km)",
826
+ "rooms=2-3",
827
+ "storey=low(1-5)"
828
+ ],
829
+ "then": [
830
+ "price=budget(<500k)"
831
+ ],
832
+ "support": 0.0355,
833
+ "confidence": 0.9636,
834
+ "lift": 2.9792
835
+ },
836
+ {
837
+ "source": "apriori",
838
+ "if_conditions": [
839
+ "area=small(<70sqm)",
840
+ "lease=medium(55-80yr)"
841
+ ],
842
+ "then": [
843
+ "price=budget(<500k)"
844
+ ],
845
+ "support": 0.0634,
846
+ "confidence": 0.9633,
847
+ "lift": 2.9782
848
+ },
849
+ {
850
+ "source": "apriori",
851
+ "if_conditions": [
852
+ "area=small(<70sqm)",
853
+ "lease=medium(55-80yr)",
854
+ "rooms=2-3"
855
+ ],
856
+ "then": [
857
+ "price=budget(<500k)"
858
+ ],
859
+ "support": 0.0634,
860
+ "confidence": 0.9633,
861
+ "lift": 2.9782
862
+ },
863
+ {
864
+ "source": "apriori",
865
+ "if_conditions": [
866
+ "lease=medium(55-80yr)",
867
+ "rooms=2-3",
868
+ "storey=low(1-5)"
869
+ ],
870
+ "then": [
871
+ "price=budget(<500k)"
872
+ ],
873
+ "support": 0.0542,
874
+ "confidence": 0.9622,
875
+ "lift": 2.9749
876
+ },
877
+ {
878
+ "source": "apriori",
879
+ "if_conditions": [
880
+ "mature_estate=yes",
881
+ "rooms=5+",
882
+ "storey=high(>12)"
883
+ ],
884
+ "then": [
885
+ "price=premium(>=650k)"
886
+ ],
887
+ "support": 0.0215,
888
+ "confidence": 0.9616,
889
+ "lift": 2.8788
890
+ },
891
+ {
892
+ "source": "apriori",
893
+ "if_conditions": [
894
+ "area=large(>=100sqm)",
895
+ "mature_estate=yes",
896
+ "rooms=5+",
897
+ "storey=high(>12)"
898
+ ],
899
+ "then": [
900
+ "price=premium(>=650k)"
901
+ ],
902
+ "support": 0.0215,
903
+ "confidence": 0.9616,
904
+ "lift": 2.8786
905
+ }
906
+ ],
907
+ "surrogate": [
908
+ {
909
+ "source": "surrogate",
910
+ "conditions": [
911
+ "floor_area_sqm <= 84.50",
912
+ "lease_remaining_years <= 74.50",
913
+ "floor_area_sqm <= 77.50",
914
+ "floor_area_sqm <= 61.50",
915
+ "floor_area_sqm <= 57.50"
916
+ ],
917
+ "then_price": 297564.18,
918
+ "samples": 1140,
919
+ "confidence": 0.7862
920
+ },
921
+ {
922
+ "source": "surrogate",
923
+ "conditions": [
924
+ "floor_area_sqm <= 84.50",
925
+ "lease_remaining_years <= 74.50",
926
+ "floor_area_sqm <= 77.50",
927
+ "floor_area_sqm <= 61.50",
928
+ "floor_area_sqm > 57.50"
929
+ ],
930
+ "then_price": 353910.03,
931
+ "samples": 2172,
932
+ "confidence": 0.7862
933
+ },
934
+ {
935
+ "source": "surrogate",
936
+ "conditions": [
937
+ "floor_area_sqm <= 84.50",
938
+ "lease_remaining_years <= 74.50",
939
+ "floor_area_sqm <= 77.50",
940
+ "floor_area_sqm > 61.50",
941
+ "transaction_year <= 2023.50"
942
+ ],
943
+ "then_price": 370008.62,
944
+ "samples": 7532,
945
+ "confidence": 0.7862
946
+ },
947
+ {
948
+ "source": "surrogate",
949
+ "conditions": [
950
+ "floor_area_sqm <= 84.50",
951
+ "lease_remaining_years <= 74.50",
952
+ "floor_area_sqm <= 77.50",
953
+ "floor_area_sqm > 61.50",
954
+ "transaction_year > 2023.50"
955
+ ],
956
+ "then_price": 416490.96,
957
+ "samples": 8259,
958
+ "confidence": 0.7862
959
+ },
960
+ {
961
+ "source": "surrogate",
962
+ "conditions": [
963
+ "floor_area_sqm <= 84.50",
964
+ "lease_remaining_years <= 74.50",
965
+ "floor_area_sqm > 77.50",
966
+ "transaction_year <= 2023.50",
967
+ "is_mature_estate <= 0.50"
968
+ ],
969
+ "then_price": 416227.78,
970
+ "samples": 894,
971
+ "confidence": 0.7862
972
+ },
973
+ {
974
+ "source": "surrogate",
975
+ "conditions": [
976
+ "floor_area_sqm <= 84.50",
977
+ "lease_remaining_years <= 74.50",
978
+ "floor_area_sqm > 77.50",
979
+ "transaction_year <= 2023.50",
980
+ "is_mature_estate > 0.50"
981
+ ],
982
+ "then_price": 474058.5,
983
+ "samples": 1201,
984
+ "confidence": 0.7862
985
+ },
986
+ {
987
+ "source": "surrogate",
988
+ "conditions": [
989
+ "floor_area_sqm <= 84.50",
990
+ "lease_remaining_years <= 74.50",
991
+ "floor_area_sqm > 77.50",
992
+ "transaction_year > 2023.50",
993
+ "is_mature_estate <= 0.50"
994
+ ],
995
+ "then_price": 478034.02,
996
+ "samples": 961,
997
+ "confidence": 0.7862
998
+ },
999
+ {
1000
+ "source": "surrogate",
1001
+ "conditions": [
1002
+ "floor_area_sqm <= 84.50",
1003
+ "lease_remaining_years <= 74.50",
1004
+ "floor_area_sqm > 77.50",
1005
+ "transaction_year > 2023.50",
1006
+ "is_mature_estate > 0.50"
1007
+ ],
1008
+ "then_price": 541614.31,
1009
+ "samples": 1260,
1010
+ "confidence": 0.7862
1011
+ },
1012
+ {
1013
+ "source": "surrogate",
1014
+ "conditions": [
1015
+ "floor_area_sqm <= 84.50",
1016
+ "lease_remaining_years > 74.50",
1017
+ "is_mature_estate <= 0.50",
1018
+ "floor_area_sqm <= 61",
1019
+ "transaction_year <= 2024.50"
1020
+ ],
1021
+ "then_price": 333332.72,
1022
+ "samples": 1388,
1023
+ "confidence": 0.7862
1024
+ },
1025
+ {
1026
+ "source": "surrogate",
1027
+ "conditions": [
1028
+ "floor_area_sqm <= 84.50",
1029
+ "lease_remaining_years > 74.50",
1030
+ "is_mature_estate <= 0.50",
1031
+ "floor_area_sqm <= 61",
1032
+ "transaction_year > 2024.50"
1033
+ ],
1034
+ "then_price": 375257.06,
1035
+ "samples": 731,
1036
+ "confidence": 0.7862
1037
+ },
1038
+ {
1039
+ "source": "surrogate",
1040
+ "conditions": [
1041
+ "floor_area_sqm <= 84.50",
1042
+ "lease_remaining_years > 74.50",
1043
+ "is_mature_estate <= 0.50",
1044
+ "floor_area_sqm > 61",
1045
+ "transaction_year <= 2023.50"
1046
+ ],
1047
+ "then_price": 439805.42,
1048
+ "samples": 2136,
1049
+ "confidence": 0.7862
1050
+ },
1051
+ {
1052
+ "source": "surrogate",
1053
+ "conditions": [
1054
+ "floor_area_sqm <= 84.50",
1055
+ "lease_remaining_years > 74.50",
1056
+ "is_mature_estate <= 0.50",
1057
+ "floor_area_sqm > 61",
1058
+ "transaction_year > 2023.50"
1059
+ ],
1060
+ "then_price": 504603.08,
1061
+ "samples": 2322,
1062
+ "confidence": 0.7862
1063
+ },
1064
+ {
1065
+ "source": "surrogate",
1066
+ "conditions": [
1067
+ "floor_area_sqm <= 84.50",
1068
+ "lease_remaining_years > 74.50",
1069
+ "is_mature_estate > 0.50",
1070
+ "floor_area_sqm <= 69.50",
1071
+ "storey_mid <= 15.50"
1072
+ ],
1073
+ "then_price": 592170.65,
1074
+ "samples": 1480,
1075
+ "confidence": 0.7862
1076
+ },
1077
+ {
1078
+ "source": "surrogate",
1079
+ "conditions": [
1080
+ "floor_area_sqm <= 84.50",
1081
+ "lease_remaining_years > 74.50",
1082
+ "is_mature_estate > 0.50",
1083
+ "floor_area_sqm <= 69.50",
1084
+ "storey_mid > 15.50"
1085
+ ],
1086
+ "then_price": 697763.85,
1087
+ "samples": 843,
1088
+ "confidence": 0.7862
1089
+ },
1090
+ {
1091
+ "source": "surrogate",
1092
+ "conditions": [
1093
+ "floor_area_sqm <= 84.50",
1094
+ "lease_remaining_years > 74.50",
1095
+ "is_mature_estate > 0.50",
1096
+ "floor_area_sqm > 69.50"
1097
+ ],
1098
+ "then_price": 797859.04,
1099
+ "samples": 555,
1100
+ "confidence": 0.7862
1101
+ },
1102
+ {
1103
+ "source": "surrogate",
1104
+ "conditions": [
1105
+ "floor_area_sqm > 84.50",
1106
+ "is_mature_estate <= 0.50",
1107
+ "floor_area_sqm <= 111.50",
1108
+ "lease_remaining_years <= 82.50",
1109
+ "room_count <= 4.50"
1110
+ ],
1111
+ "then_price": 513692.67,
1112
+ "samples": 14040,
1113
+ "confidence": 0.7862
1114
+ },
1115
+ {
1116
+ "source": "surrogate",
1117
+ "conditions": [
1118
+ "floor_area_sqm > 84.50",
1119
+ "is_mature_estate <= 0.50",
1120
+ "floor_area_sqm <= 111.50",
1121
+ "lease_remaining_years <= 82.50",
1122
+ "room_count > 4.50"
1123
+ ],
1124
+ "then_price": 593375.11,
1125
+ "samples": 4386,
1126
+ "confidence": 0.7862
1127
+ },
1128
+ {
1129
+ "source": "surrogate",
1130
+ "conditions": [
1131
+ "floor_area_sqm > 84.50",
1132
+ "is_mature_estate <= 0.50",
1133
+ "floor_area_sqm <= 111.50",
1134
+ "lease_remaining_years > 82.50",
1135
+ "transaction_year <= 2023.50"
1136
+ ],
1137
+ "then_price": 572105.87,
1138
+ "samples": 7333,
1139
+ "confidence": 0.7862
1140
+ },
1141
+ {
1142
+ "source": "surrogate",
1143
+ "conditions": [
1144
+ "floor_area_sqm > 84.50",
1145
+ "is_mature_estate <= 0.50",
1146
+ "floor_area_sqm <= 111.50",
1147
+ "lease_remaining_years > 82.50",
1148
+ "transaction_year > 2023.50"
1149
+ ],
1150
+ "then_price": 650402.07,
1151
+ "samples": 7352,
1152
+ "confidence": 0.7862
1153
+ },
1154
+ {
1155
+ "source": "surrogate",
1156
+ "conditions": [
1157
+ "floor_area_sqm > 84.50",
1158
+ "is_mature_estate <= 0.50",
1159
+ "floor_area_sqm > 111.50",
1160
+ "floor_area_sqm <= 137.50",
1161
+ "lease_remaining_years <= 85.50"
1162
+ ],
1163
+ "then_price": 640598.02,
1164
+ "samples": 8818,
1165
+ "confidence": 0.7862
1166
+ },
1167
+ {
1168
+ "source": "surrogate",
1169
+ "conditions": [
1170
+ "floor_area_sqm > 84.50",
1171
+ "is_mature_estate <= 0.50",
1172
+ "floor_area_sqm > 111.50",
1173
+ "floor_area_sqm <= 137.50",
1174
+ "lease_remaining_years > 85.50"
1175
+ ],
1176
+ "then_price": 743572.44,
1177
+ "samples": 5351,
1178
+ "confidence": 0.7862
1179
+ },
1180
+ {
1181
+ "source": "surrogate",
1182
+ "conditions": [
1183
+ "floor_area_sqm > 84.50",
1184
+ "is_mature_estate <= 0.50",
1185
+ "floor_area_sqm > 111.50",
1186
+ "floor_area_sqm > 137.50",
1187
+ "transaction_year <= 2023.50"
1188
+ ],
1189
+ "then_price": 782239.38,
1190
+ "samples": 1650,
1191
+ "confidence": 0.7862
1192
+ },
1193
+ {
1194
+ "source": "surrogate",
1195
+ "conditions": [
1196
+ "floor_area_sqm > 84.50",
1197
+ "is_mature_estate <= 0.50",
1198
+ "floor_area_sqm > 111.50",
1199
+ "floor_area_sqm > 137.50",
1200
+ "transaction_year > 2023.50"
1201
+ ],
1202
+ "then_price": 875101.33,
1203
+ "samples": 1742,
1204
+ "confidence": 0.7862
1205
+ },
1206
+ {
1207
+ "source": "surrogate",
1208
+ "conditions": [
1209
+ "floor_area_sqm > 84.50",
1210
+ "is_mature_estate > 0.50",
1211
+ "lease_remaining_years <= 74.50",
1212
+ "floor_area_sqm <= 112.50",
1213
+ "floor_area_sqm <= 98.50"
1214
+ ],
1215
+ "then_price": 541621.45,
1216
+ "samples": 3689,
1217
+ "confidence": 0.7862
1218
+ },
1219
+ {
1220
+ "source": "surrogate",
1221
+ "conditions": [
1222
+ "floor_area_sqm > 84.50",
1223
+ "is_mature_estate > 0.50",
1224
+ "lease_remaining_years <= 74.50",
1225
+ "floor_area_sqm <= 112.50",
1226
+ "floor_area_sqm > 98.50"
1227
+ ],
1228
+ "then_price": 632046.39,
1229
+ "samples": 4801,
1230
+ "confidence": 0.7862
1231
+ },
1232
+ {
1233
+ "source": "surrogate",
1234
+ "conditions": [
1235
+ "floor_area_sqm > 84.50",
1236
+ "is_mature_estate > 0.50",
1237
+ "lease_remaining_years <= 74.50",
1238
+ "floor_area_sqm > 112.50",
1239
+ "floor_area_sqm <= 138.50"
1240
+ ],
1241
+ "then_price": 756884.08,
1242
+ "samples": 5972,
1243
+ "confidence": 0.7862
1244
+ },
1245
+ {
1246
+ "source": "surrogate",
1247
+ "conditions": [
1248
+ "floor_area_sqm > 84.50",
1249
+ "is_mature_estate > 0.50",
1250
+ "lease_remaining_years <= 74.50",
1251
+ "floor_area_sqm > 112.50",
1252
+ "floor_area_sqm > 138.50"
1253
+ ],
1254
+ "then_price": 939865.32,
1255
+ "samples": 2615,
1256
+ "confidence": 0.7862
1257
+ },
1258
+ {
1259
+ "source": "surrogate",
1260
+ "conditions": [
1261
+ "floor_area_sqm > 84.50",
1262
+ "is_mature_estate > 0.50",
1263
+ "lease_remaining_years > 74.50",
1264
+ "storey_mid <= 15.50",
1265
+ "room_count <= 4.50"
1266
+ ],
1267
+ "then_price": 821162.58,
1268
+ "samples": 4026,
1269
+ "confidence": 0.7862
1270
+ },
1271
+ {
1272
+ "source": "surrogate",
1273
+ "conditions": [
1274
+ "floor_area_sqm > 84.50",
1275
+ "is_mature_estate > 0.50",
1276
+ "lease_remaining_years > 74.50",
1277
+ "storey_mid <= 15.50",
1278
+ "room_count > 4.50"
1279
+ ],
1280
+ "then_price": 946134.45,
1281
+ "samples": 1411,
1282
+ "confidence": 0.7862
1283
+ },
1284
+ {
1285
+ "source": "surrogate",
1286
+ "conditions": [
1287
+ "floor_area_sqm > 84.50",
1288
+ "is_mature_estate > 0.50",
1289
+ "lease_remaining_years > 74.50",
1290
+ "storey_mid > 15.50",
1291
+ "room_count <= 4.50"
1292
+ ],
1293
+ "then_price": 969332.32,
1294
+ "samples": 2583,
1295
+ "confidence": 0.7862
1296
+ },
1297
+ {
1298
+ "source": "surrogate",
1299
+ "conditions": [
1300
+ "floor_area_sqm > 84.50",
1301
+ "is_mature_estate > 0.50",
1302
+ "lease_remaining_years > 74.50",
1303
+ "storey_mid > 15.50",
1304
+ "room_count > 4.50"
1305
+ ],
1306
+ "then_price": 1139558.7,
1307
+ "samples": 856,
1308
+ "confidence": 0.7862
1309
+ }
1310
+ ],
1311
+ "metadata": {
1312
+ "apriori_count": 60,
1313
+ "surrogate_count": 31,
1314
+ "surrogate_fidelity_r2": 0.7862,
1315
+ "model": "data_driven_2026",
1316
+ "source_years": ">=2022",
1317
+ "n_rows_mined": 109499,
1318
+ "price_thresholds": {
1319
+ "budget_upper": 500000,
1320
+ "premium_lower": 650000
1321
+ },
1322
+ "regenerated_at": "2026-04-25T02:50:56Z",
1323
+ "label_map": {
1324
+ "area=small(<70sqm)": "small flat (<70 sqm)",
1325
+ "area=medium(70-100sqm)": "medium flat (70\u2013100 sqm)",
1326
+ "area=large(>=100sqm)": "large flat (\u2265100 sqm)",
1327
+ "storey=low(1-5)": "low floor (1\u20135)",
1328
+ "storey=mid(6-12)": "mid floor (6\u201312)",
1329
+ "storey=high(>12)": "high floor (>12)",
1330
+ "mrt=walking(<0.5km)": "walking distance to MRT (<500 m)",
1331
+ "mrt=near(0.5-0.8km)": "near an MRT (500\u2013800 m)",
1332
+ "mrt=far(>0.8km)": "far from MRT (>800 m)",
1333
+ "lease=short(<55yr)": "short lease (<55 yrs)",
1334
+ "lease=medium(55-80yr)": "medium lease (55\u201380 yrs)",
1335
+ "lease=long(>=80yr)": "long lease (\u226580 yrs)",
1336
+ "mature_estate=yes": "mature estate",
1337
+ "mature_estate=no": "non-mature estate",
1338
+ "rooms=2-3": "2- or 3-room",
1339
+ "rooms=4": "4-room",
1340
+ "rooms=5+": "5-room / executive",
1341
+ "price=budget(<500k)": "budget range (<$500k)",
1342
+ "price=mid(500-650k)": "mid range ($500k\u2013$650k)",
1343
+ "price=premium(>=650k)": "premium range (\u2265$650k)"
1344
+ },
1345
+ "surrogate_features": [
1346
+ "floor_area_sqm",
1347
+ "storey_mid",
1348
+ "lease_remaining_years",
1349
+ "dist_nearest_mrt_km",
1350
+ "transaction_year",
1351
+ "room_count",
1352
+ "is_mature_estate"
1353
+ ]
1354
+ }
1355
+ }
artifacts/hybrid_xai/shap_explainers.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ffb4b5bdfdbcf5695c7ff60a5de0106d7eb825dc13b34e805f745a7d9652e4d9
3
+ size 251651358
artifacts/hybrid_xai/surrogate_model.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3b648b1c4985ad00d4da4892d458aeb499e457ad44c97035371d1c11a633f830
3
+ size 5297