2020-02-28

EDA ile suç oranları analizi

Veri dünyasına giriş yapanların öğrenmesi gereken konuların arasında yer almaktadır veri işleme ve görselleştirme adımları. Bu aşamada yapılması gereken detaylı adımlar bulunmaktadır, fakat bu paylaşımımda genel bilgileri ileterek sizleri bilgilendireceğim.
Veri işleme aşaması SQL sorgu dilinde de yapılabilir, ama çoğu adımda yetersiz olduğu için Python gibi geniş veri işleme kütüphanelerine sahip programlama dili tercih nedenidir. R istatistik programlama dilini bu işlemler için alternatif olarak düşünebiliriz.
Kullanacağım veri seti Chicago Polis Departmanının 2016-2017 seneleri aralığında paylaşmış olduğu kayıtları içeriyor. Veri setimizde işlenen suç vakalarına ait rapor kodu, zaman, coğrafi bilgiler, tür gibi bilgiler mevcuttur.

Oluşturduğum bu adımların amacı oluşturmak istenen ML (Machine Learning - tr.Makine Öğrenimi) modellemisi için ön hazırlık aşamasını tamamlamaktır. İleriki tarihlerde bu modellemeyle devam edersem eğer, model oluşturma aşamasını bu veriseti üzerinden devam ettireceğim.
Gerçekleşen suç vakalarını inceleyerek ileriki tarihlerde coğrafi mekan bazında oluşabilecek olayların karşısına geçmek, polis personel kaynaklarının verimli kullanımını sağlamaktır amacım.

Öncelikle gerekli kütüphaneleri çalıştığım Jupyter Notebook çalışma ortamına dahil ediyorum. Sonrasında çalışma ortamını yeniden set ederek güncelledim. Bu gibi durumlarda bir çalışma ortamını kendimize göre belirlemek daha iyi bir opsiyon olacaktır. Veri setimde bulunan sütun isimlerini anlaşma kolaylığı sağlamak amacıyla Türkçeye çevirdim.
Bir veri seti analizinin önemli aşamalarından biri de NULL (veya NaN) değerlerin incelenmesi, tespiti ve işlenmesidir. Uygulayacağımız işlemler modelleme için etkilidir, dolayısıyla veri tipine göre hareket edilmesi gerekmektedir. Bunun için öncelikli olarak NULL değerleri bulunan sütunları tespit etmek, sonrasında bu alanın değerlerini tanımak lazım. Bir döngü oluşturarak her sütuna ayrılıkta dokundum.Tavsiye edeceğim nokta, benzer işlemleri yapılırken log benzeri bir dosyanın oluşturulması yada ekrana yazdırılması olacaktır.

Belirtmem gereken bir diğer nokta ise yeni alanların oluşturulması ile ilgilidir. Eğer anlattığım vakadaki gibi tarihsel alan bazında analiz yapılacaksa ve mevcut kayıtlar yetersiz kalacaksa, bu durumda yeni sütunların eklenmesi daha mantıklı olacaktır. Çalışma vakamızda tarihsel alanı üç ayrı sütunda yeniden oluşturaral ileriki adımlarda görselleştirme, outlier kayıtların tespit aşamalarında kolaylık sağlamış olacak. 

Yukarıda belirttiğim adımdan sonra veri setime yeniden göz attım, herhangi sorun bulunmuyorsa eğer outliers kayıtların tespiti aşamasına geçebiliriz.Outliers diye bahsettiğim kayıtlar genellikle veri setimizde normal dışı olanlardır. Eğer veri setimde tarih ve ay bazında incelemem gerekliyse, yıl bazında herhangi olağandışı durum olup olmadığına bakarım, zira bu işlemde 2016 ve 2017 senesine ait kayıtların bulunduğu tablomda ilkinin daha outlier durduğunu görebiliyoruz.Dolayısıyla ilgili kayıtları tespit ederek veri setimden çıkardım.
Üstte bahsettiğim işlemler veri önişleme hazırlıklarını içermekteydi, tabi ki hepsinin üzerinden ayrılıkta geçemedim, yalnızca kendi vakamda kullandıklarımı anlatmaya çalıştım. Şimdi ise veri görselleştirme aşamasına geçerek konumuzla ilgili durumları daha net görmeye çalışalım.
Suç vakalarının gerçekleşme sayılarını tarihsel alanlar bazında görselleştirdim. Hangi ay ve günde daha fazla suç olaylarının işlendiğini görebiliriz.

Tarihsel alan bazında vaka sayıları

Bir sonraki görselleştirmede pivot tablodaki değerleri kullandım. İlgili tabloda polis coğrafi alanı ve yer tanımına göre işlenmiş suç vakaları sayını görebiliriz. Örnek: 421 numaralı polis coğrafi alanında 340 üzeri suç vakası apartman tipli yaşayış mekanlarında görülmüş.

Coğrafi alan ve yer tanımına göre vaka sayıları


Benzer işlemi saat ve ay bazında ele aldım. Örnek: Chicagoda kişilerin suça karıştığı en sık saat aralığı öğlen 12-1 ve akşam 18-19`dir. Ay olarak, benzer durum Temmuz, Mayıs ve Nisan aylarında yaşanmış.

Saat bazında vaka sayıları

Ay bazında vaka sayıları

Diğer görselleştirmemde ise genel olarak 2 ve üzeri alanlar arasındaki bağlantıları ele almaya çalıştım. Örnek: suç vakaları sayısı polis coğrafi alanları ve ay bazında görselleştirildi.

Polis coğrafi alanları ve Ay bazında vaka sayıları
Görselleştirme aşamasında dikat edilecek adımlardan biri de kategorik ve numerik veri tipli alanlara göre grafik seçim yapmaktır.
Fikirlere açık olduğum için lütfen çekinmeden fikirlerinizi yorum olarak bildirin ^_^

No comments:

Post a Comment