-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup_script.py
More file actions
32 lines (25 loc) · 1013 Bytes
/
Copy pathsetup_script.py
File metadata and controls
32 lines (25 loc) · 1013 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import sys
import os
# Ensure we're in the right directory
os.chdir(r'c:\p1\traffic-routing-system')
sys.path.insert(0, r'c:\p1\traffic-routing-system')
print('Testing imports...')
from data.generate_traffic_data import TrafficDataGenerator
print('TrafficDataGenerator imported')
from models.traffic_predictor import TrafficPredictor
print('TrafficPredictor imported')
print('Generating data...')
generator = TrafficDataGenerator(n_roads=20, n_samples=2000)
traffic_df = generator.generate_dataset(save_path='data/traffic_data.csv')
print(f'Generated {len(traffic_df)} records')
roads_df = generator.generate_road_segments()
roads_df.to_csv('data/road_segments.csv', index=False)
print(f'Generated {len(roads_df)} roads')
print('Training model...')
predictor = TrafficPredictor()
metrics = predictor.train(traffic_df)
print(f'MAPE: {metrics["mape"]:.2f}%')
os.makedirs('models/saved', exist_ok=True)
predictor.save_model('models/saved/traffic_predictor.pkl')
print('Model saved!')
print('Setup complete!')