Система машинного обучения для оценки риска ДТП в реальном времени для каршеринговых сервисов.
Цель проекта — разработка модели, которая предсказывает вероятность ДТП на маршруте и предлагает альтернативные пути при высоком риске.
- Предсказывать вероятность ДТП с учетом виновности автомобилей и серьезности повреждений
- Анализировать ключевые факторы, влияющие на аварии
- Дать рекомендации по созданию системы оценки риска и необходимому оборудованию
- Python 3.x
- pandas, numpy, matplotlib, seaborn
- scikit-learn, catboost, torch, torchmetrics
- psycopg2, phik
- StandardScaler, OneHotEncoder, OrdinalEncoder, SimpleImputer
- Streamlit (для демо)
- Jupyter Notebook
git clone https://github.com/kagor4/Accident-Risk-Prediction-System.git
cd Accident-Risk-Prediction-System
pip install -r requirements.txtЗатем откройте и запустите файл Accident Risk Prediction System.py или ноутбук с аналогичным кодом в Jupyter. Убедитесь, что у вас есть доступ к базе данных PostgreSQL с таблицами collisions, parties, vehicles, и case_ids.
Проект использует данные из базы PostgreSQL:
collisions: информация о ДТП (место, время, погода, повреждения)parties: участники ДТП (виновность, трезвость, тип участника)vehicles: данные о транспортных средствах (тип, возраст, трансмиссия)case_ids: идентификаторы случаев
Фильтрация данных:
- Только автомобили как виновники (
at_fault = 1) - ДТП 2012 года
- Повреждения, кроме царапин
Ключевые признаки:
distance— расстояние до главной дорогиvehicle_type— тип транспортного средстваvehicle_age— возраст автомобиляweather_1— погодные условияlocation_type— тип местоположения
- Лучшая модель: Нейронная сеть
- Метрика: F1 = 0.71 (обучающая выборка), 0.674 (тестовая выборка)
- Основные факторы риска:
- Расстояние до главной дороги (
distance) - Тип транспортного средства (
vehicle_type)
- Расстояние до главной дороги (
- Основные выводы:
- Ясная погода увеличивает частоту ДТП из-за интенсивного движения
- Старые легковые автомобили чаще попадают в аварии
- Рекомендации:
- Добавить данные о погоде и дорожных условиях в реальном времени
- Установить датчики (камеры, GPS) для мониторинга маршрута
- Использовать ансамблевые методы для повышения точности
- Разработать Streamlit-приложение для демонстрации системы
📦 Accident-Risk-Prediction-System/
├── Accident Risk Prediction System.py # анализ и обучение модели
├── requirements.txt # зависимости
└── README.md # описание проекта
- Интеграция данных о погоде и трафике в реальном времени
- Разработка Streamlit-приложения для визуализации рисков
- Тестирование ансамблевых методов (XGBoost, LightGBM)
- Улучшение обработки аномалий в данных
Автор: kagor4