{ "timestamp": "2026-01-08 17:59:10", "model_name": "Random Forest", "num_features": 30, "total_features_available": 49, "training_samples": 356, "test_samples": 89, "test_mae": 2.959679790870802, "test_mse": 22.52809628510788, "test_rmse": 4.74637717476265, "test_r2": 0.4146924609040473, "baseline_val_mae": 3.634581261520732, "improvement_vs_baseline": 0.6749014706499299, "improvement_pct": 18.568892042533307, "k_fold_cv": "Completed (5-fold)", "feature_selection_methods": [ "Random Forest", "Mutual Information", "Correlation" ], "selected_features": [ "dien_tich_phong", "tasks_per_hour", "num_trash_collection_tasks", "num_surgery_room_tasks", "dien_tich_hanh_lang", "area_diversity", "num_lobby_tasks", "hour_end", "dien_tich_ngoai_canh", "monitoring_ratio", "num_patient_room_tasks", "num_monitoring_tasks", "tasks_per_floor", "work_hours_numeric", "trash_collection_ratio", "dien_tich_tham", "so_tang", "so_ca_cua_toa", "dien_tich_wc", "num_wc_tasks", "dien_tich_kinh", "num_elevator_tasks", "num_office_tasks", "hour_start", "cleaning_ratio", "num_technical_room_tasks", "ranh_thoat_nuoc", "num_room_cleaning_tasks", "num_deep_cleaning_tasks", "num_tasks" ], "cols_to_scale": [ "so_ca_cua_toa", "num_tasks", "num_cleaning_tasks", "num_trash_collection_tasks", "num_monitoring_tasks", "num_room_cleaning_tasks", "num_deep_cleaning_tasks", "num_maintenance_tasks", "num_support_tasks", "num_other_tasks", "num_wc_tasks", "num_hallway_tasks", "num_lobby_tasks", "num_patient_room_tasks", "num_clinic_room_tasks", "num_surgery_room_tasks", "num_outdoor_tasks", "num_elevator_tasks", "num_office_tasks", "num_technical_room_tasks", "cleaning_ratio", "trash_collection_ratio", "monitoring_ratio", "room_cleaning_ratio", "area_diversity", "task_complexity_score", "so_tang", "so_cua_thang_may", "dien_tich_ngoai_canh", "dien_tich_sanh", "dien_tich_hanh_lang", "dien_tich_wc", "dien_tich_phong", "dien_tich_tham", "doc_ham", "vien_phan_quang", "op_tuong", "op_chan_tuong", "ranh_thoat_nuoc", "dien_tich_kinh", "hour_start", "hour_end", "work_hours_numeric", "tasks_per_hour", "tasks_per_floor", "wc_per_floor", "cleaning_workload", "total_area", "area_per_floor" ] }