-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquick_start.py
More file actions
53 lines (41 loc) · 1.53 KB
/
Copy pathquick_start.py
File metadata and controls
53 lines (41 loc) · 1.53 KB
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
"""Quick setup script for Traffic Routing System"""
import sys
import os
# Change to project directory
os.chdir(r'c:\p1\traffic-routing-system')
sys.path.insert(0, r'c:\p1\traffic-routing-system')
# Step 1: Generate data
print("=" * 50)
print("STEP 1: Generating traffic data...")
print("=" * 50)
from data.generate_traffic_data import TrafficDataGenerator
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)} traffic records")
roads_df = generator.generate_road_segments()
roads_df.to_csv('data/road_segments.csv', index=False)
print(f"✓ Generated {len(roads_df)} road segments")
# Step 2: Train model
print("\n" + "=" * 50)
print("STEP 2: Training prediction model...")
print("=" * 50)
from models.traffic_predictor import TrafficPredictor
predictor = TrafficPredictor()
metrics = predictor.train(traffic_df)
print(f"\nModel Performance:")
print(f" - MAPE: {metrics['mape']:.2f}%")
print(f" - MAE: {metrics['mae']:.2f}")
print(f" - R² Score: {metrics['r2_score']:.4f}")
# Step 3: Save model
print("\n" + "=" * 50)
print("STEP 3: Saving model...")
print("=" * 50)
os.makedirs('models/saved', exist_ok=True)
predictor.save_model('models/saved/traffic_predictor.pkl')
print("\n" + "=" * 50)
print("✅ SETUP COMPLETE!")
print("=" * 50)
print("\nNext steps:")
print(" 1. Run demo: python run_system.py --demo")
print(" 2. Run tests: python run_system.py --test")
print(" 3. Launch UI: streamlit run app/dashboard.py")