Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
Yuwei Yan committed Jan 8, 2025
1 parent 9712f18 commit a9b48d5
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions websocietysimulator/simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from .agent.recommendation_agent import RecommendationAgent
from .tasks.simulation_task import SimulationTask
from .tasks.recommendation_task import RecommendationTask
import numpy as np

logger = logging.getLogger("websocietysimulator")

Expand Down Expand Up @@ -256,7 +255,6 @@ def process_task(task_index_tuple):

logger.info("Simulation finished")
# 过滤掉None值(未完成的任务)
self.simulation_outputs = [output for output in self.simulation_outputs if output is not None]
return self.simulation_outputs

def evaluate(self) -> Dict[str, Any]:
Expand Down Expand Up @@ -308,11 +306,12 @@ def _evaluate_recommendation(self, ground_truth_data: List[Dict]) -> Dict[str, A
# 从ground truth数据中提取真实POI
gt_pois = [item['ground truth'] for item in ground_truth_data]

pred_pois = [
output['output']
for output in self.simulation_outputs
if 'output' in output
]
pred_pois = []
for output in self.simulation_outputs:
if output is not None:
pred_pois.append(output['output'])
else:
pred_pois.append([''])

# 计算评估指标
metrics = self.recommendation_evaluator.calculate_hr_at_n(
Expand All @@ -329,7 +328,15 @@ def _evaluate_simulation(self, ground_truth_data: List[Dict]) -> Dict[str, Any]:
"""
Evaluate simulation results
"""
simulated_data = [output['output'] for output in self.simulation_outputs]
simulated_data = []
for output in self.simulation_outputs:
if output is not None:
simulated_data.append(output['output'])
else:
simulated_data.append({
'stars': 0,
'review': ''
})
metrics = self.simulation_evaluator.calculate_metrics(
simulated_data=simulated_data,
real_data=ground_truth_data
Expand Down

0 comments on commit a9b48d5

Please sign in to comment.