Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
еще примеры курсачей / еще курсач.docx
Скачиваний:
0
Добавлен:
15.07.2025
Размер:
1.04 Mб
Скачать

Глава 3

    1. Импорты библиотек Python

Для данной работы были использованы следующие библиотеки:

import numpy as np

import pandas as pd

import os

import seaborn as sns

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression

from statsmodels.tsa.statespace.sarimax import SARIMAX

from statsmodels.tsa.seasonal import seasonal_decompose

from pmdarima import auto_arima

Ниже приведено описание каждой библиотеки для общего понимания причины выбора именно этих наборов связанных модулей [2 - 5]:

  • import numpy as np: NumPy используется для работы с массивами и выполнения математических операций.

  • import pandas as pd: Pandas используется для работы с табличными данными, предоставляя средства для их манипулирования и анализа.

  • import os: Библиотека os позволяет взаимодействовать с файловой системой, например, для управления файлами и директориями.

  • import seaborn as sns: Seaborn используется для создания статистических графиков, обеспечивая высокоуровневые визуализации.

  • import matplotlib.pyplot as plt: Matplotlib используется для создания различных типов графиков и диаграмм.

  • from sklearn.linear_model import LinearRegression: LinearRegression из Scikit-learn используется для построения и применения модели линейной регрессии.

  • from statsmodels.tsa.statespace.sarimax import SARIMAX: SARIMAX из Statsmodels используется для построения и анализа моделей временных рядов.

  • from statsmodels.tsa.seasonal import seasonal_decompose: seasonal_decompose из Statsmodels используется для декомпозиции временных рядов на тренд, сезонность и остатки.

  • from pmdarima import auto_arima: auto_arima из Pmdarima используется для автоматического выбора параметров модели ARIMA.

    1. Тепловая карта уровня преступности

В начале необходимо загрузить набор данных в рабочее окружение Visual Studio Code:

crime = pd.read_csv(‘Crime_Data.csv’, sep=’,’)

crime

Вывод: (рисунок 1)

Рис. 1. Сокращенный показ набора данных

Начнем подготовку данных к обработке. Предобработка (приложение: листинг 1) включает в себя: проверку и вывод данных о количестве пропущенных значений в каждом столбце, удаление столбцов, в которых более 50% значений отсутствует, заполнение пропущенных значений в категориальных столбцах наиболее частым значением (модой), а в числовых — средним значением, проверка наличия пропусков после предобработки. На рисунках 2-3 представлены результаты предобработки.

Рис. 2. Пропущенные значения после предобработки

Рис. 3. Первые пять строк обработанного набора данных

Выделим информацию об уровне преступности в регионе и создадим еще один столбец – crime_level, который будет содержать эти данные:

# добавляем новый столбец с именем «crime_level» в DataFrame, округляем значение:

crime[‘crime_level’] = (df[‘Crm Cd’] / 100).apply(np.floor)

crime

Получается новый набор данных со столбцом crime_level (рисунок 4)

Рис. 4. Дополненный набор данных

Целью данной обработки является создание тепловой карты, который наглядно покажет нам уровень преступности в Лос-Анджелесе с помощью зависимости уровня преступности (crime_level) от координат широты (LAT) и долготы (LON). Однако, сначала нам нужно округлить значения в столбцах LAT и LON для лучшей наглядности и удобства представления данных. Создадим новые столбцы с округленными значениями lon_round и lat_round:

detail = 0.01

crime[‘lon_round’] = crime[‘LON’].round(2)

crime[‘lat_round’] = crime[‘LAT’].round(2)

crime

Получаем новые столбцы lon_round и lat_round (рисунок 5):

Рис. 5. Дополненный набор данных

Теперь мы группируем данные для тепловой карты, сделав отдельный набор данных heatmap_crimes.csv (рисунок 6) (приложение: листинг 2), включающий только нужные нам столбцы lon_round (округленная долгота), lat_round (округленная широта), crime_level (уровень преступности), DR_NOcount (количество уникальных значений):

Рис. 6. Новый набор данных heatmap_crimes.csv

Полученные результаты будут представляться в виде тепловой карты (приложение: листинг 3), которая покажет, где и сколько преступлений было совершено в различных географических областях с разными уровнями преступности, что является мощным инструментом для визуализации и анализа данных о преступности. Он может быть полезен в нескольких ключевых аспектах:

  • Идентификация горячих точек преступности

  • Оптимизация ресурсов полиции

  • Разработка превентивных мер

  • Информирование и вовлечение общественности

  • Помощь в городском планировании

Таким образом, тепловая карта, отображающая географическое распределение преступлений (рисунок 7), является незаменимым инструментом для правоохранительных органов, исследователей, городских планировщиков и общественности. Он способствует более глубокому пониманию проблемы преступности, улучшению стратегий по ее снижению и повышению уровня безопасности в городах.

Рис. 7. Тепловая карта уровня преступности

Соседние файлы в папке еще примеры курсачей