www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Моделирование набора данных по преступности в Чикаго

Дата публикации Oct 3, 2019

Этот пост в блоге предназначен для изучения данных о преступности в Чикаго и демонстрации применения прогнозной модели для арестов в Чикаго. Это может помочь государственным учреждениям тремя основными способами:

  1. Лучше создать государственную политику для исправительных учреждений
  2. Помогите сфокусировать контрмеры на категориях преступлений, на которые оказывается негативное воздействие, в соответствии с прогнозом
  3. Направлять распределение ресурсов по категориям преступлений

Понимание Преступления в Чикаго

На Чикаго, третий по величине город страны, приходилось 22% общенационального прироста с 749 убийствами (см. Правую диаграмму ниже) в 2016 году, что больше, чем число убийств в крупнейшем городе Нью-Йорке (334) и во втором Крупнейший, Лос-Анджелес (294) за тот же год, вместе взятый. По оценкам, число убийств в Чикаго увеличилось на 52% в 2016 году.

Число убийств в США выросло на 8,6%(1), что делает Чикаго необычным и интересным случаем для анализа. Подавляющее большинство этих убийств произошло в пяти преимущественно черных и латиноамериканских кварталах на южной и западной стороне, где живет только 9% из 2,7-миллионного города(2)

Процесс

Описание:

  • Данные былиизвлечено из Чикагского полицейского управленияСистема CLEAR (анализ и отчетность правоохранительных органов).
  • Для анализа я выбрал2015-2017данные.
  • Этот набор данных содержит539 814 наблюденийа также23 функции

Особенности:

Я сосредоточился на 12 ключевых особенностях моих анализов:

  1. Номер дела- Номер RD полицейского управления Чикаго (номер отдела регистрации), который является уникальным для данного инцидента.
  2. Свидание- Дата, когда произошел инцидент.
  3. Основной тип- Основное описание кода IUCR.
  4. арестовывать- Указывает, был ли произведен арест.
  5. внутренний- Указывает, был ли инцидент связан с домашним хозяйством, как определено Законом о насилии в семье Иллинойса.
  6. Удар- Указывает ритм, где произошел инцидент. Удар - самая маленькая полицейская географическая область - у каждого удара есть специальная полицейская машина удара. Три-пять ударов составляют полицейский сектор, а три сектора составляют полицейский участок. У полицейского управления Чикаго есть 22 полицейских округа. Смотрите ритмы в(3)
  7. район- Указывает район полиции, где произошел инцидент. Смотрите районы на(4)
  8. подопечный- Палата (район городского совета), где произошел инцидент. Смотрите палаты в(5)
  9. Код ФБР- Указывает классификацию преступлений, как указано в Национальной системе отчетности о происшествиях ФБР (NIBRS). См. Список этих классификаций в отделении полиции Чикаго по адресу(6)
  10. Год- Год, когда произошел инцидент.
  11. широта- Широта места, где произошел инцидент. Это местоположение смещено от фактического местоположения для частичного редактирования, но попадает в тот же блок.
  12. Долгота- Долгота места, где произошел инцидент. Это местоположение смещено от фактического местоположения для частичного редактирования, но попадает в тот же блок.

модель

Характеристика:

Я начал с разработки функций набора данных. Подход к очистке данных состоял из 7 шагов:

  1. Проверьте, сколько пропущенных значений есть в каждой функции. Если пропущенные значения составляют менее 10% от общего значения в функции, было удалено
  2. Проверьте тип объекта и исправьте его при необходимости
  3. Удалить дубликаты строк
  4. Проверьте наличие выбросов и при необходимости устраните их.
  5. Заменить Ложь и Истина нулями и единицами
  6. Создавайте новые функции, извлекая месяц, день и час из столбца «Дата».
  7. Удалите такие функции, как «ID» и «Updpedated On», потому что у них нет соответствующей информации для анализа, и «Date», чтобы избежать дублирования (см. Шаг № 6)

Выбор цели:

