Су Аналитика…

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

Итак, в этой моей самой первой записи для среды я намерен рассказать о своем первом проекте, о том, как я к нему подошел, что я ожидал от него узнать и каковы были мои выводы. Я надеюсь, что любой, кто увидит это, сможет дать мне представление о том, как улучшить свои навыки и продолжить изучение этой замечательной области.

Сначала несколько основных правил…

Для этого проекта я решил, что не буду использовать какие-либо библиотеки или фреймворки, кроме моего компилятора Anaconda python, почему? Поскольку я полагал, что, поскольку я изучаю аналитику, а не профессионал, я должен убедиться, что я понимаю основную концепцию алгоритма, который я реализовал, и я должен быть в состоянии объяснить каждую написанную строку кода и каждое принятое решение по реализации. . С фреймворками этого добиться труднее, потому что они поставляются предварительно упакованными и могут стать чем-то вроде «черного ящика», в котором трудно интерпретировать результаты. По этой причине я сам закодировал всю модель, никакие фреймворки Python не использовались, кроме csv для чтения данных и matplotlib для построения пары хороших графиков.

Модель

Итак, для своего первого проекта по аналитике я решил ответить на этот вопрос, поскольку я живу в Колумбии, можно ли предсказать, учитывая мой пол и местонахождение, жертвой какого наиболее вероятного преступления я стану? Я выбрал три вида преступлений: изнасилование, ограбление и убийство. Это насильственные преступления, и люди, как правило, должны быть обеспокоены столкновением с такими видами нападения. Это также преступления, на которые сильно влияют местонахождение и пол, поэтому, естественно, модель, включающая эти переменные, должна быть в состоянии отразить их влияние на статистику преступности.

Затем прогноз управляется наивным байесовским алгоритмом.

Ого, математика!. в основном это означает, что мой прогноз (M(q)) представляет собой умножение всех условных вероятностей того, что данное событие q произошло при условии для определенного целевого экземпляра t=l. Это умножается на глобальную вероятность возникновения целевого события (P(t=l)). Тогда мой прогноз для различных целевых уровней будет максимальным значением расчета наивного Байеса или каждого целевого уровня. Для иллюстрации мой аналитический набор данных выглядит примерно так

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

Максимальное значение каждой из этих моделей даст мне наиболее вероятное преступление, жертвой которого я могу ожидать, если я мужчина в Медельине.

Данные

Национальная полиция Колумбии ведет обширный и четкий учет различных преступлений, совершенных в стране, начиная с 2010 года. Это довольно полный набор данных, и поэтому я решил, что будет полезно ответить на мой вопрос.

Здесь показана необработанная структура данных, в основном у нас есть несколько электронных таблиц Excel за каждый год и количество преступлений, перечисленных в базе данных. Каждое преступление имеет записи 10-летней давности.

Набор данных содержит большое количество характеристик, в частности, муниципалитет, в котором было совершено преступление, дату и время, была ли жертва мужчиной или женщиной, а также его/ее возраст среди других соответствующих данных. Обилие функций натолкнуло меня на мысль, что я, вероятно, могу предсказать вероятность совершения преступления в определенное время, дату и место. Для каждой строки набора данных записывается экземпляр преступления, и каждая таблица Excel является эксклюзивной для одного типа преступления, что означает, что набор данных выглядит примерно так.

Моя первая цель состояла в том, чтобы отфильтровать данные в более управляемом формате, для этого я преобразовал все таблицы в CSV и удалил некоторые из избыточных функций, таких как фирменные бланки и некоторые показатели, вычисленные полицией (общее количество совершенных преступлений и т. д.) которые не имели особого значения для моего анализа. После этого я написал простой скрипт на Python, чтобы объединить все файлы в один CSV, который я намеревался использовать в качестве базовой таблицы Analytics.

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