Sayfalar

pandas etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
pandas etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Cumartesi, Ocak 28, 2017

Türkiyede Terör

Kaggle da 'Global Terrorism Database' adında bir veri tabanı yayınlanmış. Dünya çapında 1970 - 2015 yılları arasında 150 binden fazla eylem hakkında bilgiler içeren bir çalışma olmuş. merkezi Maryland Üniversitesi'nde bulunan Terörizm ve Terörle Mücadele Çalışmaları için Ulusal Konsorsiyum (START) araştırmacıları oluşturulmuş ve devam ettirilmektedir.




Bizde bu veritabanından ülkemizde gerçekleşen eyemleri gösterelim dedik.



Teror from bluekid on Vimeo.


Yukardaki haritada 1970 den 2015 in sonuna kadar gerçekleşen eylemler harita üzerinde gösterilmiştir.

Veritabanında Türkiyede geçen  3557 eylem var. Bu eylemleri gerçekleştiren  90 örgüt var.  Faili meçhuller de var elbette.

Yıllara göre Gerçekleştirilen eylem sayısı ve ölümler


 En çok eylemin olduğu yıllar ve eylem sayıları

1992    514
2015    416
1994    300
1991    293
1990    195
2012    189
1977    189
1979    141
1995    133
1989    114
Eylemlerde ölen insan sayılarına baktığımızda yıllara göre  en yüksek 10

1992    1233.0
1994     982.0
1990     512.0
2015     490.0
1991     308.0
2012     248.0
1989     232.0
1995     189.0
1987     187.0
1999     127.0
Örgütler Eyemlerine göre sıralarsak Yüzde olarak


PKK % 45 ile en fazla eylem yapan örgüt olmuş. İşin ilginci ikinci sırada % 36 ile faili meçhul eylemler geliyor.

IŞİD 'in eylem sayısı yüzdesi az olduğuna bakmayın En kanlı eylemler sırasında PKK ile başa baş gidiyorlar.

Son olarak 10 ar yıllık periyotlarda göre yine harita üzerinden fakat Ölüm sayısına göre çember büyüklüklerini değişterek çizdirdiğimiz haritalara göz atın. ilk yıl dahil son yıl dahil değil şeklinde





Elbette son haritamızda mecburen 5 yıllık bir veri var. Ama malesef 10 yılları aratmıyor



Son olarak;  Biz burda Dünya çapında hazırlanmış genel bir veritabanı kullandık. Ülke yöneticilerimizin ulaşabilecekleri çok daha detaylı veriler olduğu aşikardır.
Malum ölçemediğiniz şeyi düzeltemezsiniz de, yönetemezsiniz de. Bi-zahmet inceleyip gereken çıkarımları yapsınlar

Not : Bütün işlemler python kullanılarak yapıldı. Kaggle daki sayfada örnekleri görebilirsiniz.  Bende ordaki kodlardan faydalanıp yazdım zaten. Patron duymadan alel acele bloga yazı yazdığımdan ipython-notebook 'u düzenleyip yayınlıyamadım. Kusuruma bakmayın.

Pazar, Temmuz 03, 2016

Python İle Yapay Zeka 1

Bu günlerde devamlı meşgul olduğumuz konu Python olduğunda onun ilgili yazılara devam ediyoruz.
Bu yazımızda Yapay Zekanın oldukça pratik bir alanı olan Makine Öğrenmesi -Machine Learning- üzerine basit bir örnek yapacağız.

Python dil özellikleri olarak oldukça kolay olduğundan, başka bir dili iyi bir şekilde bilen birinin zorlanmadan öğrenebileceği niteliktedir. Fakat zannımca dilin genişliği öğrenmedeki pekiştirmeyi geciktiriyor.

Pythonun öğrenmeyle, sadece giriş yapmış oluyorsunuz. Öğrenmeniz gereken devasa kütüphaneler var.  Devasa bir kaynakda İnternette var.  Malesef türkçe pek yok. Türkçe kaynak azlığından bahsetmişken bahsedeyim

 PyData  Python konusunda etkinliklerle tanınan Uluslararası bir topluluktur.  Dünyanın dör bir yanın da çok güzel organizasyonlar yapmaktalar. PyData - Ankara olarak Ayşe hanımın öncülüğünde önümüzdeki günlerde ilk etkinliği olacak
