Заказ поступил от каршеринговой компании. Необходимо создать систему для оценки риска возникновения ДТП по маршруту движения. Если уровень риска высокий, то будет дано уведомление водителю и рекомендации по изменению маршруту движения.
- case_id (уникальный номер зарегистрированного происшествия в таблице происшествий);
- party_number (номер участника происшествия) - от 1 до N: по числу участников происшествия;
- party_type (тип участника происшествия):
- at_fault (виновность участника) - 0 или 1;
- insurance_premium (сумма страховки);
- party_drug_physical (состояние чуастника: физическое или с учетом принятых лекарств):
- party_sobriety (трезвость участника):
- A - Had Not Been Drinking (Не пил);
- B - Had Been Drinking, Under Influence (Был пьян, под влиянием);
- C - Had Been Drinking, Not Under Influence (Был пьян, не под влиянием);
- D - Had Been Drinking, Impairment Unknown (Был пьян, ухудшение неизвестно);
- G - Impairment Unknown (Неизвестно ухудшение);
- H - Not Applicable (Не оценивался);
- _ - Not Stated (Не указано).
- cellphone_in_use (наличие телефона в автомобиле) - 0 или
- id (индекс текущей таблицы);
- case_id (идентификационный номер в базе данных);
- vehicle_type (тип кузова):
- vehicle_transmission (тип КПП):
- vehicle_age (возраст автомобиля).
- case_id (идентификационный номер в базе данных);
- collision_date (дата происшествия);
- collision_time (время происшествия);
- intersection (является ли место происшествия перекрестком):
- weather_1 (погода):
- collision_damage (серьезность происшествия):
- primary_collision_factor (основной фактор аварии):
- road_surface (состояние дороги):
- lightning (освещение):
- county_city_location (номер географических районов, где произошло ДТП);
- county_location (названия географических районов, где произошло ДТП);
- direction (направление движения):
- N — North (Север)
- E — East (Восток)
- S — South (Юг)
- W — West (Запад)
- _ — Not State (Не указано)
- на перекрёстке
- distance (расстояние до главной дороги в метрах);
- location_type (тип дороги):
- H — Highway (Шоссе);
- I — Intersection (Перекрёсток);
- R — Ramp (or Collector) (Рампа);
- _ — Not State Highway (Не указано).
- party_count (количество участников);
- pcf_violation_category (категория нарушения):
- 01 - Driving Under the Influence of Alcohol or Drug - Вождение или езда в состоянии алкогольного или наркотического опьянения;
- 02 - Impeding Traffic - Препятствие движению транспорта;
- 03 - Unsafe Speed - Превышение скорости;
- 04 - Following Too Closely - Опасное сближение;
- 05 - Wrong Side of Road - Неправильная сторона дороги;
- 06 — Improper Passing - Неправильное движение;
- 07 — Unsafe Lane Change - Небезопасная смена полосы движения;
- 08 — Improper Turning - Неправильный поворот;
- 09 — Automobile Right of Way - Автомобильное право проезда;
- 10 — Pedestrian Right of Way - Пешеходное право проезда;
- 11 — Pedestrian Violation - Нарушение пешеходами;
- 12 — Traffic Signals and Signs - Дорожные сигналы и знаки;
- 13 — Hazardous Parking - Неправильная парковка;
- 14 — Lights - Освещение;
- 15 — Brakes - Тормоза;
- 16 — Other Equipment - Другое оборудование;
- 17 — Other Hazardous Violation - Другие нарушения;
- 18 — Other Than Driver (or Pedestrian) - Кроме водителя или пешехода;
- 19 — Speeding - Скорость;
- 20 — Pedestrian dui - Нарушение пешехода;
- 21 — Unsafe Starting or Backing - Опасный старт;
- 22 — Other Improper Driving - Другое неправильное вождение;
- 23 — Pedestrian or “Other” Under the Influence of Alcohol or Drug - Пешеход или «Другой» в состоянии алкогольного или наркотического опьянения;
- 24 — Fell Asleep - Заснул;
- 00 — Unknown - Неизвестно;
- _ - Not Stated - Не указано.
- type_of_collision (тип аварии):
- A — Head-On (Лоб в лоб);
- B — Sideswipe (Сторона);
- C — Rear End (Столкновение задней частью);
- D — Broadside (Боковой удар);
- E — Hit Object (Удар объекта);
- F — Overturned (Опрокинутый);
- G — Vehicle (транспортное средство/ Пешеход);
- H — Other (Другое);
- _ - Not Stated (Не указано).
- motor_vehicle_involved_with (дополнительные участники ДТП):
- Other motor vehicle (Другой автомобиль);
- Fixed object (Неподвижный объект);
- Parked motor vehicle (Припаркованный автомобиль);
- Pedestrian (Пешеход);
- Bicycle (Велосипедист);
- Non-collision (Не столкновение);
- Other object (Другой объект);
- Motor vehicle on other roadway (Автомобиль на другой проезжей);
- Animal (Животное);
- Train (Поезд).
- road_condition_1 (дорожное состояние):
- A — Holes, Deep Ruts (Ямы, глубокая колея);
- B — Loose Material on Roadway (Сыпучий материал на проезжей части);
- C — Obstruction on Roadway (Препятствие на проезжей части);
- D — Construction or Repair Zone (Зона строительства или ремонта);
- E — Reduced Roadway Width (Уменьшенная ширина проезжей части);
- F — Flooded (Затоплено);
- G — Other (Другое);
- H — No Unusual Condition (Нет ничего необычного);
- _ — Not Stated (Не указано).
- control_device (устройство управления):
- A — Functioning (Функционирует);
- B — Not Functioning (Не функционирует);
- C — Obscured (Затемнённый);
- D — None (Нет);
- _ Not Stated (Не указано).
- Загрузка таблицы SQL
- Первичное исследование таблиц
- Cтатистический анализ факторов ДТП
- Количество аварий по месяцам
- Задачи для коллег
- Самые частые основные факторы ДТП
- Анализ серьезности повреждений транспортного средства по состоянию участника
- Анализ зависимости степени трезвости участника и основного фактора аварии
- Зависимость между категорией нарушения и состоянием участника
- Анализ корреляции степени трезвости участника и его виновности
- Анализ влияния дорожного состояния на серьезность повреждений транспортного средства
- Создание модели для оценки водительского риска
- Анализ важности факторов ДТП
- Выводы
- Предобработка и исследовательский анализ данных. Поставлены различные задачи для коллег, указанные в третье пункте втором подпункет "Задачи для коллег", некоторые из которых имеют собственные примеры решения;
- Отобраны необходимые для модели параметри (всего 17), выбраны метрики для оценки их качества - F1-мера и AUC-ROC - и созданы следующие модели - DecisionTreeClassifier, RandomForestClassifier, LGBMClassifier и Нейронная сеть;
- Наилучший результат по метрике F1-мера показала Нейронная сеть с результатом 0.437, а по метрике AUC-ROC - LGBMClassifier с значением 0.545 (результат нейросети - 0.542). Однако нейросеть лучше определяет верноположительные ответы, что при данной задаче крайне важно;
- Наиважнейшим признаком является номер географических районов (county_city_location), однако даже его корреляция с целевым показателем - at_fault - довольно низка и составляет лишь 0.09;
- Рекомендовано использование Нейронной сети с увеличением количества эпох и батчей, а также усложнением архитектуры, но для этого необходима и более совершенная инфраструктура.
lightgbm
, matplotlib
, numpy
, pandas
, phik
, sklearn
, sqlalchemy
, torch