Я определил три вещи, которые было бы интересно предсказать по этим данным:

  1. Палата, где произойдет преступление
  2. Тип преступления (столбец «Основной тип»)
  3. Если преступление закончится арестом

Из-за высокой мощности Уорда и Первичного Типа (см. Таблицу ниже),Я решил использовать функцию «Арест» в качестве цели

Разделение данных:

Процесс разделения набора данных был сделан в два шага:

  1. Извлеките X_features и y_target из моего фрейма данных
  2. Разделить данные с помощью train_test_split от Scikit Learn

Базовое определение:

Цель базовой линии - создать первоначальный прогноз и рассчитать процент точности. Это будет эталоном для будущей прогностической модели. В этом случае я использовал режим в качестве прогноза, потому что моя цель категорична.

Полученные результаты:Точность базовой линии составляет: 77 19%

Моя кривая ROC говорит мне, что эта модель не обладает способностью различать положительный класс и отрицательный класс

Выбор модели:

В этом процессе я использовал три соответствующих метода и сравнил их результаты, чтобы выбрать лучший метод для прогнозирования с большей точностью.

  1. Логистическая регрессия-Используется, когда зависимая переменная (цель) является категориальной
  • Точность для данных проверки = 0,7722
  • Точность для данных теста = 0,7708

2. XGBoost-Алгоритм машинного обучения на основе дерева решений, согласно которому GBT строит деревья по одному, где каждое новое дерево помогает исправлять ошибки, допущенные ранее обученным деревом

  • Точность для данных проверки = 0,8833
  • Точность для данных испытаний = 0,8831

3.RandomForestClassifier-RF обучают каждое дерево независимо, используя случайную выборку данных. Эта случайность помогает сделать модель более устойчивой, чем единое дерево решений, и с меньшей вероятностью переопределить данные обучения* 5

  • Точность для данных проверки = 0,8891
  • Точность для данных испытаний = 0,8904

Выбор:Случайный классификатор леса показал лучшую производительность с точностью 89%

Путаница для классификатора случайных лесов

Количество правильных и неправильных прогнозов суммируется со значениями количества и разбивается по каждому классу

Как показано в таблице ниже, он предсказал 72 840 (сумма диагонали) из 81 660 прогнозов для проверки правильности, установленной в результате, что дает точность 89%

Особенности Особенности

Проверил важность функций, используя следующие методы

  • Сбросить вручную: Важность дерева на основе ранжирует функции
  • Использование Eli5: Предоставляет способ вычисления важности функции для любого оценщика черного ящика, измеряя, как уменьшается оценка, когда функция недоступна* 6

Пример объяснения:

SHAP (Объяснение Аддитивов Шапли) - это метод объяснения индивидуальных предсказаний.

«Значения SHAP приписывают каждому признаку изменение в ожидаемом прогнозе модели при согласовании с этим признаком. Они объясняют, как получить из базового значения, которое было бы предсказано, если бы мы не знали каких-либо особенностей для текущего вывода. Эта диаграмма показывает один порядок. Однако, когда модель нелинейная или входные объекты не являются независимыми, порядок, в котором объекты добавляются к ожиданию, имеет значение, а значения SHAP возникают из-за усреднения значений по всем возможным порядкам ».(7)

Три основные причины прогноза:

  1. IUCR составляет 1320
  2. Описание: "ДЛЯ АВТОМОБИЛЯ"
  3. КОД ФБР 14

Частичная зависимость:

Коды основного типа:

1) Нападения

2) Аккумулятор

3) Криминальный ущерб

5) Кража

6) Кража со взломом

8) Наркотики

10) Обманчивая практика

30) неуголовный

PDPпоказывает вероятность и взаимодействие первичного типа и внутренних особенностей при аресте. График показывает увеличение вероятности ареста, когда основным типом является наркотики. С другой стороны, такие преступления, как преступный ущерб, кража и кража со взломом, имеют более низкий прогнозируемый арест.

Чтобы прояснить, PDP показывает корреляцию между функциями и целью и не претендует на объяснение причинности.

Документация и NoteBook здесь

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map