Introduction to Data Science Using Python and R
 Muhtemelen türkçe olmasını beklediğimiz :)  bu etkinliğe gitmeyi planlıyoruz -inşallah- İlgilenenlerin de katılımını bekliyoruz.  Bizden duyurması...


Neyse konumuza dönelim devasa kütüphanelerden bahsediyorduk. Biz bu yazımızda çok yaygın olan bir kaç tanesini kullanacağız.
  • Pandas : Verileri Aanlizi kütüphanesi ; okumak yazmak evirmek çevirmek vs...
  • Matplotlib : daha çok 2 boyutlu çizim ve grafikler görseleştirmeler için kullanılan bir kütüphane
  • Scikit-Learn :  Makine Öğrenmesi kütüphanesi
  • Numpy : n boyutlu dizi ve matrisleri kullanmak ve üzerinde hesaplamalar yapmanıza yarayacak bir kütüphane
  • IPython : Adım adım görerek python programı yazmanıza olanak veren sihir ! ;)
Örnek uygulama için şöyle giriş niteliğine uygun bir veri seti bulamamız lazım. Daha Önceki yazılarımızda da çok müracaat ettiğimiz kaynağa yöneliyoruz.
UC Irvine Machine Learning Repository
 Burda ufak bir aramayla "Occupancy Detection" veri setinde karar kılıyoruz.
http://archive.ics.uci.edu/ml/datasets/Occupancy+Detection+

Veriyi Anlamak

Problemi çözmenin ilk adımı veri setini anlamakdan geçer.

Verimiz Enerji tasarrufuna yönelik. Binalardaki ısıtma havalandırma ve iklimlendirme için kullanılan enerjinin talebe göre otomatik ayarlanmasıyla tasarruf edilmesi düşünülüyor. Özetle yapılmak istenen ; sensörlerden alınan bilgilerle o kısmın - odanın - kullanılıp kullanılmadığını tespit ederek, kullanılmadığında tassaruf moduna geçilmesi.
Veri setinin sayfasında da konuyla ilgili bağlantılar var. keza  ufak bir internet araması ilede

gibi çeşitli başka çalışmalara ulaşabilirsiniz.

Şimdi verinin içeriğine bakalım
  • Temperature : Sıcaklık ,
  • Relative Humidity : Bağıl Nem, %
  • Light : Aydınlık Sevyesi, Lux
  • CO2 : Karbondioksit Miktarı, ppm
  • Humidity Ratio : Nem Oranı , Sıcaklık ve Bağıl nemden hesaplanıyor
  • Occupancy : Ölçümün yapıldığı kısımda birilerinin olup olmaması, 0 kimse yok , 1 var
ilk 5 değeri kullanarak  son değişkeni tahmin eden bir sistem geliştireceğiz.



Veriyi Okumak

 Evet kodlamaya geçelim bakalım...
IPython NoteBook 'umuzu açıyoruz.

İlk önce lazım olan kütüphaneleri yüklüyoruz.


son satır IPython üzerinde matplotlib çizimlerinin gösterilmesi için



verilerimiz eğitim için datatraining.txt test içinde datatest.txt dosyalrında csv formatında tutuluyor.
pythonda pek çok şekilde okumamız mümkünsede. En rahatı olan pandas ile okuyoruz.
read_csv ile okuyoruz.

 columns ile okuduğumuz verinin sutun isimlerini görüyoruz.

describe ile sayısal değerler sahip sutunlar için ortalama, minimum, maksimum vb gibi istatistikler ayrı ayrı hesaplanır ve tablo olara size gösterilir.


head(n) ile verimizin ilk n satırının değerleri tablolarak gösterilir




Verimizin kullanmadığımız sutununu kaldıralım - drop - ve giriş  çıkış  değerlerini ayıralım.

1)  date sutununu siliyoruz.
2)  Occupancy sutununu çıkış verisini tutacağımız out_train değişkenine atıyoruz.
3)  Occupancy sutununu data_train den siliyoruz.

ve son aşama  Makine Öğrenmesi algoritmalarında veriler genellikle Numpy ndarray formatında istenir. Bu yüzden verilerimizi values ile numpy ndarray formatına çeviriyoruz.


Evet artık makina öğrenmesi kısmına geçebiliriz elbette test için kullanacağımız verilerede aynı işlemleri uyguladıktan sonra
Yazı baya uzamış burda keselim.
Devamı bir sonraki yazımıza....